Delphi - Segredos e Solues

CAPTULO 1

Iniciando

Este captulo traz uma viso geral sobre o Delphi e as idias por detrs
da programao Delphi. Voc ver tambm como  simples criar programas
Delphi. Os dois programas  descritos neste captulo apresentam o modelo
orientado por eventos e orientado a objetos que torna o Delphi to
poderoso. O que este captulo (e este livro) no  faz  mostrar como
instalar o Delphi, como inici-lo, como manusear janelas dentro do
ambiente Windows, e assim por diante - estamos presumindo que voc saiba
fazer  tais coisas. Entretanto, no estamos presumindo qualquer
experincia em programao Delphi ou Windows - apenas um nvel geral de
programao sofisticada que pode  ter tido origem em trabalho realizado
em qualquer outro ambiente.

NOTA: Os Interactive Tutors disponveis no menu Help representam uma
bela complementao ao material apresentado neste captulo.

Por Que o Windows e Por Que o Delphi?

Interfaces grficas de usurio, ou GUIs, tm revolucionado a indstria
da microcomputao. Elas demonstram que o provrbio "uma imagem vale por
mil palavras" no  perdeu sua veracidade. Em lugar do aviso enigmtico
C: > visto durante anos pelos usurios do DOS (e temido h tempos por
muitos), os usurios agora so apresentados  a uma rea de trabalho
cheia de cones e com programas que utilizam mouse e menus. A longo
prazo, talvez ainda mais importante do que a aparncia dos aplicativos
do Microsoft Windows seja o comportamento dos aplicativos desenvolvidos
para ele. Normalmente, os aplicativos Windows tm uma interface de
usurio consistente.  Isso significa que os usurios podem passar mais
tempo procurando dominar o aplicativo e menos tempo se preocupando com
que seqncia de teclas fazem o qu nos menus  e caixas de dilogo.
       Embora os programadores venham demonstrando h muito tempo
sentimentos confusos a respeito das GUIs, os usurios principiantes
parecem gostar delas, e por isso, espera-se que os programas Windows
baseiem-se no modelo GUI (e que tenham a aparncia e para Windows,
desejar uma ferramenta para desenvolver com eficincia aplicativos com
base em GUIs.
       Durante muito tempo no havia tais ferramentas. Antes do
lanamento do Visual Basic em 1991, o desenvolvimento de aplicativos
Windows era muito mais trabalhoso que o desenvolvimento de aplicativos
DOS. Os programadores tinham um excesso de itens co se encontrava dentro
de um menu, e se ele estava dando um clique ou um clique duplo em um
determinado local. O desenvolvimento de aplicativos Windows exigia
programadores em C, experientes e centenas de linhas de cdigo para a
tarefa mais simples. At os especialistas tinham problemas. (O ICit de
Desenvolvimento de Software para Windows da Microsoft exigido, em adio
ao compilador C, pesava cerca de 4,5kg.)

        O Visual Basic em suas trs primeiras verses comeou a mudar
esse processo; o Delphi vai revolucion-lo. Agora podem ser
desenvolvidos aplicativos Windows sofisticados em uma frao do tempo
necessrio anteriormente. Erros de programao (bugs) n descobrir e
corrigir. Colocado de forma simples: com o Delphi, programar para
Windows no se tornou apenas mais eficiente, mas tambm divertido (na
maior parte do tempo).
       Algumas das vantagens do Delphi sobre as trs primeiras verses
do Visual Basic so:

        * Os aplicativos desenvolvidos com o Delphi tm essencialmente a
mesma velocidade que aqueles desenvolvidos em C ou C++.
        * Com o Delphi voc pode construir os verdadeiros executveis
incluindo DLLs (sigla para Dynamic Link Libraries - Bibliotecas de
Ligaes Dinmicas - a  pedra fundamental da programao Windows).
        * Voc pode construir objetos reutilizveis seguindo os
paradigmas da programao orientada a objetos (veja o Captulo 6).

NOTA: Embora a verso cliente/servidor do Delphi no seja abordada neste
livro, o Delphi Client/Server tambm torna o desenvolvimento desses
aplicativos muito  mais fcil.


Como Desenvolver um Aplicativo Delphi

O primeiro passo ao desenvolver um aplicativo Delphi  planejar o que o
usurio enchergar - em outras palavras, projetar as telas. Por exemplo,
que menus voc deseja?  Que tamanho de janela o aplicativo deve
utilizar? Quantas janelas devem existir? O usurio deve ter condies
para redimensionar a janela? Onde voc colocar os  botes de comando em
que o usurio dar um clique para ativar os aplicativos? Os aplicativos
tero um lugar (caixas de edio e campos memo) onde colocar texto?

       No Delphi, os objetos que um programador coloca em uma janela que
ele est projetando so chamados de componentes. Voc comea com mais de
70 componentes   sua disposio, podendo depois acrescentar componentes
comprando-os ou criando-os voc mesmo.

        NOTA: Se voc tem alguma familiaridade com a programao
orientada a objetos (POO), ento deveria estar ciente de que os
componentes do Delphi so considerados  de fato objetos no sentido da
POO. (Veja o Captulo 6 para obter mais informaes a re encaixam-se nos
princpios da POO.)

         O Delphi partilha com o Visual Basic a facilidade com a qual
podemos projetar a tela. Voc literalmente desenha a interface do
usurio, quase como se voc  estivesse utilizando um programa de
pintura. Alm disso, ao terminar de desenhar a interfa janela vazia
reconhecero imediatamente aes do usurio como movimentos do mouse e
cliques dos botes. O Delphi tambm  acompanhado por um recurso de
projeto de  menu que torna muito simples a criao de menus normais e
suspensos e, ao contrrio do Visual Basic 3, o Delphi torna fcil a
reutilizao de quaisquer recursos  de interface que foram criados em
aplicativos anteriores.
       Apenas depois que voc projetar a interface  que ocorrer
qualquer coisa parecida com programao tradicional. Os componentes em
Delphi reconhecero eventos  como cliques do mouse; o modo como os
objetos respondem a eles depende do cdigo que voc respondam a eventos.
Isso torna a programao Delphi fundamentalmente diferente da
programao convencional orientada por procedimentos, como nas primeiras
verses  do Turbo Pascal.
       Os programas nas linguagens de programao convencionais seguem
de cima para baixo. Para as linguagens de programao mais antigas, a
execuo tem incio  na primeira linha e se desloca com o fluxo do
programa para partes diferentes, conforme neces diferente. O ncleo de
um programa Delphi  um conjunto de trechos de cdigo independentes que
so ativados por (e portanto respondem apenas a) eventos que eles  foram
ensinados a reconhecer. Essa  uma mudana fundamental. Agora, em lugar
de um programador projetar um programa para que ele faa o que o
programador acha que  ele far,  o usurio que est com o controle.
       O cdigo de programao em Delphi, que diz ao seu programa como
responder a eventos como cliques do mouse, comea dentro daquilo que o
Delphi chama de procedimentos  de eventos. Um procedimento de evento 
um bloco de cdigo executado apenas em res um programa Delphi
encontra-se em um procedimento de eventos ou  utilizado por um
procedimento de eventos para ajudar o procedimento a realizar seu
trabalho. De  fato, para enfatizar o ponto de que o Delphi 
fundamentalmente diferente das linguagens de programao normais, a
documentao utiliza o termo projeto, em lugar  de programa, para fazer
referncia  combinao do cdigo de programao com a interface de
usurio, to necessria para tornar um aplicativo Delphi possvel.
       Eis um resumo dos passos que voc executa para projetar um
aplicativo Delphi.
        1. Personalize as janelas que o usurio v.
        2. Decida quais so os eventos que os componentes da janela
devem reconhecer.
        3. Escreva os procedimentos de evento para aqueles eventos (e os
procedimentos auxiliares que fazem com que estes procedimentos de
eventos funcionem).

        Eis o que acontece quando o aplicativo est sendo processado:
        1. O Delphi monitora as janelas e os componentes de cada janela
para todos os eventos que cada componente pode reconhecer (movimentos do
mouse, cliques,  teclas pressionadas e assim por diante).
        2. Quando o Delphi reconhece um evento, caso no haja uma
resposta inerente para o evento, ele examina o aplicativo para ver se
voc escreveu um procedimento  de evento para aquele evento.
        3. Se voc escreveu um procedimento de evento, o Delphi executa
o cdigo que forma aquele procedimento de evento e volta ao passo l.
        4. Se voc no escreveu um procedimento de evento, o Delphi
aguarda o prximo evento e volta ao passo 1.

       Esses passos circulam continuamente at o aplicativo terminar. Em
geral, tem de ocorrer um evento antes que o Delphi possa fazer alguma
coisa. Os programas  orientados por eventos so mais reativos que ativos
- o que os torna mais amigveis ao usu
       Uma vez que a linguagem de programao do Delphi baseia-se em
Object Pascal,  fcil construir programas grandes utilizando-se de
modernas tcnicas modulares  e orientadas a objetos. O Delphi tambm
fornece um tratamento de erros sofisticado para a O compilador Delphi 
incrivelmente rpido - isto significa que quaisquer mudanas necessrias
para corrigir a programao da rotina e erros tipogrficos, to comuns
quando voc comea a construir um aplicativo, so imediatas. Ele tem um
sistema de ajuda on-line bastante amplo para referncias rpidas
enquanto voc est desenvolvendo  um aplicativo.

O Que  Preciso para Processar o Delphi

O Delphi  um programa sofisticado. Para trabalhar com o Delphi, voc
precisar do seguinte: * Pelo menos uma CPU 386 com 6MB de RAM.
(Realisticamente, voc vai querer um 486 rpido ou um Pentium e pelo
menos 8MB de RAM.) A edio cliente/servidor requer  8MB mas, na
verdade, ela precisa de pelo menos l6MB. * Um disco rgido com pelo
menos 3OMB livres. (Uma instalao completa da edio cliente/servidor
exige 9OMB!) * Um mouse ou um dispositivo apontador compatvel com um
mouse. * Microsoft Windows 3.1 ou posterior processando no modo
avanado.

NOTA: Embora voc possa processar Delphi 1.0 em Windows NT ou Windows
95, ele o faz apenas como um aplicativo de 16 bits.


Trabalhando com o Delphi

Nesta seo, voc ver um procedimento passo a passo que utiliza o
Delphi para construir dois programas. Um  uma modificao do programa
tradicional "Al Mundo",  o outro  um visualizador de mapa de bits. O
visualizador, particularmente, mostra a eficincia do Delphi no
desenvolvimento de aplicativos Windows - ele utiliza  apenas duas linhas
de cdigo! Em C e C++, a mesma quantidade de funcionalidade exigiria
algumas centenas de linhas.
       Quando voc inicia o Delphi, sua tela inicial ser parecida com a
Figura l. l. No prximo captulo, voc ver muito mais a respeito do
ambiente Delphi, mas,  no momento, talvez lhe seja mais fcil apenas
seguir os passos, sem se preocupar demais co
       Observe a janela vazia no centro da tela, que tem uma grade de
pontos. Este  o formulrio que voc personalizar. Voc utiliza a grade
para alinhar componentes  como botes de comando e caixas de lista na
tela (no Captulo 3, veremos mais a este r possa ser processado
independentemente do ambiente de desenvolvimento Delphi), os formulrios
transformam-se nas janelas vistas pelo usurio.
       Na parte superior do modelo em branco encontra-se a barra de
ttulo com seu ttulo. (Titulo  o termo Delphi para aquilo que aparece
na barra de ttulo do  formulrio. ) Na Figura 1.1, esse formulrio 
designado como Form 1, que  o ttulo padro  projeto novo.
        esquerda da janela Forml encontra-se o Object Inspector. (Se
voc no consegue v-lo, pressione F11 ou ALT-V,O para que ele seja
revelado.) O Object Inspector   utilizado para personalizar os diversos
componentes que sero colocados em um formul
       Por ora, concentre-se no formulrio denominado Form 1. Antes de
continuar, voc deve se sentir completamente  vontade com os mtodos
utilizados para mudar  o tamanho e a posio desse formulrio. Em muitos
aplicativos Delphi, o tamanho e a localiz chamado de tempo de projeto) 
o tamanho e forma que sero vistos pelo usurio em tempo de execuo.
Isso no significa dizer que o Delphi no permite que o tamanho  e a
posio do formulrio sejam alterados durante o processamento de um
projeto (veja o Captulo 4); de fato, uma propriedade essencial do
Delphi  a sua aptido  em realizar mudanas dinmicas em resposta aos
eventos do usurio.
        Uma maneira, que  comum a todos os aplicativos Microsoft
Windows, de redimensionar um formulrio  dar primeiro um clique dentro
do formulrio para que  ele fique ativo. (Voc sempre sabe quando uma
janela encontra-se ativa porque a barra de ttu ativos do formulrio. Em
um formulrio, os pontos ativos so os lados ou os cantos do formulrio.
O ponteiro do mouse muda para uma seta de duas pontas quando voc  se
encontra em um ponto ativo. Nesse momento, voc pode arrastar o
formulrio para mudar seu tamanho ou formato. Da mesma maneira, para
mover o formulrio, voc  pode dar um clique em qualquer lugar da barra
de ttulo e arrastar o formulrio para uma posio nova. O tamanho e a
localizao do formulrio so exemplos daquilo  que o Delphi chama de
propriedades do formulrio.
        
        Para iniciar o desenvolvimento do primeiro aplicativo exemplo,
faa o seguinte:
        l. Mude o tamanho, forma e posio padro do formulrio fazendo
a sua manipulao em um dos pontos ativos ou arrastando-o pela tela.
        2. Processe o projeto escolhendo Run no menu Run. (Quando voc
fizer isso, o Delphi cria, na verdade, um arquivo executvel em seu
computador e depois  faz seu processamento.)
         Observe que o que estamos vendo  uma janela Windows de
aparncia comum com o mesmo tamanho, formato e posio em que voc
deixou o formulrio no momento  do projeto.
       Em seguida, observe que, ao processar esse projeto novo, a janela
que aparece tem as caractersticas Windows padro como bordas
redimensionveis, uma caixa  de controle (no canto superior esquerdo), e
os botes de maximizao e minimizao (no cant do Delphi: seus
formulrios tornam-se janelas que j se comportam da maneira como
deveriam se comportar em Windows, sem voc precisar fazer nada.
       Volte ao ambiente de desenvolvimento pressionando ALT+F4.
(Observe que seu aplicativo responde automaticamente a esse procedimento
"padro" de fechar um aplicativo  Windows. Isso ilustra o ponto
importante de que, em muitos casos, sem voc precisar usurios do
Windows.)

Um Programa do Tipo "Al Mundo"

Agora vamos lhe mostrar como escrever um projeto que exibe "Al usurio
novo" na barra de ttulo de uma janela em branco em resposta ao clique
dado no mouse pelo  usurio. Vamos complic-lo um pouco fazendo a barra
de ttulo dessa janela comear com as palavras "Esperando por um
clique!".

        Eis os passos necessrios para isso:
        1. V at o Object Inspector e d um clique no item marcado
Caption, conforme mostrado aqui. (A palavra Form 1 deve ficar destacada
depois do clique.)
        2. Digite a sentena Esperando por um clique! na coluna da
direita do item Caption no Object Inspector.

        O que acabamos de fazer  chamado de estabelecer uma propriedade
do formulrio. Se voc processar o projeto (lembre-se que isto  o que
Delphi chama de um  aplicativo no estgio de desenvolvimento)
pressionando F9 ou escolhendo Run | Run, o que vo
        Observe que essa janela est completamente inerte: quer voc d
um clique ou um clique duplo, nada acontece. Observe novamente: se voc
utilizar o atalho  padro ALT+F4 para fechar um aplicativo Windows, o
projeto  encerrado e voc  devolvido ao Windows (e, portanto, dos
projetos Delphi)  tornar seus formulrios suscetveis s aes do
usurio, vamos fazer com que o ttulo mude em resposta a um clique do
usurio dentro do formulrio. Para fazer isso,  preciso escrever um
cdigo (de tamanho varivel). Para o nosso exemplo, conforme voc ver
em breve, ser suficiente  uma nica linha de cdigo.

Um Primeiro Procedimento de Evento

Para ilustrar a utilizao de um procedimento de evento, talvez seja
mais fcil comear com um projeto completamente novo. Para iniciar um
projeto novo, escolha  File | New Project e responda, com um clique no
boto No,  caixa de mensagem quando esta perguntar se voc quer salvar
as mudanas feitas em seu projeto atual.
       Mude o ttulo do formulrio para que seja "Esperando por um
clique!", utilizando as tcnicas que acabamos de descrever. Em seguida,
d um clique na aba Events  no Object Inspector. Em seguida, d um
clique duplo na coluna da direita da linha marcad Code Editor no topo da
tela. A sua tela deve se parecer com a Figura 1.3. Observe na Figura
1.3, que o modelo est coberto mas continua visvel. Se voc der um
clique  em qualquer lugar dele, voltar ao modelo e a janela Code Editor
ficar escondida - embora uma aba marcada Unitl marque seu lugar atrs
do modelo. (Em seguida, voc  pode dar um clique na aba Unitl para
revelar a janela Code Editor.)
       Observe, na Figura 1.3, o modelo do procedimento de evento
mostrado aqui. (Como com qualquer modelo, um modelo de procedimento de
evento fornece-lhe uma estrutura  onde trabalhar - neste caso, uma
estrutura onde escrever seu cdigo.)
        procedure TForm1.FormClick(Sender: TObject);
        begin
        end;
        end.

        Embora a sintaxe utilizada para os procedimentos de evento possa
parecer obscura, no se preocupe com isso agora. Ela ser explicada nos
Captulos 4, 5 e  6. No momento:
        1. Mova o cursor para a linha logo depois da palavra "begin".
        2. Digite a seguinte linha de cdigo: Form 1. Caption : = `Al
usurio novo'; (Observe que o ponto-e-vrgula no fim do cdigo 
necessrio.)

       A sua tela estar de acordo com a Figura 1.4. (Os programadores
em Visual Basic devem observar que o Delphi utiliza apstrofe em lugar
de aspas para as strings).  Processe o projeto agora pressionando F9) e
d um clique dentro do formulrio. Observ
       Termine o projeto e volte ao ambiente de projeto utilizando
ALT+F4 ou dando um clique duplo na caixa de controle.

Acrescentando um Componente

At aqui, nosso aplicativo no utiliza nenhum componente. Vamos
modificar o projeto introduzindo um boto de comando que muda o ttulo
depois de um clique. Tambm  vamos mudar o projeto de tal forma que se
voc der um clique em qualquer lugar que no seja o boto de comando,
aparece uma caixa de mensagem, informando que voc  deve dar o clique no
boto. Para fazer isso:
        1. V at a linha de cdigo que voc digitou e faa sua seleo
utilizando tcnicas de Windows comuns (um arrastar do mouse ou as teclas
SHIFT+SETA).

(Se o formulrio est visvel mas o cdigo no, d um clique na aba Unit
para voltar  janela Code Editor.).

        2. Substitua a linha de cdigo pelo seguinte:

        ShowMessage (Favor dar um clique no boto);

        Se voc decide processar o projeto neste ponto e d um clique
dentro do formulrio, aparecer uma pequena caixa de mensagem que tem a
seguinte aparncia.  D um clique no boto OK para fazer desaparecer a
caixa de mensagem.
        Evidentemente, ns ainda no acrescentamos o boto de comando.
Para fazer isso, volte ao ambiente de desenvolvimento utilizando ALT+F4.
(D um clique no formulrio caso ele no esteja visvel.) V at a
paleta Component (mostrada  aqui) e d um clique duplo no cone Boto
que est sendo apontado pelo cursor nesta ilustrao:
        Isso acrescenta um boto de comando ao centro do formulrio no
tamanho e formato padro. (O Captulo 3 vai Ihe mostrar como mover e
dimensionar componentes  e tambm trar mais informaes a respeito das
propriedades dos botes de comando. ) Por o de evento para o evento
OnClick para o boto, conforme mostrado aqui:
        Digite Forml.Caption:= Al novo usurio; na linha depois da
palavra "begin", conforme mostrado aqui:
        Se voc processar o projeto, ver que o aplicativo se comporta
conforme descrito anteriormente. Dar um clique no boto muda o ttulo,
dar um clique em qualquer  outro lugar resulta na caixa de mensagem!

Um Projeto Mais Poderoso

A seo anterior mostrou-lhe trs passos essenciais de desenvolvimento
no Delphi: acrescentar componentes  um formulrio, estabelecer
propriedades de objetos Delphi,  e escrever procedimentos de eventos
(simples). Vamos escrever agora um projeto bem mais sofisticado - que,
de forma surpreendente, no precisa essencialmente de  mais nenhum
cdigo. Esperamos que este projeto abra seu apetite pelo Delphi e
demonstre como realmente so poderosos os componentes fornecidos com o
Delphi.
         Nosso objetivo consiste em lhe mostrar os primeiros passos para
construir um visualizador de arquivo grfico. Utilizando alguns
componentes e algumas linhas  de cdigo, voc pode conseguir um
aplicativo Windows que exibir qualquer mapa de bits.  ou torn-lo
realmente amigvel ao usurio - mas, afinal de contas, este  apenas o
primeiro captulo!
        Assim, para comear, inicie um projeto novo selecionando File |
New.
        Desta vez, queremos acrescentar dois componentes ao formulrio
em branco: um componente Image para exibir grficos e um componente
Open-Dialog para exibir  a estrutura arquivo/diretrio. Para colocar um
componente Image no formulrio, d um clique no cone do componente
Image (parece com uma paisagem) que o cursor est apontando aqui:
        Em seguida, acrescente um componente OpenDialog dando um clique
na aba Dialogs da paleta de Componentes e depois d um clique duplo no
cone do componente  OpenDialog, conforme mostrado aqui:
        A sua tela deve estar igual  Figura 1.5. Observe que h um
cone de um envelope abrindo, envolto por um quadrado pontilhado.
        Agora temos que estabelecer as propriedades Filter do componente
OpenDialog para que apenas os arquivos com extenso. BMP, que indicam um
mapa de bit, sejam  mostrados. Assegure-se de que o Object Inspector
mostra que voc est trabalhando com o c
        Se ele no tem essa aparncia, d um clique dentro do cone
OpenDialog, conforme mostrado na Figura 1.5, para trabalhar com as
propriedades do componente  OpenDialog. Percorra o Object Inspector at
chegar  propriedade Filter desse componente. D (Voc tem de ter
certeza de que nenhum espao segue o smbolo "| " - normalmente este
smbolo encontra-se acima da barra invertida no teclado.) Isso informar
  caixa OpenDialog para exibir apenas os arquivos que terminam com bmp
(a conveno para mapas de bit). Em seguida coloque o texto `Escolha
mapa de bits' na coluna  da direita da propriedade Title.
        A propsito, se voc tentar processar o projeto agora, no
acontecer nada. A caixa OpenDialog precisa ser ativada para ser
exibida. Para ativar a caixa  OpenDialog, voc precisa utilizar uma nova
ferramenta do Delphi: um mtodo. Falando de forma  so, os mtodos
determinam o que eles fazem, e os eventos so, normalmente, aes
ativadas pelo usurio.
        O mtodo de que precisamos  chamado de Execute e ns o
colocaremos junto com a outra linha de cdigo de que precisamos dentro
do procedimento de evento  OnActivate para o formulrio. O procedimento
de evento OnActivate  um pouco incomum no senti que certamente ocorre
quando o projeto comea a ser processado.
        Para chegar ao modelo do procedimento de evento para OnActivate:
        1. D um clique em qualquer rea em branco no formulrio fora do
quadrado pontilhado. (Essa  uma maneira de mudar o Object Inspector
para trabalhar com  o formulrio; o prximo captulo mostra outros
mtodos.)
        2. D um clique na aba Events no Object Inspector.
        3. D um clique duplo na coluna da direita do evento OnActivate.

        Isso vai abrir o modelo de procedimento de evento para o evento
On-Activate. Coloque agora as duas linhas de cdigo seguintes para que o
seu modelo de procedimento  de evento fique assim:

        procedure TForm1.Activate(Sender: TObject);
        begin
        OpenDialog1.Execute;
        Image1.Picture.LoadFromFile(OpenDialog1.FileName);
        end;
        end.

        A est. Se voc processar esse projeto, ser apresentado a uma
caixa de dilogo Windows comum (com o ttulo "Escolha mapa de bits") que
se restringe a exibir  apenas os arquivos com extenso .BMP. Voc pode
navegar pelos diretrios em seus drives Abrir Arquivo no Windows.
Encontre um mapa de bits, d um clique em OK, e o Delphi exibir o mapa
de bits no formulrio.

        DICA: Voc encontrar um nmero grande de mapas de bit nos
diretrios sob C:\DELPHI\IMAGES.

          Evidentemente, isso no  de nenhum modo um aplicativo sem
erros: se voc der um clique em OK sem selecionar um mapa de bits (ou
at mesmo um clique em  Cancel sem selecionar um arquivo mapa de bits),
o aplicativo "quebra" (ocorre um erro). (Se  ou Run | Program Reset
quantas vezes forem necessrias - normalmente duas vezes so suficientes
- para voltar ao ambiente de desenvolvimento. )

       Apesar de sua fragilidade, este aplicativo mostra a voc vrias
tcnicas para desenvolver um aplicativo Delphi que ocorrero
repetidamente. As interfaces  e o cdigo ficaro mais sofisticados, mas
as idias de:
        *personalizar componentes mudando suas propriedades, e
        *personalizar seus comportamentos utilizando mtodos nunca
mudaro. Alm do mais, como voc viu aqui, os componentes no Delphi tm
muita funcionalidade embutida. Isso se tornar ainda mais claro  medida
que voc trabalha  com outros componentes.
 
