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:

Índice

  1. Criar Directórios
  2. Iniciar o Delphi
  3. Criar o Formulário Típico da Aplicação
  4. Guardar no Repositório
  5. Manipulação de Componentes de Formulário
  6. Começar uma Aplicação Nova
  7. Formulário de Clientes
  8. Guardar o Projecto
  9. Compilar o Projecto
  10. 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: 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: Para selecionar vários componentes de um formulário, há também vários métodos: 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)