|
Conhecendo o Delphi
O ambiente do Delphi
O Delphi oferece dois níveis de programação distintos. Existe o nível do que o
manual chama de designer, que se utiliza dos recursos de programação visual e
aproveita componentes prontos, e o nível do component writer, que
escreve os componentes para o designer utilizar nas aplicações. Podemos dizer
que o component writer programa em um nível mais baixo e o designer em um nível
mais alto. Para este curso, consideraremos a programação no nível do designer.
Quando ativamos o Delphi,
a tela inicial é parecida com a figura abaixo. Na janela superior, temos a barra
do menú principal do Delphi, à esquerda a SpeedBar, com as opções mais comuns e
à direita a paleta de
componentes. Estes componentes são a base da programação visual e é onde o
designer vai buscar recursos
para sua aplicação. Abaixo da SpeedBar, está a janela do Object Inspector, que
permite visualizar e modificar as
propriedades e eventos de todos os componentes. É também largamente utilizado
pelo designer. Abaixo da paleta ficam a janela de código-fonte e as janelas que
estão sendo construídas.

Elementos Visíveis
O ambiente de trabalho do Delphi é formado por objetos que estão visíveis tão
logo que o aplicativo seja iniciado
formando a área de trabalho.
Form
Os formulários (objeto Form) são os pontos centrais para o desenvolvimento
Delphi. Você se utilizará deles para
desenhar sua comunicação com o usuário, colocando e organizando outros objetos.
Estes objetos são arrastados da Component Palette, mostrada na janela
localizada acima.
Você pode imaginar que o
formulário é um objeto que contém outros objetos. Sua aplicação ficará
localizada em
um formulário principal e este interagirá com outros formulários criados. É
possível aumentar, mover ou ocupar
completamente a tela do monitor, ou até mesmo ultrapassá-la. Um formulário
básico inclui os seguintes componentes:
Controles de menu;
Botões de maximização e minimização;
Barra de título; e
Bordas redimensionáveis.
O código gerado, na área
conhecida como Code Editor, fica exatamente atrás do objeto formulário.
Clicando na barra de título dela (ou pressionando a tecla F12) ela é trazida
para a frente,, para permitir a edição do código.
É possível enviar um
formulário para a impressora, para isto existem duas maneiras:
1. Tipo um PrintScreen de
Tela, coloque o seguinte comando “[Nome do formulário].Print;” no evento
onShow do formulário; ou
2. Para imprimir um formulário no tamanho de um papel A4, através do uso de
comandos da biblioteca
Printer. Este recurso é mais avançado, e não está disponível nesta página agora.
Code Editor
O editor de códigos
providencia total acesso ao código gerado pelo projeto, incluindo alguns dos
mais poderosos
recursos para a edição. Pode ser selecionado tipos de cores para os elementos do
programa (como por exemplo
comentários, palavras reservadas, códigos assembler, ...) para tanto a partir do
menu principal entre em Tools |
Options..., localize a página Colors.
Para outras informações adicionais sobre o modo de usar este editor, procure
referências no Help OnLine no
tópico Code Editor.
Ao ser aberto um novo projeto, o Delphi gera automaticamente na página do Code
Editor uma Unit com o arquivo código (.PAS). Para ver o código de uma Unit em
particular, simplesmente Click na tabulação de página. O Code Editor
mostrará sempre o nome do arquivo corrente ativo na tabulação de página.
É possível alternar entre o objeto Form e a Code Editor através do
pressionamento da tecla F12, do botão botão
(Toggle Form/Unit) da SpeedBar, ou ainda através das opções do menu View |
Toggle Form/Unit. (curiosidade: o
acesso rápido através da tecla Alt + Letra sublinhada para esta opção está
marcado sobre a letra G)
Component Palette
Componentes (ou objetos)
são os elementos que você usará para trabalhar com a aplicação. Foram incluídos
objetos em várias páginas, tais como caixas de diálogos e botões, a palheta
inclui também alguns espaços em
branco para ser permitida a adição de novos objetos. Alguns objetos não serão
visíveis enquanto a aplicação
estiver executando, eles fazem parte do serviço da DDE (Dynamic Data Exchange).
Os objetos da palheta foram divididos em grupos de funcionalidade em diferentes
páginas. Por exemplo, os objetos que representam as janelas tradicionais do
Windows (tais como fontes, palheta de cores, ...) foram colocados na página
Dialogs da palheta.
Object Inspector
Providencia a conexão entre a interface visual e o código. É Composto por duas
páginas Properties (propriedades) e Events (Eventos) que mostrará
as propriedades e eventos do objeto selecionado.
Disponibiliza um fácil caminho para a personalização dos objetos. Você usará a
página de Propriedades para
personalizar os objetos colocados no formulário (inclusive o próprio
formulário), e a página de Eventos para
gerenciar a navegação entre certas partes do código do programa.
O seletor de objetos (Object Selector - localizado em um objeto do tipo ComboBox
no topo do Object Inspector)
mostra o nome e o tipo de todos os componentes do formulário corrente (inclusive
o próprio). Você pode usar o
seletor de objetos para localizar facilmente qualquer objeto no formulário.
SpeedBar
Contém os botões mais freqüentemente utilizados, é basicamente uma barra de
ferramentas rápida. Fornecendo deste modo um atalho de navegação ao menu
principal do Delphi.
É possível a personalização da SpeedBar colocando nela os caminhos do menu
principal que você mais utiliza,
bastando para isso:
1. Redimensione a SpeedBar. Para tanto posicione o cursor do mouse sobre o ponto
de encontro da
SpeedBar com a Component Palette conforme o desenho abaixo:
2. Quando o cursor do mouse mudar de formato, clique o botão esquerdo do mouse e
arraste abrindo a
área da SpeedBar.
3. Clique com o botão direito do mouse na área aberta, apareça um menu PullDown
contendo entre outras
opções a opção Properties, selecione-a.
4. As categorias e os comando são divididos de acordo com o menu, clique em cima
dos comandos
disponíveis e arraste-os para a área aberta de acordo com a sua necessidade,
para retirar os botões da SpeedBar faça o processo inverso.
Algumas Propriedades mais utilizadas:
Name: É
comum a todos os componentes da paleta. O Delphi nomeia automaticamente todos os
componentes que são incluídos no form (inclusive o proprio form). Usa o nome da
classe do componente mais um número
seqüencial. O nome atribuído pelo Delphi pode ser mantido, mas é aconselhável
renomear os componentes que
serão referidos no programa. Por exemplo, num certo programa dois botões são
referenciados no código, por exemplo, Button1 e Button2. Eles deveriam ser
renomeados, já que é feita referência a eles no código fonte, já para o Button3
não há necessidade por que não há referência a ele. Quando você renomeia um
componente, o Delphi atualiza automaticamente todo o código gerado pelo Delphi,
o que inclui o cabeçário da Unit, os eventos do componente e as propriedades de
outros componentes que fazem referência ao componente renomeado, mas não
atualiza o código gerado por você. Exemplo: se renomearmos agora o Button1, o
Delphi atualizará o cabeçário da unit, o nome dos eventos de Button1, mas você
terá que atualizar as referências que você fez ao Button1 com o novo nome. Aliás
esta é uma regra geral no Delphi: ele nunca modifica automaticamente o código
gerado pelo programador, mesmo que esteja em comentário.
Caption:
Todos os componentes que podem apresentar um rótulo tem esta propriedade.
Armazena a string que
será mostrada quando o componente for desenhado.
Left e
Top: Esquerda e Topo. Armazenam a posição do componente em relação ao
form ou painel que o contém. Movendo o componente, estas propriedades se
atualizam automaticamente, e alterando estas propriedades, o componente é
movido.
Height e
Width: Altura e comprimento do componente. Idem acima.
Font:
Permite selecionar tamanho e tipo da fonte que será usada para escrever o texto
no componente.
Color: Cor
do componente. Existe uma lista de cores padrão usadas pelo Windows e pelo
Delphi, mas é possível
definir qualquer cor através de seus componentes RGB.
TabOrder:
Ordem do componente no Form ou painel. Quando há vários componentes
selecionáveis no Form ou
painel, a tecla Tab permite navegar entre os componentes. Esta propriedade
define a ordem em que os
componentes são selecionados quando o usuário tecla Tab. Inicia-se a contagem a
partir do zero.
Hint:
(Dica) Este é um recurso muito útil e fácil de usar. Permite que apareça um
texto de ajuda quando o usuário posiciona o cursor do mouse sobre um componente.
Praticamente todos os componentes visuais podem ter Hint. Na propriedade Hint,
você deve digitar a frase que irá aparecer. Veja a propriedade abaixo.
ShowHint:
Ativa o hint para o componente. Se estiver desligado, o hint não é mostrado.
Alguns Eventos básicos:
OnClick: É gerado cada vez que o botão esquerdo do mouse é
pressionado e solto. O evento só ocorre quando o usuário libera o botão. O
Delphi já direciona o evento para o componente que está debaixo do cursor do
mouse.
OnDblClick:
Gerado quando é feito um duplo clique no botão esquerdo.
OnKeyPress:
Gerado quando o usuário pressiona (e libera) uma tecla no teclado.
OnEnter:
Gerado quando o foco de atenção do Windows “cai” sobre o componente. Exemplo:
Suponha uma tela
de entrada de dados, onde vários campos devem ser digitados. Quando a tela é
apresentada, o foco, ou o cursor de texto, está sobre o primeiro campo. Depois
de digitar o campo, o usuário pressiona Tab para passar para o campo seguinte.
Veja que o que passa para o campo seguinte é a atenção da aplicação e do
Windows. Essa atenção é chamada de foco, ou focus em inglês. Este evento é
gerado assim que o componente recebe o foco, antes de executar qualquer código
do componente.
OnExit:
Gerado imediatamente antes de o foco deixar o componente.
OnResize:
Gerado quando o tamanho do componente é alterado. É usado principalmente em
forms e painéis.
OnChange:
Gerado quando o valor do componente muda. Só é aplicado em componentes que
permitem edição de seu conteúdo, como por exemplo visualizadores de textos ou
campos de textos mesmo.
Alguns métodos úteis
Show: Desenha o componente. Se for uma janela (form) ela é
desenhada e ativada.
Close:
Fechar. Aplicado geralmente em forms e arquivos. Quando utilizado no form
principal, encerra a aplicação.
Repaint:
Repintar. Redesenha o componente ou form.
Refresh:
Tem o mesmo efeito que o Repaint, mas antes de desenhar, apaga o componente.
Quando aplicado em arquivos, faz com que o buffer do arquivo seja recarregado.
Create:
Aloca memória para criar um componente ou form, dinamicamente.
Free:
Libera a memória alocada com o Create.
Para iniciarmos poderíamos criar a versão Delphi do famoso “Hello Word”, mas
vamos partir para alguma coisa um
pouco mais interessante e aproveitar para apresentar uma propriedade que pode
ser útil no futuro. Como os
programas em Windows são orientados a eventos é comum desativar opções de menus
e botões, até que o
usuário ative as opções que o sistema precisa para inicializar. Neste primeiro
programa, vamos criar uma espécie
de gangorra eletrônica. Mas antes de começar, vejamos o que está acontecendo no
Delphi.
Se você acabou de abrir o
delphi, não entrou em nada e a tela está parecida com a figura do topo da
página, então não há nenhum projeto selecionado e o Delphi tomou a liberdade de
criar um novo projeto para você, chamando-o de Project1. Um projeto é a coleção
de arquivos necessários para compilar o sistema. Como toda aplicação precisa de
pelo menos um form (Form1), ele também foi criado. Finalmente, todo form tem uma
Unit correspondente que é mostrada no Editor de Código (Unit1). Não há problema
em utilizar esse projeto inicial que é oferecido pelo Delphi, mas é uma boa
idéia renomear e salvar o projeto o quanto antes. Se você não escolher outro
diretório, o projeto será salvo no diretório do Delphi e não é aconselhável
salvar todos os seus projetos no mesmo diretório. Portanto vamos começar este
programa criando um novo diretório para ele. Após isso, vamos seguir os
seguintes passos:
1. Selecione a
página Standard na paleta de componentes e clique no componente Buttom. A seguir
clique no
form. Um botão deve aparecer no form. Coloque mais dois botões.
2. Alinhe na horizontal os dois primeiros e coloque o terceiro logo
abaixo dos dois. Clique no botão e arraste para alinhá-lo, para movimentá-lo
para ourtra posição. Se quiser um alinhamento exato, use a opção Edit/Align...
do menu do Delphi. Para marcar mais de um componente, deixe o Shift pressionado
enquanto clica os componentes. Brinque um pouco com o tamanho dos botões e do
form.
3. Clique o primeiro botão para selecioná-lo, a seguir procure no Object
Inspector a propriedade Caption. Mude a string para “ON”. Para o segundo botão a
string é “OFF” e para o terceiro “Close”. Para o segundo botão, mude a
propriedade Enabled para False.
4. Neste ponto é uma boa idéia renomear e salvar o projeto. Escolha a
opção File/Save project as...Selecione o
diretório criado para o projeto e use o nome Main.pas para a unit1 e Gangorra
para o projeto.
5. Clique a área pontilhada do form e em seguida ache a propriedade
Caption no Object Inspector. Mude a string para “Gangorra”. Aproveite e mude a
propriedade Name para “fmMain”.
6. Dê um clique duplo sobre o primeiro botão. A janela de código será
ativada já com a função correspondente ao evento OnClick criada e posicionada
sob o cursor. Digite o seguinte código:
Button1.Caption := 'OFF';
Button1.Enabled := False;
Button2.Caption := 'ON';
Button2.Enabled := True;
7. Selecione a
janela do form e faça o mesmo com o segundo botão, mas o código fica invertido:
Button2.Caption := 'OFF';
Button2.Enabled := False;
Button1.Caption := 'ON';
Button1.Enabled := True;
8. Finalmente para
o terceiro botão o código é simplesmente:
Close;
9. Já podemos
executar o programa pressionando F9.
O que está acontecendo: O evento OnClick ocorre sempre que clicamos o mouse
sobre um componente. O Delphi se encarrega de determinar qual é o componente que
deve responder ao evento e direciona o evento para ele. Neste caso, usamos este
evento para ativar/desativar botões manipulando a propriedade Enabled, que
determina se o componente está ativo ou não. Quando o componente está inativo,
ele não responde aos eventos. Também usamos a propriedade Caption para mudar a
mensagem que aparece nos botões. Finalmente usamos o método Close do form para
fechar a aplicação.
Autor: Osmário de Carvalho
Santos Filho
Fonte: Curso de Delphi completo (executável)
URL:
http://www.tdownloads.hpg.com.br
Obs.: Este material foi adaptado por Marcos Elias @Mep Sites
|