Introdução às Aulas Práticas de
Programação
Este documento serve para introduzir o ambiente de
programação Delphi existente nas máquinas NT em
uso nos laboratórios de programação do DEEC.
Iremos ilustrar alguns passos necessários na
construção de uma pequena aplicação usando
Delphi 2.0 e a linguagem de programação Object Pascal da
Borland.
Pode ainda aprender mais acerca de Delphi, através do Help
disponível on-line:
- escolha "Contents" ou "Topic Search" no menu de Help
- escolha um item e pressione a tecla <F1> para obter ajuda
dependente do contexto
Índice
- Criar Directórios
- Iniciar o Delphi
- Criar o Formulário Típico da Aplicação
- Guardar no Repositório
- Manipulação de Componentes de Formulário
- Começar uma Aplicação Nova
- Formulário de Clientes
- Guardar o Projecto
- Compilar o Projecto
- Palavras Finais
1. Criar Directórios
Antes de começar tem de criar os directórios que
irão conter os ficheiros associados à
aplicação que vai desenvolver:
- a:\Delphi\ADG
- este directório servirá para guardar os ficheiros
associados à aplicação: project,
unit, forms, etc.
- a:\Delphi\MyObjRep
- este directório servirá como repositório de
objectos criados e usados como matrizes (templates).
2. Iniciar o Delphi
Para iniciar o Delphi pode seguir os processos habituais em Windows:
- double-click no icon Delphi 2.0
- uso do explorer ou do file manager para
encontrar o ficheiro DELPHI32.EXE, que poderá
estar em \Program Files\Borland\Delphi 2.0\Bin
- escolha de Run na barra de tarefas especificando o
caminho para o ficheiro DELPHI32.EXE
Para além da Palete de Componentes, aparecer-lhe-á um
formulário (form) em branco e o object
inspector com os atributos desse formulário.
3. Criar o formulário Típico da Aplicação
A aplicação que iremos desenvolver destina-se a guardar
a informação sobre a empresa "Ajuda Divina Global
(ADG)".
A primeira coisa que faremos é criar o formulário
típico a usar na aplicação que será
desenvolvida para esta empresa.
Alterar o nome do formulário
No object inspector altere o valor da propriedade name
para "ADGTypicalForm", pressione <ENTER> e verifique as
alterações visíveis no object inspector, no
título e no editor de código.
Alterar a legenda do formulário
No object inspector apague o valor da propriedade
caption e pressione <ENTER>.
Adicionar painéis de topo e de rodapé
Vamos colocar um painel no topo do formulário com o nome da
empresa e um painel em rodapé para botões de controlo.
Seleccione o componente Panel da palete com "shift-click"
e crie dois painéis no formulário.
O painel do topo deve ter nome "TopPanel" e legenda vazia; a
propriedade align deve ter o valor alTop, para
que o painel fique colado ao topo do formulário.
Introduza um label no painel de topo com alinhamento à
esquerda, legenda contendo o nome da empresa e fonte Arial Bold
Italic em 20 pontos.
O painel de rodapé deve ter nome "BottomPanel" e legenda vazia; a
propriedade align deve ter o valor alBottom por forma a
ficar colado ao rodapé do formulário.
Os atributos BevelInner e BevelOuter devem ter valor
bvNone para que o painel se confunda com o fundo.
Introduza um botão no painel de rodapé com nome
"ExitButton", legenda "Terminar" e posicionado próximo do canto
inferior direito do rodapé (altere os valores das propriedades
Left e Top).
Figura 1: Botão "Terminar"
Escrever código para o botão "Terminar"
Para colocar instruções que serão executadas
quando o botão "Terminar" fôr pressionado,
double-click no botão e aparecer-lhe-á o editor
de código.
Figura 2: Código para o botão "Terminar"
4. Guardar no Repositório
Vamos guardar no repositório de objectos uma cópia do
formulário criado até agora; assim ele poderá ser
usado como base para outros formulários desta
aplicação.
Guardar o código fonte
Escolha "Save as..." no menu File, "navegue" até
ao directório a:\Delphi\MyObjRep e guarde o
código fonte como "ADGTipico".
Adicionar um objecto ao Repositório
Selecione o formulário, "right-click" no fundo e escolha "Add to
Repository" no menu.
Preencha o título com "ADG formulário típico", a
descrição com, por exemplo, "Base de todos os
formulários ADG" e coloque-o na página "Forms" (onde
aparecerá quando mais tarde escolher "New..."); o valor do
atributo autor também pode se preenchido.
Quando terminar estas alterações pressione o
botão <OK> para guardar este objecto no repositório.
Fechar o Projecto
Para fechar este projecto escolha "Close All" no menu "File";
não é necessário guardar este projecto uma vez
que apenas o objecto colocado no repositório será usado
mais tarde.
5. Manipulação de Componentes de
Formulários
Vamos nesta secção referir brevemente as principais técnicas de
manipulação de formulários.
Adição de componentes
Para adicionar componentes a um formulário basta fazer
double-click no componente, na palete de componentes.
Em alternativa, pode clicar no componente na palete de componentes, mover o
cursor para o ponto do formulário onde quer colocar o componente e
clicar outra vez.
O tamanho dos componentes pode ser alterado, posteriormente, ou na altura da
inserção.
Nota: Quando se adicionam componentes a formulários, o Delphi gera uma
variável de instância, ou campo, para o componente e
adicionana-a à secção de declarações de
tipos.
Por exemplo, adicionando um botão, com nome "Botao", ao
formulário "AboutBox":
type
TAboutBox = class(TForm)
Botao : TButton; { acrescentado pelo Delphi }
end;
Selecção de componentes
Para selecionar um componente de um formulário, há vários métodos:
- clicar no componente
- escolher de dentro do Object Selector localizado no topo do
Object Inspector
- dentro do formulário, tabular até ao componente
Para selecionar vários componentes de um formulário, há também
vários métodos:
- "shift-click" nos componentes, um de cada vez
- "drag" à volta dos componentes a seleccionar; para componentes dentro
de painéis ou "Group Boxes" pressione <CTRL> e depois "drag"
Para selecionar todos os componentes de um formulário escolha "Select All"
no menu "File".
Propriedades de componentes
Num formulário podem ser alteradas várias propriedades, incluindo o nome
dos componentes.
O nome é extremamente importante pois vai ser usado no código Object
Pascal da aplicação.
O nome tem de ser único dentro da aplicação.
A escolha de nomes com significado para a aplicação melhora muito a
legibilidade do código e, assim, facilita a manutenção.
Agrupamento de componentes
Para além do formulário, em Delphi existem outros "contentores" que
podem conter outros componentes: GroupBox, Panel,
ScrollBar e outros.
Os componentes de um contentor comportam-se como uma unidade lógica.
Sempre que se colocam componentes dentro de contentores, criam-se
relações pai-filho entre o contentor e os seus componentes.
Operações aplicadas aos contentores (como por exemplo copiar
ou apagar) afectam também os seus componentes.
Cut, Copy e Paste
Componentes podem ser cortados ou copiados de um formulário para outro,
ou entre um contentor e um formulário.
Quando se copiam componentes, são também copiadas todas as propriedades e
event handlers (código) associados ao componente.
Estas operações estão disponíveis no menu
"Edit" nas entradas "Cut", "Copy" e "Paste".
Apagar componentes
Para apagar um componente basta seleccioná-lo e depois pressionar
<DEL> ou escolher "Delete" no menu "Edit".
Escolhendo "Undelete" no menu "Edit" será restaurado o último
componente apagado.
Alinhamento de componentes
Os componentes podem ser alinhados em relação uns aos outros ou em
relação ao formulário.
Para alinhar componentes, devem selecionar-se e depois usar a palete de
alinhamento, que surge quando se escolhe "Alignment palette" no menu
"View".
Os componentes também podem ser alinhados escolhendo "Align" no
menu "Edit".
6. Começar uma Aplicação Nova
Para criar um novo projecto, selecione "New Application" no menu "File" .
Apagar formulário e Código
Nesta aplicação os formulários vão ser
baseados no formulário típico construído
anteriormente.
Por isso, o formulário (e código associado) dado por
omissão pelo Delphi não é necessário e
deve ser removido.
Selecione "Project Manager" no menu "View" e apague "Form1" do
projecto; não é necessário guardar.
Criar o Formulário Principal
Vamos começar por construir o formulário central da
aplicação: "ADGHomeForm".
Selecione "New..." no menu "File", a entrada para Forms e o
botão inherit em baixo.
Selecione o ícone "ADG Formulário Típico" e
pressione <OK> para validar.
Altere o nome do formulário para "ADGHomeForm" e a legenda para
"Ajuda Divina Global, Controlo Central".
Adicionar o Botão de Clientes
Para além dos componentes herdados do formulário
típico da aplicação, podemos agora juntar, apagar
ou modificar, componentes contidos neste formulário.
Coloque um botão dentro do painel de rodapé junto ao
canto inferior esquerdo.
Altere o nome para "CustomersButton" e a legenda para "Clientes".
Figura 3: Botão de "Clientes"
Escrever o código para botão de Clientes
Para colocar instruções que serão executadas
quando o botão "Clientes" fôr pressionado,
double-click no botão e aparecer-lhe-á o editor
de código.
Figura 2: Código para o botão de "Clientes"
Quando este botão fôr pressionado será mostrado o
formulário "DisplayCustomersForm": este formulário
será construído mais à frente.
Adicionar o Botão de Pagamentos
Adicione ao painel de rodapé, à direita do botão
"Clientes", um novo botâo, com nome "TermsButton" e legenda
"Pagamentos".
Figura 5: Botão de "Pagamentos"
Quando este botão fôr pressionado deverá ser
mostrado o formulário "DisplayTermsForm"; este formulário
será construído mais à frente.
Guardar o código fonte
Selecione o formula´io "ADGHomeForm e escolha "Save" no menu
File, "navegue" até ao directório
a:\Delphi\ADG e guarde o código fonte como "ADGHome".
7. Formulário de Clientes
Vamos agora construir o formulário "DisplayCustomerForm", que o
botão "Clientes" vai mostrar.
Selecione "New..." no menu "File", a entrada para Forms e o
botão inherit em baixo.
Selecione o ícone "ADG Formulário Típico" e
pressione <OK> para validar.
Altere o nome do formulário para "DisplayCustomersForm" e a
legenda para "Contactos de Clientes".
Use o rato para posicionar o formulário ligeiramente à
direita e em baixo do formulário "ADGHomeForm" para que ele
apareça nessa posição quando o botão
"Clientes" fôr pressionado.
Adicionar Caixa de Edição
Selecione uma caixa de edição (edit box) e
coloque-o no painel de topo, próximo do canto direito.
Altere o nome para "FilterText", apague o valor da propriedade
Text e coloque a largura (Width) a 80.
Adicionar Checkbox
Selecione uma checkbox e coloque-a no painel de topo à
esquerda de FilterText.
Altere o nome para "FilterToggle", a legenda para "Filtrar ?" e o
alinhamento para LeftJustify.
Figura 7: Colocação dos Componentes
Completar o projecto
Para este projecto estar completo seria necessário finalizar o
formulário "DisplayCustomerForm" e construir o
formulário de pagamentos ("DisplayTermsForm").
Nesta introdução ao ambiente das aulas práticas
da disciplina de programação, ficaremos por aqui.
8. Guardar o Projecto
Para guardar o projecto selecione "Save All" no menu "File".
Guarde o projecto com o nome "ADGCC".
9. Compilar o Projecto
Chegou o momento da verdade!
Escolha "Run" no menu "Run", pressione a tecla <F9> ou pressione
o botão "Run".
Figura 8: O momento da verdade
O Compilador encontrou um erro!
Esquecemo-nos de especificar que o formula´io ADGHomeForm
faz referência ao formulário DisplayTermsForm.
O compilador lembra-nos isso e até se oferece para colocar no nosso
código a instrução do ObjectPascal necessária.
Sucesso!
Parabéns, conseguiu compilar com susesso a sua primeira
aplicação em Delphi!
10. Palavras Finais
Uma aplicação em Delphi é constituída por
uma interface elaborada e, normalmente, não tem necessidade de
usar algoritmos muito elaborados.
A aplicação necessita, prioritariamente, de reagir
à ocorrência de eventos com acções
simples, como seja o encadeamento de formulários.
Nas aulas práticas da disciplina de Programação
pretende-se transmitir as técnicas básicas do uso de uma
linguagem de programação de alto nível e, por isso,
o ênfase é outro.
Serão referidas as estruturas de dados básicas, as
estruturas de controlo, o uso de ficheiros para conseguir dados
persistentes, unidades e gráficos.
Estes conhecimentos são, de facto, independentes da linguagem
utilizada e constituem as bases para a construção de
algoritmos para a resolução de problemas.
Comentários serão muito
benvindos
João Correia Lopes
([email protected]).
Last modified: Sun Sep 28 19:41:42 1997
J. Lopes Home page
Página da disciplina (LSGBD)