0
_______________________________________________________________________ Profa. Gilene B. Gomes ______
4. AMBIENTE DE PROGRAMAO
4.1. ESTRUTURA DE PROJETOS
No Delphi o programa principal tem extenso DPR. Um DPR o cdigo de programa,
tambm denominado de projeto, a partir do qual o desenvolvedor construir sua aplicao. a partir
deste projeto que ser gerado o cdigo executvel (EXE). Grande parte do cdigo, no entanto, fica
armazenado em UNITs com extenso PAS, onde esto o cdigo fonte referente aos formulrios.
O projeto pode ser visualizado atravs da opo do menu Project | View Source. Sua
estrutura aparece na janela Code Editor e pode-se verificar que muito semelhante ao programa
principal do antigo Turbo Pascal.
A implementao mnima de um projeto prev, na grande maioria das situaes, o uso
(clusula Uses), a inicializao da aplicao (comando Application.Initialize), a criao dos
formulrios (comando Application.CreateForm) utilizados na mesma e a execuo do projeto
(Application.Run).
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Estrutura bsica de um projeto.
Descrio
Arquivo de projeto, onde so indicados as Units e o cdigo de inicializao do
programa
PAS
Cdigo fonte de uma Unit do projeto
DCU
Unit compilada
DFM
Definio visual de um Form. O cdigo fonte est na Unit com o mesmo nome
DOF
Opes de configurao para o projeto
RES
Recursos do projeto, com o cone do programa
~PA, ~DF, ~DP Arquivos temporrios
DSK
Configuraes de Desktop
__ www.gomeshp.com _________________________________________________________________________
17
18
Abre um dilogo com novos itens que podem ser adicionados ao projeto
Adiciona um novo formulrio ao projeto
Abrir projetos pode abrir tambm Units, Forms e texto no editor de cdigo
Salva o arquivo aberto no editor de cdigo
Salva o projeto com outro nome ou local
Salva o projeto e todas as Units deste projeto
Faz com que a Unit atual possa usar outra Unit do projeto
Adiciona uma Unit em disco ao projeto
Remove uma Unit do projeto
4.5. AJUDA
O sistema de ajuda do Delphi a referncia mais completa, seguida pelos manuais do usurio
cedidos com o sistema. Se quiser ajuda sobre um componente, selecione-o e aperte F1, o mesmo
pode ser feito com propriedades e eventos, no Object Inspector e comandos, no editor de cdigo.
__ www.gomeshp.com _________________________________________________________________________
19
5. BIBLIOTECA DE CLASSES
5.1. NOMENCLATURA
Para nomear os componentes podemos usar uma conveno muito utilizada, onde as
primeiras letras, minsculas, identificam o tipo do componente e o restante identifica a funo deste,
assim, btnSair, seria o boto de sair.
Se a funo do componente for um nome composto esse nome deve ser escrito com os
primeiros nomes abreviados e com letras de caso varivel, como em btnRelVendas, que seria o
boto do relatrio de vendas ou btnRelVenProduto, que seria o boto do relatrio de vendas por
produto.
5.2. PROPRIEDADES
As propriedades so caractersticas dos componentes, como foi mostrado anteriormente. Para
alterar propriedades em cdigo use a sintaxe de ponto, como mostrado abaixo.
__ www.gomeshp.com _________________________________________________________________________
20
Nome
Align
Caption
Name
Left
Top
Height
Width
ComponentCount
Components
Color
Font
Enabled
Visible
Hint
ShowHint
PopupMenu
TabOrder
TabStop
HelpContext
Tag
Descrio
Determina o alinhamento de controle
Legenda do componente (com o &, indica atalho)
Nome da instncia do componente
Posio esquerda
Posio superior
Altura do componente
Largura do componente
O nmero de componentes possudos
Uma matriz de componentes possudos
Indica a cor do componente
Indica a fonte (letra) a ser usada no componente
Indica se o componente est ativado ou no
Indica se o componente est visvel ou no
String utilizada para dicas instantneas
Mostra ou no as dicas instantneas
Menu que ser mostrado com o click do boto direito do mouse
Define a ordem de tabulao do componente (tecla TAB)
Indica se o componente ser ponto de parada para a tecla TAB
Nmero utilizado para chamar o help sensvel ao contexto
Contm um nmero inteiro, que pode ser a identificao do componente
Bytes
1
2
4
Byte
Word
Booleanos
Boolean
ByteBool
1
2
Bytes
1
1
Faixa
-128 a 127
-32768 a 32767
-2147483648 a
2147483647
0 a 255
0 a 65535
Faixa
1 byte booleano
Byte - sized
Booleano
Reais
Real
Single
Double
Bytes
6
4
8
Faixa
2,9.10-39 a 1,7.1038
1,5.10-45 a 3,4.1038
5.10-324 a 1,7.10308
Extended
Comp
Booleanos
WordBoll
LongBoll
10
8
Bytes
2
4
3,4.10-4932 a 1,1.104932
-263+1 a 263-1
Faixa
Word - sized Booleano
Double - word - sized
Booleano
__ www.gomeshp.com _________________________________________________________________________
21
Valor1 : Real;
Elas podem ser declaradas em trs locais diferentes, conforme a sua abrangncia:
Varivel Local; ela ser utilizada somente pelo procedimento onde est declarada; terminado
o procedimento ela desaparecer da memria. declarada logo aps o cabealho do procedimento.
Varivel de Unidade (Unit); a varivel ser utilizada por todos os procedimentos e funes
da unidade. declarada logo aps a palavra reservada implementation.
Varivel de projeto; a varivel que poder ser utilizada por toda a aplicao, ou seja,
poder ser utilizada por outras unidades. declarada na seo interface da unidade.
5.4. MTODOS
Os mtodos so as aes realizadas pela classe, ou seja, so as funes s quais esto
associados os comportamentos da classe.
Descrio
Cria uma nova instncia do objeto
Destri a instncia do objeto
Torna o componente visvel
Torna o componente invisvel
Coloca o foco no componente
Determina se o componente est com o foco
Coloca o componente na frente dos demais
Coloca o componente atrs dos demais
Gradua o componente em determinada escala
Muda a posio e o tamanho do componente
5.5. EVENTOS
Os eventos so blocos de comandos que associam a ocorrncia de alguma atividade a uma
ao a ser tomada. O Delphi possui mais de 130 eventos pr-definidos, que esto associados
ocorrncia de aes, nas mais diversas classes.
__ www.gomeshp.com _________________________________________________________________________
22
Descrio
Ocorre quando o programa ativa o objeto pela primeira vez, ou quando se
retorna de um outro aplicativo.
Ocorre quando muda o contedo de um objeto.
Ocorre quando o usurio d um clique no boto esquerdo do mouse.
Ocorre quando o objeto fechado.
Ocorre quando o objeto criado.
Ocorre quando feito um duplo clique com o boto esquerdo do mouse.
Ocorre quando se sai do objeto.
Ocorre quando se elimina um objeto.
Ocorre quando um objeto arrastado para outro objeto e solto.
Ocorre quando um objeto arrastado para cima de outro objeto.
Ocorre quando se abre um objeto ComboBox ou ListBox.
Ocorre quando o objeto recebe o foco.
Ocorre quando ocorre um erro de execuo na aplicao.
Ocorre quando o objeto perde o foco.
Ocorre quando solicitada a abertura de um arquivo de ajuda.
Ocorre quando o objeto passa a ser oculto.
Ocorre quando o usurio pressiona uma tecla, incluindo Shift, Alt e Insert.
Ocorre quando o usurio pressiona uma tecla ASCII.
Ocorre quando o usurio solta uma tecla.
Ocorre quando se minimiza uma janela.
Ocorre quando o usurio clica em um boto do mouse e o cursor
posicionado sobre a rea clicada.
Ocorre quando o usurio move o cursor dentro da rea selecionada.
Ocorre quando o usurio solta um boto do mouse.
Ocorre quando se ativa um menu popup com o boto direito do mouse.
Ocorre quando se muda o tamanho do objeto.
Ocorre quando se restaura uma janela que foi minimizada.
Ocorre quando uma aplicao inicia sua execuo.
Ocorre antes que o objeto se torne visvel.
Ocorre em intervalos peridicos de tempo.
__ www.gomeshp.com _________________________________________________________________________
23
5.6. VCL
Por ser uma linguagem
de
programao
orientada a objetos o
Delphi possui uma biblioteca de classes denominada de VCL (Visual
Component Library), para
auxiliar na construo de
programas.
A
biblioteca
de
classes do Delphi pode ser
visualizada no Browser (no
menu
principal acesse
View - Browser).
Caixa de dilogo: Exploring Classes.
No Delphi existem:
CLASSES VISVEIS - As classes visveis so aquelas que podem ser manipuladas atravs
da paleta de componentes, ou seja, so os prprios componentes.
CLASSES NO-VISVEIS - As classes de componentes no visveis oferecem controles
especializados que no so possveis ou necessrios atravs da interface visual. As classes
no visveis mais comuns so a TApplication, a TScreen e a TPrinter.
5.6.1. TApplication
Quando se inicia um projeto em Delphi, automaticamente criada uma varivel Application que
do tipo TApplication. Esta classe permite a interao de sua aplicao com o Windows.
A atribuio de valores s propriedades do TApplication pode ser feita apenas em tempo de
execuo, ou durante o desenvolvimento do projeto na opo do menu Project - Options.
Os principais mtodos da classe TApplication so:
Nome
Run( )
Terminate( )
HelpCommand( )
Descrio
Faz com que a aplicao seja executada, sendo colocado
automaticamente no cdigo fonte do projeto (View - Project Source).
Encerra a aplicao.
Carrega o arquivo de help da aplicao.
__ www.gomeshp.com _________________________________________________________________________
24
Descrio
Contm o form principal da aplicao;
Contm o ttulo da aplicao quando a mesma est minimizada;
Armazena o nome do arquivo de Help da aplicao;
Contm o cone que representa a aplicao.
5.6.2. TScreen
Quando se inicia um projeto em Delphi, automaticamente criada uma varivel Screen que
do tipo TScreen. Esta classe contm as caractersticas da tela na qual a aplicao est rodando.
Algumas das principais propriedades da classe TScreen so:
Nome
Cursor
Cursors
Fonts
Forms
Height
Width
Descrio
Contm o cursor que est em uso;
Contm a lista dos cursores disponveis para a aplicao;
Contm a lista de fontes disponveis para a aplicao;
Contm a lista de forms da aplicao;
Contm a altura da tela (em pixels);
Contm a largura da tela (em pixels).
5.6.3. TPrinter
Quando se inicia um projeto em Delphi, automaticamente criada uma varivel Printer que
do tipo TPrinter. Esta classe contm as caractersticas da impressora padro que est sendo
utilizada pelo Windows, alm de permitir a impresso. Para a impresso de dados utilizando o
TPrinter necessrio utilizar a classe TCanvas.
__ www.gomeshp.com _________________________________________________________________________
25
6. EXERCCIOS
1. CONCATENAR DUAS STRINGS
Para
o
evento
OnClick do boto
Concatenar,
faa
com que o Label4
receba a juno do
que foi digitado no
Edit1 e Edit2.
Para
o
evento
OnClick do boto
Limpar, faa com
que os componentes: Edit1, Edit2 e
Label4 fiquem sem
contedo.
__ www.gomeshp.com _________________________________________________________________________
26
Abra uma nova aplicao. Menu File / Opo New / Opo Application.
Para o evento OnClick do boto Calcular, deve-se fazer a soma dos nmeros digitados e mostrar
o resultado no Label3.
__ www.gomeshp.com _________________________________________________________________________
27
Abra uma nova aplicao. Menu File / Opo New / Opo Application.
Execute o projeto (F9); depois salve a unit como U_4oprograma.pas e o projeto como
P_4oprograma.dpr.
Modifique os nomes dos componentes listados a seguir; estes sero os nomes dos componentes
utilizados durante a programao.
Componente
Edit1
Edit2
Edit3
Name
edtHT
edtVH
edtPD
Componente Name
Button1
btnSL
Label5
lblSL
__ www.gomeshp.com _________________________________________________________________________
28
Execute o projeto (F9) e note que o salrio ficou apresentado em notao cientfica, como na
figura abaixo a esquerda.
Para que o salrio seja apresentado com duas casas decimais, como na figura acima a direita,
deve-se alterar a seguinte linha de comando: Str ( SL:8:2, Resultado );
Este comando formata a varivel de SL com oito espaos e duas casas decimais.
No evento OnClick do btnFechar; inclua o comando abaixo, para que a aplicao seja finalizada
quando o boto for clicado.
__ www.gomeshp.com _________________________________________________________________________
29