Você está na página 1de 180

 Como por imagem na StatusBar ?

Mostrando imagens na barra de status.

Clique duplo sobre a StatusBar, ser


aberta a tela ao lado, clique no
primeiro cone amarelo 5 vezes ( Add
New criar 5 divises. Na primeira,
terceira e quarta diviso da StatusBar
defina a propriedade Style para
psOwnerDraw, para mostrar a
imagem.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 632


 Como trocar papel de parede ?
Este mais um cdigo ( programa ) para trocar papel de parede. Insira um componente Picture e um
OpenPictureDialog.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 633


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 634
 Como clicar em uma determinada imagem ?

Observe esta imagem, as


propriedades ainda no
foram definidas, de
acordo com o item 3.

 Insira um formulrio. File New Form.


 Insira um componente Image ( aba Additional ), clique na propriedade picture e insira uma imagem do
tipo .bmp ( bitmap ).
 Insira 3 componentes Shape ( aba Additional ). No canto superior esquerdo h uma imagem, faa um
retngulo sobre esta imagem usando um componente shape, clique na propriedade +Brush, Color deve
ter o valor clWhite, Style = bsClear, clique em +Pen, clique em Style e defina psClear, isto para deixar
a borda do componente Shape invisvel.
 Clique no primeiro Shape que foi armado sobre a primeira imagem, clique no evento OnMouseDown e
digite:

Thank You
Lo r d
For My
Two
Lovely
Blessed Sons
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 635
 Rave  Criando relatrio
No artigo anterior apresentei minhas experincias com ferramentas de relatrios para desenvolvimento de
projetos Delphi. Neste estarei apresentando os componentes da paleta RAVE e, no prximo, partirei para a
prtica da construo de relatrios usando essa ferramenta.

Ficou bastante claro que essa sute de componentes se distingue das demais pelo fato de possibilitar um
desenvolvimento estritamente baseado em cdigo de programao Delphi.

Essa tcnica, apesar de trabalhosa, bastante flexvel, pois possibilita ao programador mais experiente
desenvolver seus prprios mtodos de criao de relatrios, sem muita dependncia dos recursos
disponibilizados pelo ambiente
grfico da ferramenta.

Porque utilizar o desenvolvimento em cdigo runtime?

Imagine a seguinte situao:

Preciso montar um Relatrio de Vendas e apresente o movimento dirio por Cidade e por Vendedor.
Seu layout dever obedecer aos seguintes critrios de impresso:

As vendas de segunda-feira quarta-feira ficaro esquerda do relatrio na


cor azul.
As vendas da quinta-feira e sexta-feira, sero impressas direita na cor verde.
As vendas do sbado sero impressas numa folha individual.
Na ltima pgina dever ser emitido um resumo semanal de vendas.
Vendedores sem vendas no perodo devero estar em negrito.
Experimente montar esse relatrio usando queries SQL em um ambiente de criao de relatrios
visuais(!): Pode at ser que voc consiga faz-lo, mas garanto que ir gastar muito mais tempo que o
seu equivalente devidamente codificado em Delphi.

Os pessimistas diro que estou sendo extremista. Claro, estou... as dificuldades que o desenvolvedor enfrenta
na construo de projetos corporativos costumam ser maiores e os prazos cada vez menores! Esta a nossa
realidade. Estaremos sempre nos deparando com questes de difcil e trabalhosa soluo. Precisamos aplicar
a ferramenta certa para cada problema. No existe uma ferramenta mgica que atenda a uma
heterogeneidade de propsitos.

Se a construo de relatrios difceis um dos seus problemas, ento, com certeza, o RAVE veio para
facilitar bastante o seu trabalho de desenvolvimento.

Quem o RAVE?

A incorporao do RAVE pelo Delphi 7.0 foi feita de uma forma bastante confusa (creio que foi feita s
pressas). Os componentes da paleta RAVE no Delphi 7.0 no so compatveis com o pacote oficial
disponibilizado pela Nevrona em seu site. L voc encontrar o RAVE 4.09 trial para download e a 5.0 para
a compra.

Os arquivos demos disponveis para download no so compatveis com o Delphi 7.0 e RAVE 5.0, pois
foram baseados no RAVE 4.09.

Houve uma mudana no nome das classes da verso 4.09 para 5.0 e alguns componentes simplesmente
desapareceram. Isto inviabilizar o uso dos exemplos de demonstrao da verso 4.09. Quem j utilizava o
RAVE (ou, no meu caso, o ReportPrinter) ter que modificar seus projetos para garantir a compatibilizao
do Delphi 5/6 com o 7.0.
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 636
Produtos de terceiros, tipo o excelente Rave for Renders da Pragnaam (http://www.pragnaan.com) no so
compatveis. Devero ser rescritos. A Borland no disponibiliza o cdigo fonte do RAVE. Este dever ser
adquirido junto Nevrona. At a, nada de novo, j era assim com o QuickReport. a tcnica que a Borland
usa para promover seus parceiros de solues.

Percebi alguns pequenos bugs na verso 5.0 do RAVE, principalmente na sua IDE de criao de relatrios.
A Nevrona est prometendo para breve um patch de correo.

Um bug interessante (se que Bugs podem ser interessantes) acontece na verso 98 do Windows. quando o
usurio tenta salvar um relatrio criado na IDE. Uma mensagem de erro o informar que no existe espao
livre no disco rgido (!). O relatrio s ser salvo se voc apont-lo para a pasta raiz do drive. Cheguei a essa
concluso depois de perder vrios trabalhos desenvolvidos na IDE.

O desenvolvedor inicialmente enfrentar o problema da falta de documentao e demos atualizados para a


verso adotada pelo Delphi 7.0. Isto ser apenas uma questo de tempo, pois esta ser a soluo oficial para
criao de relatrios em Delphi partir da verso 7.0.

No percebi mudanas substanciais na engine bsica do componente. Acredito que essa evoluo tenha
caminhado basicamente para o lado do design de relatrios usando a IDE do RAVE.

Os legionrios do ReportBuilder (http://www.digital-metaphors.com) a acharo muito confusa, e realmente


. Levem em considerao que essa IDE bastante nova, se comparada ao ReportBuilder, que j est no
mercado desde o Delphi 2.0. A Nevrona ainda tem muito o que aprender com a Digital-Metaphors.

A propsito, nos fruns "borland.public.delphi.thirdparty-tools" e "borland.public.delphi.reporting-charting"


est acontecendo um duelo de tits entre os criadores do RAVE e do ReportBuilder. Vale a pena acompanh-
la, uma discusso de alto-nvel onde cada um expe os recursos de sua ferramenta em comparao com a
concorrente. Se voc no usa News, procure pelas palavras "Delphi" "RAVE" "ReportBuilder" no
http://groups.google.com.

Para conhecer melhor o produto RAVE, recomendo o download da documentao oficial da Nevrona nos
endereos abaixo. So dois arquivos PDF (mais de 600 pginas) com uma excelente descrio tcnica e
funcional das classes do pacote.

Rave Visual Designer Documentation in Adobe Acrobat Format


http://www.nevrona.com/files/rave4.pdf

Borland Integration Guide Pro Documentation in Adobe Acrobat Format


http://www.nevrona.com/files/rppro4.pdf

No deixe de visitar tambm a seo de Tips & Tricks. A maioria das dicas esto
desatualizadas, porm o cdigo compatvel com as novas verses.
http://www.nevrona.com/rave/tips.shtml

O Delphi 7.0 traz alguns demos de relatrios do RAVE na pasta RAVE5\\DEMOS, porm a
Borland se esqueceu de um arquivo importante, o arquivo de projeto do demo (arquivo
.DPR), dificultando assim sua compilao pelos usurios com pouco conhecimento do Delphi.

Para quem no sabe, RAVE significa "Report Authoring Visual Environment".

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 637


 Rave Relatrio  Criando relatrio no Delphi 7.0
Fazer relatrio no Delphi 7 totalmente diferente comparando ao Delphi 6.0. Abaixo faremos um relatrio exemplo
usando o novo recurso, aba Rave.

 Crie a tabela abaixo.

 Crie o formulrio de entrada de dados com o Form Wizard e insira um boto para abrir o relatrio.

 Insira dois componentes, RvProject1 e RvTableConnection1 ( veja aba Rave ).

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 638


 D um clique duplo sobre o cone RvProject, ser aberta a tela abaixo...

 Usaremos a aba Report e alguns componetes de aba. Siga os passo de acordo com os nmeros.

   

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 639




 Demarca a regio onde sero definidas as bandas e onde mostrar / listar os registros do relatrio.

Note que a altura da regio da caixa esta


baixa, ou seja, imprimir cerca de 5 ou 6
registros neste espao.


Band Component - Insira um Banda ( Band1 ) e nesta banda vamos inserir um cabealho.

No ponto verde pode ser aumentado


na altura da banda, mantenha
pressionado no boto e arraste para
cima e para baixo.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 640



Agora vamos inserir um cabealho no relatrio. Para isto usaremos a aba Standard e o componente T (
Text Component )

Para definir um ttulo para pgina Band1.

Vamos usar a aba Drawing para definir uma linha abaixo do ttulo Relatrio de Clientes Teste 1 Delphi 7.0
Usando Rave.

No lado equerdo voc poder


definir as propriedades da
linha, LineWidth ( largura
linha ), Color ( cor ) etc

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 641


 Banda cabealho dos dados ( Band 2 - band component ). Clique na aba Standard e insira 3 componentes Text
Component.

 DataBand Component - Banda onde dados da tabela so mostrados, impressos. Insira uma
DataBand Component que esta na aba Report.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 642




 Data Text component - Insira trs componentes Data Text component. Este componente permite
associar ao campo da tabela.

 Clique no cone View.

 Clique em Database Connection, aps clique no boto Next, ser aberta a pgina ao lado.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 643


 Defina o Alias ( nome do Alias Rave1 ) e o tipo de driver da tabela de dados ( Paradox ).

 Clique em Direct Data View, aps clique no boto Next, ser aberta a pgina ao lado.


Agora vamos associar os campos da tabela, clique no componente Data Text1.

Clique nos 3 pontinhos [...], ser aberta a tela abaixo, escolha o campo e clique em Insert Field
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 644
 Definindo campo Clie_Codigo ( cdigo do cliente ). Clique no componente DataText1, clique em
DataField escolha o nome do campo Clie_Codigo, clique no boto Insert Field. Aps clique em
DataView e defina DataView1.

 Clique na primeira banda ( Band1 ), clique em BandStyle, ser aberta a tela abaixo, aps clique em
ControllerBand e defina DataBand1.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 645


 Clique na primeira banda ( Band2 ), clique em BandStyle, aps clique em ControllerBand e defina
DataBand1.

 Clique na banda DataBand1, clique na propriedade DataView e defina DataView1, clique DataBand1,
clique na propriedade BandStyle, ser aberta a tela abaixo:

Clique na opo
Detail

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 646


Clique na banda Databand
Component, clique na
propriedade BandStyle,
ser aberta uma tela para
definir propriedades, veja
pgina anterior.

 Definindo campo Clie_Nome ( cdigo do cliente ). Clique no componente DataText2, clique em


DataField escolha o nome do campo Clie_Nome, clique no boto Insert Field. Aps clique em
DataView e defina DataView1.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 647


 Definindo campo Clie_Data_Nasc ( Data de Nascimento ). Clique no componente DataText3, clique
em DataField escolha o nome do campo Clie_Data_Nasc, clique no boto Insert Field. Aps clique
em DataView e defina DataView1.

 Clique no cone Save Project para salvar o relatrio, neste arquivo sero salvas todas as propriedades
etc do o projeto Rave como o nome de Project2.rav.

 Clique no cone RvProject1, clique em ProjectFile, informe o caminho e o nome do arquivo do


relatrio
( Project2.rav ).

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 648


Relatrio pronto. ufa ! ... imagina... este um relatrio bem simples ...

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 649


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 650
 Inserindo Data e Nmero de pgina no cabealho do relatrio

 Clique duplo sobre o componente , clique na aba Report, insira um componente Data Text Component.

 Clique no componente
DataText Component ,
clique na propriedade
DataField [...], ser aberta
a tela abaixo.

 Digite o texto entre aspas simples e o sinal


de mais:
Data: +
Clique no drop down em Report Variables,
escolha DateShort e clique no boto Insert
Report Var, aps digite o caracter mais ( + ),
aps digite:
+ Pgina +
Clique no drop down Report Variables,
escolha CurrentPage para imprimir pgina
atual.

Digite Data: +
Digite + Pgina +

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 651


 Usando componentes CheckBox e RadioButton

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 652


 Criando senha ( 1 )
 Insira um Form, um MaskEdit ( aba Additional ) e um Bitbtn. O usurio ter 3 chances, se na terceira a
senha for digitada errada ser abortado o programa. Na propriedade Name do formulrio digite Senha_Frm.

No evento OnClick
do boto Bitbtn acima
( OK ) digite o cdigo
que est na direita.

 Abra seu projeto, clique no cone View Unit ou pressione Ctrl F12 e coloque duas barrinhas diante do
nome do formulrio da senha para cancelar esta linha.

Coloque duas barrinhas ( // )


diante da linha que abre o
formulrio da senha para que
esta no seja carregada.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 653


 Project options, clique no sinal de maior ( > ) para deslocar o formulrio da senha para direita.

O formulrio da senha deve estar


do lado direito ( Available forms,
ou formulrios disponveis )

 Aps a senha qual o formulrio que voc deseja abrir ?, neste exemplo abriremos o Menu de opes.

No evento OnActivate do
formulrio do Menu digite o
cdigo abaixo.

Senha_Frm o
formulrio da senha.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 654


 Criando senha ( 2 )
 Insara um Form, a propriedade Name do Form Login_Frm, insira dois Edit, a propriedade Name do
primeiro Edit Edit_usuario e o segundo Name Edit_Senha, veja abaixo a tela da senha e o programa
fonte.

Cdigo fonte completo da tela acima:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 655


 File New Unit. O Delphi mostrar o contedo abaixo bsico abaixo, voc ter que digitar (
implementar ) a Unit da senha. Este cdigo poder ser usado ( aproveitado ) em qualquer outro programa ou
sistema que desejar.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 656


Veja abaixo o programa fonte da Unit da pgina anterior. A unit abaixo foi salva com o nome de
Rotinas.pas.
Foi criado um arquivo de Rotinas para facilitar ( tornar mais dinmico ) o uso futuro da funo senha.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 657


 Clique no cone View Unit ( Ctrl F12 )

Aps Application.Initialize digite: If TelaDeLogin then


Begin e na parte final do programa digite Else
Application.Terminate

 Restringir rea do mouse

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 658


 Como usar os Agentes da Microsoft ?
Trabalhando com os Agentes da Microsoft no Delphi e fazendo seus programas mais alegres. Os testes a
seguir foram realizados com Delphi 6.0

1) Faa download dos Agentes no site da Microsoft. Para instalar basta dar um clique duplo em cada um
dos agentes e Ok, very easy , existem vrios agentes e no somente agentes da Microsoft mas tambm de
outras empresas.

2) Abra o Delphi, na opo Component Import ActiveX Control, clique em Microsoft Agent Control
2.0 e Install ( para instalar o componente )

Selecione o Agente
clicando, aps clique
no boto Install.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 659


Crie um projeto novo no Delphi, no formulrio principal insira o componente Agent que est na aba
ActiveX

Se o campo Nome no for preenchido faremos com que o Agente Papagaio aparea mostrando uma
mensagem.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 660


Na seo Private
digite esta linha.

Se no for preenchido o
campo Nome o Papagaio
aparecer e far as aes
definidas e desaparecer.

Clique no Agente e no
evento OnBallonHide
digite o cdigo ao lado.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 661


Agente: Peedy

O foco esta no campo Nome,


se deixar o campo nome em
branco o agente ser exibido e
far suas aes.

Se voc preferir usar o agente Merlin, instale o agente e no programa fonte substitua o nome Peedy para
Merlin.

Agente: Merlin

O foco esta no campo Nome,


se deixar o campo nome em
branco o agente ser exibido e
far suas aes.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 662


Peedy  Palavras de animao do Papagaio

Animao Retorno da animao Fala ? Som Estado Descrio


Acknowledge None No No None Nods head
Alert Yes, using exit branches Yes No Listening Straightens and raises eyebrows
Announce Yes, using exit branches Yes Yes None Paper airplane flies in and unfolds
Blink None No No IdlingLevel1 Blinks eyes
IdlingLevel2
Confused Yes, using exit branches Yes Yes None Eyes spin around
Congratulate Yes, using exit branches Yes Yes None Displays blue ribbon
Decline Yes, using exit branches Yes No None Shakes head
DoMagic1 None Yes Yes None Raises magic wand
DoMagic2 Yes, using exit branches No Yes None Lowers wand, clouds appear
DontRecognize Yes, using exit branches Yes No None Shakes head and holds wing to ear
Explain Yes, using exit branches Yes No None Extends arms to side
GestureDown Yes, using exit branches Yes No GesturingDown Gestures down

Animao Retorno da animao Fala ? Som Estado Descrio


GestureLeft Yes, using exit branches Yes No GesturingLeft Gestures left

GestureRight Yes, using exit branches Yes No GesturingRight Gestures right


GestureUp Yes, using exit branches Yes No GesturingUp Gestures up
GetAttention GetAttentionReturn Yes Yes None Jumps up with wings outstretched
GetAttentionContinued GetAttentionReturn Yes Yes None Jumps up with wings outstretched again
GetAttentionReturn None No No None Returns to neutral position
Greet Yes, using exit branches Yes Yes None Bows
Hearing_1 None No No Hearing Tilts head right (*looping animation)
Hearing_2 None No No Hearing Tilts head left (*looping animation)
Hearing_3 None No No Hearing Turns head right then left (*looping
animation)
Hide None No Yes Hiding Flies away
Idle1_1 None No No IdlingLevel1 Takes breath
IdlingLevel2
Idle1_2 None No No IdlingLevel1 Glances right and blinks
IdlingLevel2
Idle1_3 None No No IdlingLevel1 Glances left and blinks
IdlingLevel2
Idle1_4 None No No IdlingLevel1 Glances up and blinks
IdlingLevel2
Idle1_5 None No No IdlingLevel1 Glances down and blinks
IdlingLevel2
Idle2_1 Yes, using exit branches No No IdlingLevel2 Puts on sunglasses
Idle2_2 None No Yes IdlingLevel2 Eats a cracker
Idle3_1 None No Yes IdlingLevel3 Yawns
Idle3_2 Yes, using exit branches No Yes IdlingLevel3 Falls asleep (*looping animation)
Idle3_3 Yes, using exit branches No No IdlingLevel3 Listens to music (*looping animation)
LookDown LookDownReturn No No None Looks down
LookDownBlink LookDownReturn No Yes None Blinks looking down
LookDownReturn None No No None Returns to neutral position
LookDownLeft LookDownLeftReturn No No None Looks down left

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 663


LookDownLeftBlink LookDownLeftReturn No Yes None Blinks looking down left
LookDownLeftReturn None No No None Returns to neutral position
LookDownRight LookDownRightReturn No No None Looks down right
LookDownRightBlink LookDownRightReturn No Yes None Blinks looking down right
LookDownRightReturn None No No None Returns to neutral position
LookLeft LookLeftReturn Yes No None Looks left

Animao Retorno da animao Fala ? Som Estado Descrio


LookLeftBlink LookLeftReturn Yes Yes None Blinks looking left

LookLeftReturn None No No None Returns to neutral


position
LookRight LookRightReturn Yes No None Looks right
LookRightBlink LookRightReturn Yes Yes None Blinks looking right
LookRightReturn None No No None Returns to neutral position
LookUp LookUpReturn No No None Looks up
LookUpBlink LookUpReturn No Yes None Blinks looking up
LookUpReturn None No No None Returns to neutral position
LookUpLeft LookUpLeftReturn No No None Looks up left
LookUpLeftBlink LookUpLeftReturn No Yes None Blinks looking up left
LookUpLeftReturn None No No None Returns to neutral position
LookUpRight LookUpRightReturn No No None Looks up right
LookUpRightBlink LookUpRightReturn No Yes None Blinks looking up right
LookUpRightReturn None No No None Returns to neutral position
MoveDown Yes, using exit branches No Yes MovingDown Flies down
MoveLeft Yes, using exit branches No Yes MovingLeft Flies left
MoveRight Yes, using exit branches No Yes MovingRight Flies right
MoveUp Yes, using exit branches No Yes MovingUp Flies up
Pleased Yes, using exit branches Yes No None Smiles
Process None No Yes None Uses calculator
Processing Yes, using exit branches No Yes None Uses calculator (*looping animation)
Read ReadReturn Yes Yes None Opens magazine, reads and looks up
ReadContinued ReadReturn Yes Yes None Reads and looks up
ReadReturn None No Yes None Returns to neutral position
Reading Yes, using exit branches No Yes None Reads (*looping animation)
RestPose None Yes No Speaking Neutral position
Sad Yes, using exit branches Yes No None Sad expression
Search None No Yes None Reveals telescope and rotates
Searching Yes, using exit branches No Yes None Reveals telescope and rotates (*looping
animation)
Show None No Yes Showing Flies in
StartListening Yes, using exit branches Yes No None Puts hand to ear
StopListening Yes, using exit branches Yes No None Puts hands to ears
Suggest Yes, using exit branches Yes Yes None Displays light bulb
Surprised Yes, using exit branches Yes Yes None Looks surprised
Think Yes, using exit branches Yes No None Looks up with wing on face

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 664


Animao Retorno da animao Fala ? Som Estado Descrio
Thinking None No No None Looks up with wing on face (*looping
animation)
Uncertain Yes, using exit branches Yes No None Leans to right and shrugs
Wave Yes, using exit branches Yes No None Waves
Write WriteReturn Yes Yes None Takes out pencil and pad, writes and looks
up
WriteContinued WriteReturn Yes Yes None Writes and looks up
WriteReturn None No No None Returns to neutral position
Writing Yes, using exit branches No Yes None Takes out pencil and pad, writes (*looping
animation)

Merlin  Palavras de animao do Mago

Animao Retorno da animao Fala ? Som Estado Descrio


Acknowledge None No No None Nods head
Alert Yes, using Exit branches Yes No Listening Straightens and raises eyebrows
Announce Yes, using Exit branches Yes Yes None Raises trumpet and plays
Blink None No No IdlingLevel1 Blinks eyes
IdlingLevel2
Confused Yes, using Exit branches Yes Yes None Scratches head
Congratulate Yes, using Exit branches Yes Yes None Displays trophy
Congratulate_2 Yes, using Exit branches Yes Yes None Applauds
Decline Yes, using Exit branches Yes No None Raises hands and shakes head
DoMagic1 None Yes No None Raises magic wand
DoMagic2 Yes, using Exit branches No Yes None Lowers wand, clouds appear
DontRecognize Yes, using Exit branches Yes No None Holds hand to ear
Explain Yes, using Exit branches Yes No None Extends arms to side
GestureDown Yes, using Exit branches Yes No GesturingDown Gestures down
GestureLeft Yes, using Exit branches Yes No GesturingLeft Gestures left
GestureRight Yes, using Exit branches Yes No GesturingRight Gestures right
GestureUp Yes, using Exit branches Yes No GesturingUp Gestures up
GetAttention GetAttentionReturn Yes Yes None Leans forward and knocks
GetAttentionContinued GetAttentionReturn Yes Yes None Leaning forward, knocks again
GetAttentionReturn None No No None Returns to neutral position
Greet Yes, using Exit branches Yes Yes None Bows
Hearing_1 None No No Hearing Ears extend (*looping animation)
Hearing_2 None No No Hearing Tilts head left (*looping animation)
Hearing_3 None No No Hearing Turns head left (*looping animation)
Hearing_4 None No No Hearing Turns head right (*looping animation)
Hide None No Yes Hiding Disappears under cap
Idle1_1 Yes, using Exit branches No No IdlingLevel1 Takes breath
IdlingLevel2
Idle1_2 Yes, using Exit branches No No IdlingLevel1 Glances left and blinks
IdlingLevel2
Idle1_3 Yes, using Exit branches No No IdlingLevel1 Glances right
IdlingLevel2

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 665


Animao Retorno da animao Fala ? Som Estado Descrio
Idle1_4 Yes, using Exit branches No No IdlingLevel1 Glances up to the right and blinks
IdlingLevel2
Idle2_1 None No No IdlingLevel2 Looks at wand and blinks
Idle2_2 None No No IdlingLevel2 Holds hands and blinks
Idle3_1 None No Yes IdlingLevel3 Yawns
Idle3_2 Yes, using Exit branches No Yes IdlingLevel3 Falls asleep (*looping animation)
LookDown LookDownReturn No No None Looks down
LookDownBlink LookDownReturn No No None Blinks looking down
LookDownReturn None No No None Returns to neutral position
LookLeft LookLeftReturn No No None Looks left
LookLeftBlink LookLeftReturn No No None Blinks looking left
LookLeftReturn None No No None Returns to neutral position
LookRight LookRightReturn No No None Looks right
LookRightBlink LookRightReturn No No None Blinks looking right
LookRightReturn None No No None Returns to neutral position
LookUp LookUpReturn No No None Looks up
LookUpBlink LookUpReturn No No None Blinks looking up
LookUpReturn None No No None Returns to neutral position
MoveDown Yes, using Exit branches No Yes MovingDown Flies down
MoveLeft Yes, using Exit branches No Yes MovingLeft Flies left
MoveRight Yes, using Exit branches No Yes MovingRight Flies right
MoveUp Yes, using Exit branches No Yes MovingUp Flies up
Pleased Yes, using Exit branches Yes No None Smiles and holds hands together
Process No No Yes None Stirs caldron
Read ReadReturn Yes Yes None Opens book, reads and looks up
ReadContinued ReadReturn Yes Yes None Reads and looks up
ReadReturn None No Yes None Returns to neutral position
Reading Yes, using Exit branches No Yes None Reads (*looping animation)
RestPose None Yes No Speaking Neutral position
Sad Yes, using Exit branches Yes No None Sad expression
Search No No Yes None Looks into crystal ball

Animao Retorno da animao Fala ? Som Estado Descrio


Searching Yes, using Exit branches No Yes None Looks into crystal ball (*looping animation)
Show None No Yes Showing Appears out of cap
StartListening Yes, using Exit branches Yes No None Puts hand to ear
StopListening Yes, using Exit branches Yes No None Puts hands over ears
Suggest Yes, using Exit branches Yes Yes None Displays lightbulb
Surprised Yes, using Exit branches Yes Yes None Looks surprised
Think Yes, using Exit branches Yes No None Looks up with hand on chin
Thinking No No No None Looks up with hand on chin (*looping animation)
Uncertain Yes, using Exit branches Yes No None Leans forward and raises eyebrow
Wave Yes, using Exit branches Yes No None Waves
Write WriteReturn Yes Yes None Opens book, writes and looks up
WriteContinued WriteReturn Yes Yes None Writes and looks up
WriteReturn None No Yes None Returns to neutral position
Writing Yes, using Exit branches No Yes None Writes (*looping animation)
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 666
Genie  Palavras de animao do Gnio

Animao Retorno da animao Fala ? Som Estado Descrio


Acknowledge None No No None Nods head
Alert Yes, using Exit Yes No Listening Straightens and raises eyebrows
branches
Announce Yes, using Exit Yes No None Raises hand
branches
Blink None No No IdlingLevel1 Blinks eyes
IdlingLevel2
Confused Yes, using Exit Yes No None Scratches head
branches
Congratulate Yes, using Exit Yes Yes None Applauds
branches
Congratulate_2 Yes, using Exit Yes No None Gives thumbs-up gesture
branches
Decline Yes, using Exit Yes No None Raises hands and shakes head
branches
DoMagic1 None Yes No None Turns to side and raises hands
DoMagic2 Yes, using Exit No Yes None Lowers hands, clouds appear
branches
DontRecognize Yes, using Exit Yes No None Holds hand to ear
branches
Explain Yes, using Exit Yes No None Extends arms to side
branches
GestureDown Yes, using Exit Yes No GesturingDown Gestures down
branches
GestureLeft Yes, using Exit Yes No GesturingLeft Gestures left
branches
GestureRight Yes, using Exit Yes No GesturingRight Gestures right
branches
GestureUp Yes, using Exit Yes No GesturingUp Gestures up
branches
GetAttention GetAttentionReturn Yes No None Waves arms
GetAttentionContinued GetAttentionReturn Yes No None Waves arms again
GetAttentionReturn None No No None Returns to neutral position
Greet Yes, using Exit Yes No None Bows
branches
Hearing_1 None No No Hearing Ears extend (*looping animation)
Hearing_2 None No No Hearing Tilts head left (*looping animation)
Hearing_3 None No No Hearing Turns head left (*looping animation)
Hearing_4 None No No Hearing Turns head right (*looping animation)
Hide None No Yes Hiding Disappears into smoke

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 667


Animao Retorno da animao Fala ? Som Estado Descrio
Idle1_1 None No No IdlingLevel1 Takes breath
IdlingLevel2
Idle1_2 None No No IdlingLevel1 Glances right and blinks
IdlingLevel2
Idle1_3 Yes, using Exit No No IdlingLevel1 Glances left and blinks
branches IdlingLevel2
Idle1_4 None No No IdlingLevel1 Glances up to the right and blinks
IdlingLevel2
Idle1_5 Yes, using Exit No No IdlingLevel1 Glances down and blinks
branches IdlingLevel2
Idle1_6 None No No IdlingLevel1 Glances up and blinks
IdlingLevel2
Idle2_1 None No No IdlingLevel2 Wisp snakes
Idle2_2 Yes, using Exit No No IdlingLevel2 Reveals scroll and reads
branches
Idle2_3 Yes, using Exit No No IdlingLevel2 Reveals scroll and writes
branches
Idle3_1 None No Yes IdlingLevel3 Yawns
Idle3_2 Yes, using Exit No Yes IdlingLevel3 Falls asleep (*looping animation)
branches
LookDown LookDownReturn No No None Looks down
LookDownBlink LookDownReturn No No None Blinks looking down
LookDownReturn None No No None Returns to neutral position
LookLeft LookLeftReturn No No None Looks left
LookLeftBlink LookLeftReturn No No None Blinks looking left
LookLeftReturn None No No None Returns to neutral position
LookRight LookRightReturn No No None Looks right
LookRightBlink LookRightReturn No No None Blinks looking right
LookRightReturn None No No None Returns to neutral position
LookUp LookUpReturn No No None Looks up
LookUpBlink LookUpReturn No No None Blinks looking up
LookUpReturn None No No None Returns to neutral position
MoveDown Yes, using Exit No Yes MovingDown Flies down
branches
MoveLeft Yes, using Exit No Yes MovingLeft Flies left
branches
MoveRight Yes, using Exit No Yes MovingRight Flies right
branches
MoveUp Yes, using Exit No Yes MovingUp Flies up
branches
Pleased Yes, using Exit Yes No None Smiles and holds hands together
branches
Process No No No None Spins into a cloud

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 668


Animao Retorno da animao Fala ? Som Estado Descrio
Processing Yes, using Exit No No None Spins into a cloud (*looping animation)
branches
Read ReadReturn Yes Yes None Reveals scroll, reads and looks up
ReadContinued ReadReturn Yes No None Reads and looks up

ReadReturn None No No None Returns to neutral position


Reading Yes, using Exit No Yes None Reveal scroll and reads (*looping animation)
branches
RestPose None Yes No Speaking Neutral position
Sad Yes, using Exit Yes No None Sad expression
branches
Search No No No None Reveals binoculars and turns
Searching Yes, using Exit No No None Reveals binoculars and turns (*looping
branches animation)
Show None No Yes Showing Appears out of smoke
StartListening Yes, using Exit Yes No None Puts hand to ear
branches
StopListening Yes, using Exit Yes No None Puts hands over ears
branches
Suggest Yes, using Exit Yes No None Displays lightbulb
branches
Surprised Yes, using Exit Yes No None Looks surprised
branches
Think Yes, using Exit Yes No None Looks up with hand on chin
branches
Thinking No No No None Looks up with hand on chin (*looping
animation)
Uncertain Yes, using Exit Yes No None Moves one hand to chin, other to hip, and
branches raises right eyebrow
Wave Yes, using Exit Yes No None Waves
branches
Write WriteReturn Yes Yes None Reveals scroll, writes and looks up
WriteContinued WriteReturn Yes Yes None Writes and looks up
WriteReturn None No No None Returns to neutral position
Writing Yes, using Exit No Yes None Reveals scroll, writes (*looping animation)
branches

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 669


 Como exportar e importar arquivos textos (.txt) ?
Exportando e importando arquivo texto com campos de tamanhos variveis.
Arquivo TEXTO
 Crie a tabela abaixo.

 Insira um formulrio, um DBgrid, um Table, um DataSource e 3 botes.

Este cdigo ler registros


com de tamanho varivel,
logo adiante veremos
como ler registros com
tamanhos fixos.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 670


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 671
Registros com tamanhos fixos:

Arquivo texto de tamanho fixo = clientes_fixo.txt

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 672


 Como criar um editor de textos ?

Insira um MainMenu, e
os componentes Dialog
( aba Dialogs )

Clique duplo no componente MainMenu1

Aps ter aberto com


clique duplo o
componente
MainMenu1 adicione
as opes do menu:
defina o Caption, Name
e ShortCut.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 673


Digite

Digite

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 674


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 675
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 676
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 677
Resultado

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 678


 Como imprimir arquivo no Word atravs do Delphi ?

 Crie o arquivo abaixo no Word XP e grave com o nome Carta.doc

Estes nomes so apenas variveis e


sero substitudas pelas
informaes que esto
armazenadas no programa feito no
Delphi.

 Insira um formulrio e dois botes

 Observe a linha Uses no incio do programa, deve conter todas as bibliotecas abaixo.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 679


Digite o cdigo abaixo:

Ser criado um arquivo de nome Tabela.doc via Delphi.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 680


 Como abrir programas da Microsoft ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 681


 Como abrir unidade de cd-rom, bloco de notas etc. ?
Dicas: Como abrir e fechar unidade de cd-rom, abrir menu iniciar do Windows, navegador, Bloco de notas,
proteo de tela ... Faa um formulrio de acordo com o exemplo abaixo:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 682


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 683
 Como esconder o boto iniciar ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 684


 Como esconder cones da rea de trabalho ?

 Como esconder o relgio da barra de tarefas do Windows ?

 Como tocar arquivo de som do tipo .wav ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 685


 Como ressetar, desligar o computador ?

Insira um componente RadioGroup1 (aba


Standard ) Selecione o objeto RadioGroup e na na
propriedade Items clique em (TStrings), ser
aberta uma caixa e dentro desta digite as seguintes
linhas uma abaixo da outra:
Reinicia o Windows
Desliga o Windows
Fora todos os programas a desligarem
D um logoff no usurio atual

 Como tocar arquivo de som do tipo .wav, .mid e .mp3 ?


Insira um componente MediaPlayer ( aba System ),
clique na propriedade VisibleButtons e defina os
valroes True ou False para os botes que deseja
visualizar ou ocultar, insira um OpenDialog
( aba Dialogs ) e insira um boto do tipo Bitbtn.

Clique no OpenDialog, clique na


propriedade Filter, clique nos 3
pontinhos ( ... ) e digite a terminaes de
acordo com o grfico ao lado.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 686


 Como abrir utilitrios do Painel de Conrole do Windows ?

Abaixo esto os cdigos dos utilitrios do Painel de Controle.


// Abre o Painel de Controle
Executa_Prog ('shell32.dll,Control_RunDLL');

// Adiciona/Remove programas: instalar/desinstala programas


Executa_Prog ('shell32.dll,Control_RunDLL appwiz.cpl,,1');

// Adiciona/Remove programas: setup windows


Executa_Prog ('shell32.dll,Control_RunDLL appwiz.cpl,,2');

// Adiciona/Remove programas: disco de Inicializao


Executa_Prog ('shell32.dll,Control_RunDLL appwiz.cpl,,3');

// Mostra propriedades: fundo


Executa_Prog('shell32.dll,Control_RunDLL desk.cpl,,0');

// Mostra propriedades: proteo de Tela


Executa_Prog ('shell32.dll,Control_RunDLL desk.cpl,,1');

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 687


// Mostra propriedades: aparncia
Executa_Prog('shell32.dll,Control_RunDLL desk.cpl,,2');

// Mostra propriedades: configuraes


Executa_Prog('shell32.dll,Control_RunDLL desk.cpl,,3');

// Localizar
Executa_Prog('shell32.dll,Control_RunDLL findfast.cpl');

// Internet: geral
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,0');

// Internet: segurana
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,1');

// Internet: contedo
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,2');

// Internet: conexo
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,3');

// Internet: programas
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,4');

// Internet: avanado
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,5');

// Configuraes regionais: configuraes regionais


Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,0');

// Configuraes regionais: numerao


Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,1');

// Configuraes regionais: moeda


Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,2'W);

// Configuraes regionais: hora


Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,3');

// Configuraes regionais: data


Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,4');

// Joy stick: geral


Executa_Prog('shell32.dll,Control_RunDLL joy.cpl,,0');

// Joy stick: avanado


Executa_Prog('shell32.dll,Control_RunDLL joy.cpl,,0');

// Mouse
Executa_Prog('shell32.dll,Control_RunDLL main.cpl @0');

// Teclado
Executa_Prog('shell32.dll,Control_RunDLL main.cpl @1');

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 688


// Impressora
Executa_Prog('shell32.dll,Control_RunDLL main.cpl @2');

// Fontes
Executa_Prog('shell32.dll,Control_RunDLL main.cpl @3');

// Microsoft outlook: fax/mail


Executa_Prog('shell32.dll,Control_RunDLL mlcfg32.cpl'W);

// Multimedia: audio
Executa_Prog('shell32.dll,Control_RunDLL mmsys.cpl,,0');

// Multimedia: video
Executa_Prog('shell32.dll,Control_RunDLL mmsys.cpl,,1');

// Multimedia: midi
Executa_Prog('shell32.dll,Control_RunDLL mmsys.cpl,,2');

// Multimedia: cd music
Executa_Prog('shell32.dll,Control_RunDLL mmsys.cpl,,3');

// Multimedia: dispositivos
Executa_Prog('shell32.dll,Control_RunDLL mmsys.cpl,,4');

// Rede
Executa_Prog('shell32.dll,Control_RunDLL netcpl.cpl');

// Dialup-networking
Executa_Prog('rnaui.dll,RnaWizard');

// Administrao odbc
Executa_Prog('shell32.dll,Control_RunDLL odbccp32.cpl'W);

// Configurando senhas
Executa_Prog('shell32.dll,Control_RunDLL password.cpl');
// System: general
Executa_Prog('shell32.dll,Control_RunDLL sysdm.cpl,,0');

// system: device manager


Executa_Prog('shell32.dll,Control_RunDLL sysdm.cpl,,1');

// System: hardware profiles


Executa_Prog('shell32.dll,Control_RunDLL sysdm.cpl,,2');

// System: performance
Executa_Prog('shell32.dll,Control_RunDLL sysdm.cpl,,3');

// Assistente para instalar novo Hardware


Executa_Prog('shell32.dll,Control_RunDLL sysdm.cpl @1');

// Assistente para adicionar nova impressora


Executa_Prog('shell32.dll,SHHelpShortcuts_RunDLL AddPrinter');

// Temas
Executa_Prog(,'shell32.dll,Control_RunDLL themes.cpl');
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 689
// Propriedades data e hora: geral
Executa_Prog('shell32.dll,Control_RunDLL timedate.cpl');

// Propriedades data/hora: zona


Executa_Prog('shell32.dll,Control_RunDLL timedate.cpl,,/f');

// Adicionar modem wizard


Executa_Prog('shell32.dll,Control_RunDLL modem.cpl,,add');

 Windows Explorer
Executando os programas, utilitrios do Painel de Controle do Windows, abrindo arquivos, opes etc. Na
linha Uses digite ShellApi.

1 - A linha abaixo abre o Explorer

procedure TForm1.Bit_OKClick(Sender: TObject);


begin
ShellExecute(Handle, 'explore', PChar('c:\windows'), nil, nil, SW_SHOW);
end;
2 - A linha abaixo imprimir o arquivo readme.txt
ShellExecute(Handle, 'print', PChar('c:\Windows\Readme.txt'), nil, nil, SW_SHOW);

3 - A linha abaixo abrir o home page (site) da playboy.com


ShellExecute(Handle, 'open', PChar('http://www.playboy.com/'), nil, nil, SW_SHOW);

4 - A linha abaixo abrir o arquivo readme.txt


ShellExecute(Handle, 'open', PChar('c:\Test\Readme.txt'), nil, nil, SW_SHOW);

5 - A linha abaixo abrir o arquivo recover.txt com o programa Notepad


ShellExecute(Handle, 'open', PChar('notepad'), PChar('c:\Windows\Recover.txt'), nil, SW_SHOW);

6 - A linha abaixo s abrir o arquivo o programa Notepad


ShellExecute(Handle, 'open', PChar('notepad'), nil, nil, SW_SHOW);

7 - A linha abaixo s abrir qualquer aplicao


ShellExecute(Handle, 'open', PChar('c:\Windows\Calc.exe'), nil, nil, SW_SHOW);

 Como colocar imagem no fundo do formulrio ?


Colocando uma figura de fundo no formulrio
Na linha Uses defina o termo ShellApi
Abaixo do termo Private digite: Meu_Bmp : TBitMap;

No evento OnCreate digite as linhas abaixo:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 690


No evento OnPaint digite os cdigo abaixo:

 Como animar imagem ?

Insira um componente Image ( aba


Additional ), clique na propriedade
Picture ( TBitmap ...) e informe uma
imagem, neste caso de um Globo. Defina
o fundo do formulrio preto, insira um
componente Timer ( aba System ), clique
no Time, defina o nome da propriedade
( Name ) para Timer_Relogio e Interval
para 1000.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 691


 Formulrio simulando cortina

Ao clicar no boto ser


aberta a cortina e o boto
superior ficar
temporariamente oculto,
aps clicar no boto inferior
a cortina ser aberta e boto
superior ser exibido
novamente.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 692


 Como criar uma barra flutuante ?

Clique na lateral
do formulrio e
arraste-o.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 693


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 694
Exemplo

 Como capturar contedo de uma tela ?

Insira um componente
TImage e na propriedade
Stretch defina o valor
para True.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 695


 Como gravar imagem na tabela paradox ?
Para armazenar a foto ou imagem no campo Foto use o recurso colar e copiar
Crie a tabela de acordo como grfico abaixo:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 696


 Como encriptografar imagem/foto na tabela ?

Tipo de campo para armazenar


a imagem/foto = B

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 697


Salva
imagem
codificada

Clique no boto Carrega imagem para abrir


um arquivo de imagem, antes de Salvar
clique no boto Encript / Decript, isto
criptografar ( codificar / embaralhar ) a
imagem, finalmente clique no boto Salvar
do navegador de dados.

Para decodificar a imagem basta clicar


no boto Encript / Decript

Voc poder melhorar ainda mais


este exemplo Have phun ...

No mesmo boto
criptografar e
decriptografar a imagem.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 698


 Como encriptografar texto ? ( 1 )

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 699


 Como encriptografar texto ? ( 2 )

Digite linha na
seo public

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 700


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 701
 Como encriptografar texto ? ( 3 )

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 702


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 703
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 704
 Programa para gerar cdigo de acesso

Gere um cdigo de
segurana para o seu
sistema.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 705


 Como usar o componente StatusBar ?

Insira uma StatusBar ( aba Win32 ),


d um clique duplo sobre a barra,
clique 5 vezes no primeiro cone (
Add New ) para criar 5 divises na
barra para encaixar os textos

Defina a largura de cada diviso da StatusBar:


0 propriedade Width = 200
1 propriedade Width = 30
2 propriedade Width = 30
3 propriedade Width = 65
4 propriedade Width = 55
5 propriedade Width = 65

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 706


 Como criar barra de ttulo ?
Uma maneira simples para criar um barra de ttulo personalizada.
Insira um boto Button e
na propriedade Caption
digite um X

A parte azul escura um Label


com a propriedade
Color = clNavy

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 707


Digite as Procedures ao lado.

 Como converter Rich Text em arquivo .Bmp ?

Insira um
componente Image
( aba Additional ) e
um componente
SaveDialog
( aba Dialogs )

Insira um componente
RichEdit ( aba Win32 )
e na propriedade Lines
digite um texto para
converter para .bmp
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 708
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 709
 Como criar formulrio com cor gradiente ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 710


 Como fazer um letreiro ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 711


 Como criar um slide ?

Insira um Label e no Capiton deste


Label digite By English Way.
Insira um SpeedButton e neste
boto insira uma imagem de um X

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 712


 Como criar um relgio flutuante ?

D um clique duplo sobre o


componente PopuMenu1 e no
Caption digite &Fechar

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 713


Para fechar o relgio,
clique com boto direito
do mouse sobre o relgio
e clique em Fechar.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 714


 Como fazer um contador para finalizar programa ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 715


 Como criar programa para listar tarefas ?

Tarefas que
esto na
memria do
computador.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 716


 Como desativar o teclado e o mouse por 10 segundos ?
Aps clicar no boto o teclado e
o mouse no funcionaro por 10
segundos.

 Como animar um boto ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 717


 Como apagar arquivos do Cache do Internet Explorer ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 718


 Como evitar que a tela no seja redimensionada ?
No permitir redimensionar e maximizar a tela.

Digite

Digite

 Como encriptografar senha ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 719


 Como matar processos ?

Insira uma StringGrid


( aba Additional ), clique na
StringGrid, clique na
Insira um RadioGroup propriedade ColCount e
( aba Standard ), na defina o valor 3
propriedade Columns
defina o valor 2, na
propriedade Items (...)
escreva:
No Insira um Timer ( aba
A cada 5 segundos System )e na propriedade
Interval digite 5000

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 720


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 721
 Como fazer um formulrio invisvel ?

Digite ...

Digite ...

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 722


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 723
Formulrio Visvel

Formulrio Invisvel

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 724


 Como definir imagem no fundo do formulrio ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 725


 Como abrir um programa com parmetro ?
Antes de abrir a Calculadora do Windows ser passado um parmentro e se este for diferente no abrir a
Calculadora.

Clique em no menu do Delphi em Run, clique em Run Parameters, clique no campo Parameters e digite o
parmetro parmetro_senha77

Digite o parmetro

Para abrir projeto clique no cone View Unit ( Ctrl + F12 )

Abra o projeto, talvez voc ter


que digitar as bibliotecas
Dialogs e Windows.

.
.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 726


 Como visualizar arquivo de vdeo (.avi) ?
Insira um componente
MediaPlayer que est
na aba System.

Crie um segundo formulrio


Form_Mostra_Vdeo , onde
ser aberto o arquivo de vdeo,

 Como usar algumas classes do Windows ?


Abre o Editor de
Textos Word

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 727


 Como definir imagem em um boto do tipo Button ?

 Como forar posicionamento em uma coluna ?


No exemplo abaixo mostra como posicionar o cursor na terceira coluna de um DBGrid. O cdigo dever ser
digitado no evento OnShow.

 Forar letras maisculas no DBGrid.

Key := AnsiLowerCase(Key)[1]; // minsculas

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 728


 Como gravar arquivo de som do tipo .wav ?

Insira um novo formulrio, dois edit, um


boto SpeedButton, um SpeedEdit ( aba
Samples ), dois componentes MediaPlayer
( aba System ), um Timer ( aba System ),
um SaveDialog ( aba Dialogs ), um
GroupBox, 8 RadioButton e quatro botes
do tipo BitBtn.

Como gravar ? Oua uma msica,


msica de cd e clique no boto
Comea para iniciar a gravao

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 729


Digite estas
linhas

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 730


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 731
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 732
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 733
 Como girar imagem no formulrio ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 734


Clique no boto e
gire a foto.

Digite as linhas abaixo


da seo Private

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 735


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 736
 Como trocar papel de parede ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 737


 Como usar OLE ?
possvel utilizar por exemplo o WordPad em um aplicativo Delphi.

Vamos incorporar um objeto


externo, ou seja, o WordPad do
Windows dentro de um programa
Delphi.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 738


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 739
 Como obter cdigo serial do HD ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 740


 Como mostrar mensagem mais demorada ?
Mostrar mensagem aps pressionar boto 5 segundos.

 Como imprimir contedo de um Memo ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 741


 Como ocultar e mostrar ponteiro do mouse ?

 Como ligar e desligar Capslock ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 742


 Como obter informaes: label, serial... ?

 Como verificar programas que esto abertos ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 743


 Como verificar se Drive esta Ok ?

 Como criar e gravar em um arquivo .ini ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 744


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 745
 Gravando e lendo dados no registro regedit

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 746


 Fecha aplicativo com a mensagem Erro fatal

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 747


 Como definir senha para tabela paradox ?

Insira um novo formulrio, um


edit e 3 botes do tipo Bitbtn.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 748


Clique no boto Adiciona senha, ser aberta uma pequena tela, digite a nova senha e clique OK. Aps
cadastrado a senha feche o formulrio corrente ( o cadastro atual ). Rode o programa, clique no boto Ativa
Tabela, ser aberta uma tela solicitando senha, digite 123 ( senha ), aps informado senha os registros sero
exibidos no formulrio. Para remover senha: feche o programa ( formulrio ), rode o programa ( F9 ), ser
mostrada a tela solicitando senha, digite 123 e Ok, a senha foi removida.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 749


 Como criar um despertador agenda

Insira um PageControl1 ( aba Win32 ),


clique no boto direito e clique em New
Page para criar abas ( paletas )

Insira um DriveComboBox1
( aba Win 3.1 )

Insira um DirectoryListBox1 ( aba Win 3.1 )

Insira um DirectoryListBox1
( aba Win 3.1 )

Insira dois componentes DateTimePicker ( aba


Win32 ). Clique no DateTimePicker da Data
e na popriedade deste digite 11/03/2001, clique
no DateTimePicker da hora e na propriedade
Time digite 21:28:31

Insira um ListBox ( aba Standard ), insira um


componente Timer ( aba Win32 ) e na
propriedade do Interval defina 2000. Insira um
componente PopupMenu ( veja abaixo ).

Digite Const e a linha abaixo

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 750


Digite as linhas abaixo da
seo Private

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 751


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 752
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 753
Como funciona o despertador ? Despertador

 Execute o programa, note o cone do relgio na barra inferior.

 Clique no boto direito para ativ-lo, aps clicado no boto direito ser aberta uma tela de atalho.

 Clique na opo Configura Despertador, ser aberta a tela abaixo:

A primeira paleta para configurar o som. Paleta Horrios configura os lembretes.

 Quando chegar a hora dos lembretes definidos soar o som programado, aps clique no lembrete
programa e clique no boto Remove, para remover este lembrete.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 754


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 755
 ISAPI  O que ISAPI ?
ISAPI Internet Server Application Programing Interface, um padro proposto pela Microsoft, para
criao de contedo dinmico em servidores Web. ISAPI uma alternativa ao uso de aplicaes CGI e tem
como fundamental diferena o fato de ser implementado na forma de DLLs, ao invs de executveis.
A Microsoft apresentou a proposta deste padro ao lanar a primeira verso do seu servidor http, o IIS. A
primeira verso dos IIS j suportava este padro e a Microsoft no economizou esforos para tornar a
interface ISAPI o padro dominante do ambiente Windows.

 ISAPI  Primeira aplicao


 File New Other, clique em Web Server
Application, ser aberta a tela abaixo, clique na
opo ISAPI/NSAPI Dynamic Link Library.

 D um clique duplo dentro


do WebModule1, ser aberta a
tela para editar as aes
Editing WebModule1.Actions

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 756


 Clique em Add New ( Ins ) para adicionar uma ao.

 Clique na aba Events, clique duplo no evento OnAction.

 D um clique duplo em OnAction e digite a linha abaixo:

Abra o Painel de Controle, ( estou usando Windows XP Professional ) abra Ferramentas


Administrativas, d um clique duplo em Internet Information Services, vamos criar um Alias e apontar
para pasta / diretrio onde esta o projeto que fizemos no Delphi.


Posicione o ponteiro do mouse sobre a opo
Site da Web padro, clique no boto direito,
clique em Novo, Diretrio virtual, clique para
prosseguir, clique no boto Avanar, ser aberta
uma tela, digite o nome do Alias isapi1, clique em
Avanar, digite no nome do caminho / pasta onde
se encontra o projeto que voc fez no Delphi,
neste exemplo o caminho c:\aaa , clique no boto
Avanar, marque os quadrinhos abaixo...

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 757


Abra o navegador da Internet e digite a linha http://localhost/isapi1/project1.dll

Arquivos que
compe este
projeto.

Este o resultado.

 ISAPI  Mostrando Hora


Para cada aplicao ISAPI precisamos definir um Alias com no Internet Information Services.

 File New Other, clique em Web Server Application, ser aberta a tela abaixo, clique na opo
ISAPI/NSAPI Dynamic Link Library.

 D um clique duplo dentro


do WebModule1, ser aberta a
tela para editar as aes
Editing WebModule1.Actions

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 758


 Clique na aba Events, clique duplo no evento OnAction.

 Insira um componente PageProducer1 que est na aba Internet.

 Clique em PageProducer1, clique na aba Events e d um clique duplo em OnHTMLTag e digite as


duas linhas abaixo:

ou

 Clique na propriedade HTMLDoc TStrings, ser aberta uma pequena tela, dentro desta so colocados os
cdigos Html.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 759


 Compile o projeto, veja abaixo os arquivos gerados:

Clique no componente WebModule1.

Clique duplo em (TWebActionItems), ser aberta a tela abaixo. Clique na propriedade


ProducerContent, clique no drop-down e escolha a opo PageProducer1.

Crie um alias para testar o projeto em sua mquina, aps testado poder ser enviado para um servidor na
Internet. Estou usando o Inernet Information Server ( Windows XP Pro ), se voc estiver usando o
Windows 98 poder usar o servidor PWS que se encontra em uma sub-pasta do cd do Windows.Abra o
Painel de Controle, abra Ferramentas Administrativas, d um clique duplo em Internet Information
Services, vamos criar um Alias e apontar para pasta / diretrio onde esta o projeto que fizemos no Delphi.

 Posicione o ponteiro do mouse sobre a opo Site da


Web padro, clique no boto direito, clique em Novo,
Diretrio virtual, clique para prosseguir, clique no boto
Avanar, ser aberta uma tela, digite o nome do Alias
Hora, clique em Avanar, digite no nome do caminho /
pasta onde se encontra o projeto que voc fez no Delphi,
neste exemplo o caminho c:\Isapi_aula10 , clique no
boto Avanar, marque os quadrinhos abaixo...

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 760


Abra o navegador e digite http://localhost/hora/Projeto_Hora.dll
Lembre-se, hora o nome do alias, o arquivo projeto_hora.dll gerado aps compilar ( Ctrl F9 ).

ATENO:
Se alterar o programa e compil-lo novamente o Delphi mostrar uma mensagem de erro abaixo...
e se tentar apagar o arquivo projeto_hora.dll o Windows
no permitir. Este problema tinha no Windows 98, este exemplo foi feito no Windows XP Pro, portanto se
algum tiver alguma dica para resolver este problema ficaria contente

Se fizer 5 alteraes, terei que salvar o mesmo projeto com 5 nomes diferentes ... this makes me stressed ! ...

 ISAPI  Listando registros do Cadastro de Clientes


Projeto que lista todos os Clientes cadastrados na tabela ( paradox ).
 Crie a tabela abaixo.

 File New Other, clique em Web Server Application, ser aberta a tela abaixo, clique na opo
ISAPI/NSAPI Dynamic Link Library.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 761


 D um clique duplo dentro
do WebModule1, ser aberta a
tela para editar as aes
Editing WebModule1.Actions

 Clique na aba Events, clique duplo no evento OnAction.

 Insira dois componentes, PageProducer1 ( aba Internet ) e um Table ( aba BDE ).

Clique no componente Table e defina as propriedades:


DababaseName: C:\Isapi_Dados\Dados ( caminho onde esta a
tabela de dados ) , TableName: Clientes.db, posicione o
ponteiro do mouse sobre o componente Table, clique no boto
direito em Fields Editor, ser aberto uma pequena tela, clique
no boto direito e clique em Add Fields e Ok para adicionar
todos os campos da tabela. Propriedade Active = True

 Clique no WebModule1 e defina a propriedade OnCreate e OnDestroy.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 762


 Clique no componente PageProducer1, clique duplo no evento OnHTMLTag e digite o cdigo abaixo:

Abra o Internet Information Server ( ou IIS ) com um clique duplo, posicione o ponteiro do mouse sobre
a opo Site da Web padro, clique no boto direito, clique em Novo, Diretrio virtual, clique para prosseguir,
clique no boto Avanar, ser aberta uma tela, digite o nome do Alias lista1, clique em Avanar, digite no nome do
caminho / pasta onde se encontra o projeto que voc fez no Delphi, neste exemplo o caminho c:\Isapi_dados ,
clique no boto Avanar, marque os quadrinhos abaixo...

Abra o navegador e digite a linha http://localhost/lista1/projeto_lista_clientes3.dll

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 763


O relatrio da pgina anterior est com uma distribuio horrvel, para resolver esta situao usaremos
outro componente da aba Internet chamado de DataSetTableProducer1. D um clique duplo sobre
DataSetTableProducer1 ser aberta a tela abaixo:

Clique nas vrias propriedades


da tabela e defina as
propriedades de acordo com
seu gosto.

Antes de alterar as
propriedades da coluna clique
no campo desejado, neste caso
Clie_Codigo.
Alterei a cor de fundo do
primeiro campo, e cor de toda a
coluna, o nome da coluna,
alinhamento para direita da
coluna.

Selecione todos os campos e alterei as cores de uma nica vez.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 764


Para listar os registros precisamos mudar a propriedade ProducerContent para
DataSetTableProducer1. D um clique duplo em WebModule1 para abrir a tela de aes, veja logo
abaixo:

Veja como ficou o resultado

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 765


 Como ver meu IP ?
Outra maneira ...

Aps clicar no boto ser mostrado no Label1 o IP

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 766


 Como ver IP local e do Servidor ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 767


 Como pegar IP de um determinado servidor ?

Insira dois Edits, um Bitbtn,


uma Satus Bar ( aba Win32 ),
um NMFinger ( aba FastNet )

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 768


-

 Como mostrar nome do Host ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 769


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 770
 Como criar navegador de pginas ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 771


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 772
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 773
 Como criar rastreador de portas ( Port Scanner ) ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 774


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 775
 Como criar um simples programa Chat ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 776


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 777
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 778
 Como criar um Cliente e Servidor ?
Este exemplo mostra como enviar mensagens para um outro computador na Internet ou rede local, basta
saber o IP da segunda mquina ( servidor ), tambm, o servidor dever estar rodando na segunda mquina.
Cliente Insira um RichEdit e nomeia
a propriedade Name para
RichEdit_Usuario

Insira um Splitter
( aba Additional )

Clique no componente
ClientSocket1 e na propriedade
Port digite 9923 Insira um Memo e nomeie a
Este componente esta na aba propriedade Name para
Internet Memo_Resultado

Insira uma StatusBar, d um clique duplo


sobre esta, clique em Add new e na
propriedade Text digite Sem conexo...

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 779


Este o Servidor, est
na segunda pgina.
Execute o programa
Servidor para abrir a
porta 9923

Este um componente
Memo e logo abaixo
uma StatusBar.

Servidor

A propriedade Port
deste componente devet
tambm ser 9923 para
que haja comunicao
entre ambos.
Este componente esta na
aba Internet

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 780


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 781
 Como criar um programa de email ( 1 ) ?

Aps digitado a
mensagem esta ser
enviada para o Outlook
Express e para enviar
basta clicar no boto
Enviar

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 782


 Como criar um programa de email ( 2 ) ?

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 783


Conecte na internet...
Execute o programa acima, preencha os campos necessrios e clique enviar

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 784


 Programa de email completo
Neste exemplo voc poder enviar para vrios destinatrios, vrias cpias, cpias ocultas e anexar arquivos.

Insira um RadioGroup
(aba Standard )

Insira um
ListBox
( aba Standard
)

Insira um
ListView
( aba Win32 )

Insira um componente
Insira dois componentes
OpenDialog ( aba Dialogs )
NMSMTP ( aba FastNet )

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 785


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 786
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 787
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 788
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 789
 Como fazer email bomba ? ( 1 )

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 790


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 791
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 792
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 793
 Como fazer email bomba ? ( 2 )
Neste exemplo usaremos arquivos de nmeros no format .gif e animao

Insira um componente
Insira um
Animate ( aba Win32 )
componente Insira 4
ProgressBar componentes
TImage ( aba
Insira um Additional )
NMSMTP1
( aba FastNet )

Quando o email est


Voc precisar 4 arquivos de imagens sendo enviado o
numricas, estes arquivos possuem a componente Animate
extenso .bmp mostrar a animao.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 794


Quando emails esto
sendo enviados a
pastinha ser animada.

Digite estas
linhas.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 795


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 796
 Como criar link ? Ao clicar ser aberto um site
No incio do programa na clusula Private digite:
 Digite a procedure na clusula Private:

 Digite procedure Linkar: Insira um Label, clique na


aba Events, clique duplo
no evento OnClick e
digite linha abaixo.

No evento OnClick digite a


linha ao lado.
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 797
 Programa de comunicao interna
J vimos um programa anteriormente similar, porm este permitir abrir e fechar o cd-rom da outra mquina,
ocultar e mostrar a barra de ferramentas, ocultar e mostrar os cones da rea de trabalho etc.

Insira um
Defina a propriedade Port para componente
35000 para os dois compoentes Memo1
Cliente e Servidor.
Insira um
componente
ImageList ( aba
Additional )

Insira um componente
MainMenu

Inicio doprograma fonte:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 798


Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 799
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 800
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 801
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 802
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 803
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 804
Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 805
Como testar o programa acima:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 806


No menu, clique na opo ser servidor

Clique no menu Opes, clique em conectar ao servidor, ser aberta uma caixa de dilogo, digite o ip local
padro 127.0.0.1 e ok

 Como gerar aquivo .html com todos registros ?


O exemplo a seguir mostra como gerar um arquivo .html com todos os registros de um tabela.

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 807


Arquivo gerado:

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 808


 Como obter cdigo fonte de um site ?
Insira um componente Memo1 e um NMHTTP.

Este componente
est na aba FastNet.

Retornar o Memo o cdigo html


do site www.tpa.com.br

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 809


 Como por imagem na StatusBar ?............................................................................................................. 632
 Como trocar papel de parede ? .................................................................................................................. 633
 Como clicar em uma determinada imagem ? ............................................................................................ 635
 Rave  Criando relatrio ........................................................................................................................... 636
 Rave Relatrio  Criando relatrio no Delphi 7.0 ................................................................................. 638
 Inserindo Data e Nmero de pgina no cabealho do relatrio ................................................................ 651
 Usando componentes CheckBox e RadioButton....................................................................................... 652
 Criando senha ( 1 ) ................................................................................................................................... 653
 Criando senha ( 2 ) .................................................................................................................................... 655
 Restringir rea do mouse........................................................................................................................... 658
 Como usar os Agentes da Microsoft ?...................................................................................................... 659
Peedy  Palavras de animao do Papagaio ............................................................................................. 663
Merlin  Palavras de animao do Mago.................................................................................................... 665
Genie  Palavras de animao do Gnio..................................................................................................... 667
 Como exportar e importar arquivos textos (.txt) ? ................................................................................... 670
 Como criar um editor de textos ? .............................................................................................................. 673
 Como imprimir arquivo no Word atravs do Delphi ?.............................................................................. 679
 Como abrir programas da Microsoft ? ..................................................................................................... 681
 Como abrir unidade de cd-rom, bloco de notas etc. ? ............................................................................... 682
 Como esconder o boto iniciar ? .............................................................................................................. 684
 Como esconder cones da rea de trabalho ?............................................................................................. 685
 Como esconder o relgio da barra de tarefas do Windows ? .................................................................... 685
 Como tocar arquivo de som do tipo .wav ? .......................................................................................... 685
 Como ressetar, desligar o computador ? ................................................................................................... 686
 Como tocar arquivo de som do tipo .wav, .mid e .mp3 ? ..................................................................... 686
 Como abrir utilitrios do Painel de Conrole do Windows ? ..................................................................... 687
 Windows Explorer..................................................................................................................................... 690
 Como colocar imagem no fundo do formulrio ? ..................................................................................... 690
 Como animar imagem ? ........................................................................................................................... 691
 Formulrio simulando cortina ................................................................................................................... 692
 Como criar uma barra flutuante ?.............................................................................................................. 693
 Como capturar contedo de uma tela ? .................................................................................................... 695
 Como gravar imagem na tabela paradox ? ................................................................................................ 696
 Como encriptografar imagem/foto na tabela ? .......................................................................................... 697
 Como encriptografar texto ? ( 1 ) ............................................................................................................. 699
 Como encriptografar texto ? ( 2 ) ............................................................................................................. 700
 Como encriptografar texto ? ( 3 ) .............................................................................................................. 702
 Programa para gerar cdigo de acesso................................................................................................... 705
 Como usar o componente StatusBar ?....................................................................................................... 706
 Como criar barra de ttulo ?...................................................................................................................... 707
 Como converter Rich Text em arquivo .Bmp ?......................................................................................... 708
 Como criar formulrio com cor gradiente ? .............................................................................................. 710
 Como fazer um letreiro ?........................................................................................................................... 711
 Como criar um slide ? ............................................................................................................................... 712
 Como criar um relgio flutuante ? ............................................................................................................ 713

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 810


 Como fazer um contador para finalizar programa ?.................................................................................. 715
 Como criar programa para listar tarefas ? ................................................................................................ 716
 Como desativar o teclado e o mouse por 10 segundos ? .......................................................................... 717
 Como animar um boto ? ......................................................................................................................... 717
 Como apagar arquivos do Cache do Internet Explorer ?........................................................................... 718
 Como evitar que a tela no seja redimensionada ?.................................................................................... 719
 Como encriptografar senha ?..................................................................................................................... 719
 Como matar processos ? ........................................................................................................................ 720
 Como fazer um formulrio invisvel ? ...................................................................................................... 722
 Como definir imagem no fundo do formulrio ? ...................................................................................... 725
 Como abrir um programa com parmetro ? .............................................................................................. 726
 Como visualizar arquivo de vdeo (.avi) ? ............................................................................................... 727
 Como usar algumas classes do Windows ? ............................................................................................... 727
 Como definir imagem em um boto do tipo Button ? ........................................................................... 728
 Como forar posicionamento em uma coluna ? ........................................................................................ 728
 Como gravar arquivo de som do tipo .wav ?............................................................................................. 729
 Como girar imagem no formulrio ?......................................................................................................... 734
 Como trocar papel de parede ? .................................................................................................................. 737
 Como usar OLE ? ..................................................................................................................................... 738
 Como obter cdigo serial do HD ?........................................................................................................... 740
 Como mostrar mensagem mais demorada ?............................................................................................. 741
 Como imprimir contedo de um Memo ? ................................................................................................ 741
 Como ocultar e mostrar ponteiro do mouse ?........................................................................................... 742
 Como ligar e desligar Capslock ?............................................................................................................. 742
 Como obter informaes: label, serial... ?................................................................................................. 743
 Como verificar programas que esto abertos ? ........................................................................................ 743
 Como verificar se Drive esta Ok ? ........................................................................................................... 744
 Como criar e gravar em um arquivo .ini ?................................................................................................ 744
 Gravando e lendo dados no registro regedit .......................................................................................... 746
 Fecha aplicativo com a mensagem Erro fatal ........................................................................................ 747
 Como definir senha para tabela paradox ? ............................................................................................. 748
 Como criar um despertador agenda........................................................................................................... 750
 Como ver meu IP ?.................................................................................................................................... 766
 Como ver IP local e do Servidor ? ............................................................................................................ 767
 Como pegar IP de um determinado servidor ? .......................................................................................... 768
 Como mostrar nome do Host ?.................................................................................................................. 769
 Como criar navegador de pginas ? .......................................................................................................... 771
 Como criar rastreador de portas ( Port Scanner ) ? ................................................................................... 774
 Como criar um simples programa Chat ? .............................................................................................. 776
 Como criar um Cliente e Servidor ?.......................................................................................................... 779
 Como criar um programa de email ( 1 ) ? ................................................................................................ 782
 Como criar um programa de email ( 2 ) ? ................................................................................................. 783
 Programa de email completo..................................................................................................................... 785
 Como fazer email bomba ? ( 1 ).............................................................................................................. 790
 Como fazer email bomba ? ( 2 ).............................................................................................................. 794
 Como criar link ? Ao clicar ser aberto um site ................................................................................... 797
 Programa de comunicao interna ............................................................................................................ 798
 Como gerar aquivo .html com todos registros ?........................................................................................ 807
 Como obter cdigo fonte de um site ?....................................................................................................... 809

Delphi Aplicado  by Jurandir A. Pellin Timb (E-mail: delphiewb@gmail.com) 811