Prévia do material em texto
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 632
���� 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 divisões. Na primeira,
terceira e quarta divisão da StatusBar
defina a propriedade Style para
psOwnerDraw, para mostrar a
imagem.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 633
���� Como trocar papel de parede ?
Este é mais um código ( 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) 634
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 635
���� Como clicar em uma determinada imagem ?
� Insira um formulário. 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, faça um
retângulo 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 invisível.
� Clique no primeiro Shape que foi armado sobre a primeira imagem, clique no evento OnMouseDown e
digite:
Observe esta imagem, as
propriedades ainda não
foram definidas, de
acordo com o item 3.
““““TTTTTTTThhhhhhhhaaaaaaaannnnnnnnkkkkkkkk YYYYYYYYoooooooouuuuuuuu
LLLLLLLLoooooooorrrrrrrrdddddddd
FFFFFFFFoooooooorrrrrrrr MMMMMMMMyyyyyyyy
TTTTTTTTwwwwwwwwoooooooo
LLLLLLLLoooooooovvvvvvvveeeeeeeellllllllyyyyyyyy
BBBBBBBBlllllllleeeeeeeesssssssssssssssseeeeeeeedddddddd SSSSSSSSoooooooonnnnnnnnssssssss””””
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 636
���� Rave ���� Criando relatório
No artigo anterior apresentei minhas experiências com ferramentas de relatórios para desenvolvimento de
projetos Delphi. Neste estarei apresentando os componentes da paleta RAVE e, no próximo, partirei para a
prática da construção de relatórios usando essa ferramenta.
Ficou bastante claro que essa suíte de componentes se distingue das demais pelo fato de possibilitar um
desenvolvimento estritamente baseado em código de programação Delphi.
Essa técnica, apesar de trabalhosa, é bastante flexível, pois possibilita ao programador mais experiente
desenvolver seus próprios métodos de criação de relatórios, sem muita dependência dos recursos
disponibilizados pelo ambiente
gráfico da ferramenta.
Porque utilizar o desenvolvimento em código runtime?
Imagine a seguinte situação:
Preciso montar um Relatório de Vendas e apresente o movimento diário por Cidade e por Vendedor.
Seu layout deverá obedecer aos seguintes critérios de impressão:
As vendas de segunda-feira à quarta-feira ficarão à esquerda do relatório na
cor azul.
As vendas da quinta-feira e sexta-feira, serão impressas à direita na cor verde.
As vendas do sábado serão impressas numa folha individual.
Na última página deverá ser emitido um resumo semanal de vendas.
Vendedores sem vendas no período deverão estar em negrito.
Experimente montar esse relatório usando queries SQL em um ambiente de criação de relatórios
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 dirão que estou sendo extremista. Claro, estou... as dificuldades que o desenvolvedor enfrenta
na construção de projetos corporativos costumam ser maiores e os prazos cada vez menores! Esta é a nossa
realidade. Estaremos sempre nos deparando com questões de difícil e trabalhosa solução. Precisamos aplicar
a ferramenta certa para cada problema. Não existe uma ferramenta mágica que atenda a uma
heterogeneidade de propósitos.
Se a construção de relatórios difíceis é um dos seus problemas, então, com certeza, o RAVE veio para
facilitar bastante o seu trabalho de desenvolvimento.
Quem é o RAVE?
A incorporação 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 não são compatíveis 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 disponíveis para download não são compatíveis com o Delphi 7.0 e RAVE 5.0, pois
foram baseados no RAVE 4.09.
Houve uma mudança no nome das classes da versão 4.09 para 5.0 e alguns componentes simplesmente
desapareceram. Isto inviabilizará o uso dos exemplos de demonstração da versão 4.09. Quem já utilizava o
RAVE (ou, no meu caso, o ReportPrinter) terá que modificar seus projetos para garantir a compatibilização
do Delphi 5/6 com o 7.0.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 637
Produtos de terceiros, tipo o excelente Rave for Renders da Pragnaam (http://www.pragnaan.com) não são
compatíveis. Deverão ser rescritos. A Borland não disponibiliza o código fonte do RAVE. Este deverá ser
adquirido junto à Nevrona. Até aí, nada de novo, já era assim com o QuickReport. É a técnica que a Borland
usa para promover seus parceiros de soluções.
Percebi alguns pequenos bugs na versão 5.0 do RAVE, principalmente na sua IDE de criação de relatórios.
A Nevrona está prometendo para breve um patch de correção.
Um bug interessante (se é que Bugs podem ser interessantes) acontece na versão 98 do Windows. quando o
usuário tenta salvar um relatório criado na IDE. Uma mensagem de erro o informará que não existe espaço
livre no disco rígido (!). O relatório só será salvo se você apontá-lo para a pasta raiz do drive. Cheguei a essa
conclusão depois de perder vários trabalhos desenvolvidos na IDE.
O desenvolvedor inicialmente enfrentará o problema da falta de documentação e demos atualizados para a
versão adotada pelo Delphi 7.0. Isto será apenas uma questão de tempo, pois esta será a solução oficial para
criação de relatórios em Delphi à partir da versão 7.0.
Não percebi mudanças substanciais na engine básica do componente. Acredito que essa evolução tenha
caminhado basicamente para o lado do design de relatórios usando a IDE do RAVE.
Os legionários do ReportBuilder (http://www.digital-metaphors.com) a acharão muito confusa, e realmente
é. Levem em consideração 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 propósito, nos fóruns "borland.public.delphi.thirdparty-tools" e "borland.public.delphi.reporting-charting"
está acontecendo um duelo de titãs entre os criadores do RAVE e do ReportBuilder. Vale a pena acompanhá-
la, é uma discussão de alto-nível onde cada um expõe os recursos de sua ferramenta em comparação com a
concorrente. Se você não usa News, procure pelas palavras "Delphi" "RAVE" "ReportBuilder" no
http://groups.google.com.
Para conhecer melhor o produto RAVE, recomendo o download da documentação oficial da Nevrona nos
endereços abaixo. São dois arquivos PDF (mais de 600 páginas) com uma excelente descrição técnica 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
Não deixe de visitar também a seção de Tips & Tricks.A maioria das dicas estão
desatualizadas, porém o código é compatível com as novas versões.
http://www.nevrona.com/rave/tips.shtml
O Delphi 7.0 traz alguns demos de relatórios do RAVE na pasta RAVE5\\DEMOS, porém a
Borland se esqueceu de um arquivo importante, o arquivo de projeto do demo (arquivo
.DPR), dificultando assim sua compilação pelos usuários com pouco conhecimento do Delphi.
Para quem não sabe, RAVE significa "Report Authoring Visual Environment".
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 638
���� Rave ����Relatório ���� Criando relatório no Delphi 7.0
Fazer relatório no Delphi 7 é totalmente diferente comparando ao Delphi 6.0. Abaixo faremos um relatório exemplo
usando o novo recurso, aba Rave.
� Crie a tabela abaixo.
� Crie o formulário de entrada de dados com o Form Wizard e insira um botão para abrir o relatório.
� Insira dois componentes, RvProject1 e RvTableConnection1 ( veja aba Rave ).
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 639
� 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 números.
� � � �
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 640
� Demarca a região onde serão definidas as bandas e onde mostrará / listará os registros do relatório.
Band Component - Insira um Banda ( Band1 ) e nesta banda vamos inserir um cabeçalho.
�
�
No ponto verde pode ser aumentado
na altura da banda, mantenha
pressionado no botão e arraste para
cima e para baixo.
Note que a altura da região da caixa esta
baixa, ou seja, imprimirá cerca de 5 ou 6
registros neste espaço.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 641
Agora vamos inserir um cabeçalho no relatório. Para isto usaremos a aba Standard e o componente “T” (
Text Component )
� Para definir um título para página Band1.
� Vamos usar a aba Drawing para definir uma linha abaixo do título Relatório 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) 642
�� Banda cabeçalho dos dados ( Band 2 - band component ). Clique na aba Standard e insira 3 componentes Text
Component.
�� DataBand Component - Banda onde dados da tabela são mostrados, impressos. Insira uma
DataBand Component que esta na aba Report.
�
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 643
�� Data Text component - Insira três componentes Data Text component. Este componente permite
associar ao campo da tabela.
�� Clique no ícone View.
�� Clique em Database Connection, após clique no botão Next, será aberta a página ao lado.
�
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 644
�� Defina o Alias ( nome do Alias é Rave1 ) e o tipo de driver da tabela de dados ( Paradox ).
� Clique em Direct Data View, após clique no botão Next, será aberta a página 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) 645
�� Definindo campo Clie_Codigo ( código do cliente ). Clique no componente DataText1, clique em
DataField escolha o nome do campo Clie_Codigo, clique no botão Insert Field. Após clique em
DataView e defina DataView1.
�
Clique na primeira banda ( Band1 ), clique em BandStyle, será aberta a tela abaixo, após clique em
ControllerBand e defina DataBand1.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 646
�� Clique na primeira banda ( Band2 ), clique em BandStyle, após 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 opção
Detail
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 647
�� Definindo campo Clie_Nome ( código do cliente ). Clique no componente DataText2, clique em
DataField escolha o nome do campo Clie_Nome, clique no botão Insert Field. Após clique em
DataView e defina DataView1.
Clique na banda Databand
Component, clique na
propriedade BandStyle,
será aberta uma tela para
definir propriedades, veja
página anterior.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 648
�� 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 botão Insert Field. Após clique
em DataView e defina DataView1.
�� Clique no ícone Save Project para salvar o relatório, neste arquivo serão 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
relatório
( Project2.rav ).
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 649
Relatório pronto. ☺ ufa ! ... imagina... este é um relatório bem simples ... ☺
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 650
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 651
���� Inserindo Data e Número de página no cabeçalho do relatório
� Clique duplo sobre o componente , clique na aba Report, insira um componente Data Text Component.
� Digite o texto entre aspas simples e o sinal
de mais:
‘Data: ‘ +
Clique no drop down em Report Variables,
escolha DateShort e clique no botão Insert
Report Var, após digite o caracter mais ( + ),
após digite:
+ ‘ Página ‘ +
Clique no drop down Report Variables,
escolha CurrentPage para imprimir página
atual.
� Clique no componente
DataText Component ,
clique na propriedade
DataField [...], será aberta
a tela abaixo.
Digite ‘ Data: ‘ +
Digite + ‘ Página ‘ +
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 652
���� Usando componentes CheckBox e RadioButton
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 653
���� Criando senha ( 1 )
� Insira um Form, um MaskEdit ( aba Additional ) e um Bitbtn. O usuário terá 3 chances, se na terceira a
senha for digitada errada será abortado o programa. Na propriedade Name do formulário digite Senha_Frm.
� Abra seu projeto, clique no ícone View Unit ou pressione Ctrl F12 e coloque duas barrinhas diante do
nome do formulário da senha para cancelar esta linha.
Coloque duas barrinhas ( // )
diante da linha que abre o
formulário da senha para que
esta não seja carregada.
No evento OnClick
do botão Bitbtn acima
(OK ) digite o código
que está na direita.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 654
� Project • options, clique no sinal de maior ( > ) para deslocar o formulário da senha para direita.
� Após a senha qual é o formulário que você deseja abrir ?, neste exemplo abriremos o Menu de opções.
O formulário da senha deve estar
do lado direito ( Available forms,
ou formulários disponíveis )
No evento OnActivate do
formulário do Menu digite o
código abaixo.
Senha_Frm é o
formulário da senha.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 655
���� 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.
Código fonte completo da tela acima:
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 656
� File • New • Unit. O Delphi mostrará o conteúdo abaixo básico abaixo, você terá que digitar (
implementar ) a Unit da senha. Este código poderá ser usado ( aproveitado ) em qualquer outro programa ou
sistema que desejar.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 657
Veja abaixo o programa fonte da Unit da página anterior. A unit abaixo foi salva com o nome de
Rotinas.pas.
Foi criado um arquivo de Rotinas para facilitar ( tornar mais dinâmico ) o uso futuro da função senha.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 658
� Clique no ícone View Unit ( Ctrl F12 )
���� Restringir área do mouse
Após Application.Initialize digite: If TelaDeLogin then
Begin … e na parte final do programa digite Else
Application.Terminate
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 659
���� 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) Faça download dos Agentes no site da Microsoft. Para instalar basta dar um clique duplo em cada um
dos agentes e Ok, very easy ☺, existem vários agentes e não somente agentes da Microsoft mas também de
outras empresas.
2) Abra o Delphi, na opção Component – Import ActiveX Control, clique em Microsoft Agent Control
2.0 e Install ( para instalar o componente )
Selecione o Agente
clicando, após clique
no botão Install.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 660
Crie um projeto novo no Delphi, no formulário principal insira o componente Agent que está na aba
ActiveX
Se o campo Nome não for preenchido faremos com que o Agente Papagaio apareça mostrando uma
mensagem.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 661
Na seção Private
digite esta linha.
Se não for preenchido o
campo Nome o Papagaio
aparecerá e fará as ações
definidas e desaparecerá.
Clique no Agente e no
evento OnBallonHide
digite o código ao lado.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 662
Agente: Peedy
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 ações.
O foco esta no campo Nome,
se deixar o campo nome em
branco o agente será exibido e
fará suas ações.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 663
Peedy ���� Palavras de animação do “ Papagaio ”
Animação Retorno da animação Fala ? Som Estado Descrição
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
IdlingLevel2
Blinks eyes
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
Animação Retorno da animação Fala ? Som Estado Descrição
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
IdlingLevel2
Takes breath
Idle1_2 None No No IdlingLevel1
IdlingLevel2
Glances right and blinks
Idle1_3 None No No IdlingLevel1
IdlingLevel2
Glances left and blinks
Idle1_4 None No No IdlingLevel1
IdlingLevel2
Glances up and blinks
Idle1_5 None No No IdlingLevel1
IdlingLevel2
Glances down and blinks
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) 664
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
Animação Retorno da animação Fala ? Som Estado Descrição
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 LookUpReturnNo 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) 665
Animação Retorno da animação Fala ? Som Estado Descrição
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 animação do “Mago”
Animação Retorno da animação Fala ? Som Estado Descrição
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
IdlingLevel2
Blinks eyes
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
IdlingLevel2
Takes breath
Idle1_2 Yes, using Exit branches No No IdlingLevel1
IdlingLevel2
Glances left and blinks
Idle1_3 Yes, using Exit branches No No IdlingLevel1
IdlingLevel2
Glances right
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 666
Animação Retorno da animação Fala ? Som Estado Descrição
Idle1_4 Yes, using Exit branches No No IdlingLevel1
IdlingLevel2
Glances up to the right and blinks
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
Animação Retorno da animação Fala ? Som Estado Descrição
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) 667
Genie ���� Palavras de animação do “Gênio”
Animação Retorno da animação Fala ? Som Estado Descrição
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 No None Raises hand
Blink None No No IdlingLevel1
IdlingLevel2
Blinks eyes
Confused Yes,using Exit
branches
Yes No None Scratches head
Congratulate Yes, using Exit
branches
Yes Yes None Applauds
Congratulate_2 Yes, using Exit
branches
Yes No None Gives thumbs-up gesture
Decline Yes, using Exit
branches
Yes No None Raises hands and shakes head
DoMagic1 None Yes No None Turns to side and raises hands
DoMagic2 Yes, using Exit
branches
No Yes None Lowers hands, 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 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
branches
Yes No 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 into smoke
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 668
Animação Retorno da animação Fala ? Som Estado Descrição
Idle1_1 None No No IdlingLevel1
IdlingLevel2
Takes breath
Idle1_2 None No No IdlingLevel1
IdlingLevel2
Glances right and blinks
Idle1_3 Yes, using Exit
branches
No No IdlingLevel1
IdlingLevel2
Glances left and blinks
Idle1_4 None No No IdlingLevel1
IdlingLevel2
Glances up to the right and blinks
Idle1_5 Yes, using Exit
branches
No No IdlingLevel1
IdlingLevel2
Glances down and blinks
Idle1_6 None No No IdlingLevel1
IdlingLevel2
Glances up and blinks
Idle2_1 None No No IdlingLevel2 Wisp snakes
Idle2_2 Yes, using Exit
branches
No No IdlingLevel2 Reveals scroll and reads
Idle2_3 Yes, using Exit
branches
No No IdlingLevel2 Reveals scroll and writes
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 No None Spins into a cloud
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 669
Animação Retorno da animação Fala ? Som Estado Descrição
Processing Yes, using Exit
branches
No No None Spins into a cloud (*looping animation)
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
branches
No Yes None Reveal scroll and reads (*looping animation)
RestPose None Yes No Speaking Neutral position
Sad Yes, using Exit
branches
Yes No None Sad expression
Search No No No None Reveals binoculars and turns
Searching Yes, using Exit
branches
No No None Reveals binoculars and turns (*looping
animation)
Show None No Yes Showing Appears out of smoke
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 No None Displays lightbulb
Surprised Yes, using Exit
branches
Yes No 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 Moves one hand to chin, other to hip, and
raises right eyebrow
Wave Yes, using Exit
branches
Yes No None Waves
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
branches
No Yes None Reveals scroll, writes (*looping animation)
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 670
���� Como exportar e importar arquivos textos (.txt) ?
Exportando e importando arquivo texto com campos de tamanhos variáveis.
� Crie a tabela abaixo.
���� Insira um formulário, um DBgrid, um Table, um DataSource e 3 botões.
Arquivo TEXTO
Este código lerá registros
com de tamanho variável,
logo adiante veremos
como ler registros com
tamanhos fixos.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 671
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 672
Registros com tamanhos fixos:
Arquivo texto de tamanho fixo = clientes_fixo.txt
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 673
���� Como criar um editor de textos ?
Clique duplo no componente MainMenu1
Insira um MainMenu, e
os componentes Dialog
( aba Dialogs )
Após ter aberto com
clique duplo o
componente
MainMenu1 adicione
as opções do menu:
defina o Caption, Name
e ShortCut.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 674
Digite
Digite
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 678
Resultado
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 679
���� Como imprimir arquivo no Word através do Delphi ?
���� Crie o arquivo abaixo no Word XP e grave com o nome Carta.doc
���� Insira um formulário e dois botões
���� Observe a linha Uses no início do programa, deve conter todas as bibliotecas abaixo.
Estes nomes são apenas variáveis e
serão substituídas pelas
informações que estão
armazenadas no programa feito no
Delphi.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 680
Digite o código abaixo:
Será criado um arquivode nome Tabela.doc via Delphi.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 681
���� Como abrir programas da Microsoft ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 682
���� 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,
proteção de tela ... Faça um formulário de acordo com o exemplo abaixo:
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 683
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 684
���� Como esconder o botão iniciar ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 685
���� Como esconder ícones da área de trabalho ?
���� Como esconder o relógio 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) 686
���� Como ressetar, desligar o computador ?
���� Como tocar arquivo de som do tipo “.wav, .mid e .mp3” ?
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
Força todos os programas a desligarem
Dá um logoff no usuário atual
Insira um componente MediaPlayer ( aba System ),
clique na propriedade VisibleButtons e defina os
valroes True ou False para os botões que deseja
visualizar ou ocultar, insira um OpenDialog
( aba Dialogs ) e insira um botão do tipo Bitbtn.
Clique no OpenDialog, clique na
propriedade Filter, clique nos 3
pontinhos ( ... ) e digite a terminações de
acordo com o gráfico ao lado.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 687
���� Como abrir utilitários do Painel de Conrole do Windows ?
Abaixo estão os códigos dos utilitários 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 Inicialização
Executa_Prog ('shell32.dll,Control_RunDLL appwiz.cpl,,3');
// Mostra propriedades: fundo
Executa_Prog('shell32.dll,Control_RunDLL desk.cpl,,0');
// Mostra propriedades: proteção de Tela
Executa_Prog ('shell32.dll,Control_RunDLL desk.cpl,,1');
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 688
// Mostra propriedades: aparência
Executa_Prog('shell32.dll,Control_RunDLL desk.cpl,,2');
// Mostra propriedades: configurações
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: segurança
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,1');
// Internet: conteúdo
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,2');
// Internet: conexão
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,3');
// Internet: programas
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,4');
// Internet: avançado
Executa_Prog('shell32.dll,Control_RunDLL inetcpl.cpl,,5');
// Configurações regionais: configurações regionais
Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,0');
// Configurações regionais: numeração
Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,1');
// Configurações regionais: moeda
Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,2'W);
// Configurações regionais: hora
Executa_Prog('shell32.dll,Control_RunDLL intl.cpl,,3');
// Configurações 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: avançado
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) 689
// 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');
// Administração 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) 690
// 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, utilitários do Painel de Controle do Windows, abrindo arquivos, opções 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 aplicação
ShellExecute(Handle, 'open', PChar('c:\Windows\Calc.exe'), nil, nil, SW_SHOW);
���� Como colocar imagem no fundo do formulário ?
Colocando uma figura de fundo no formulário
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) 691
No evento OnPaint digite os código 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 formulário 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) 692
���� Formulário simulando cortina
Ao clicar no botão será
aberta a cortina e o botão
superior ficará
temporariamente oculto,
após clicar no botão inferior
a cortina será aberta e botão
superior será exibido
novamente.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 693
���� Como criar uma barra flutuante ?
Clique na lateral
do formulário e
arraste-o.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 694
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 695
Exemplo
���� Como capturar conteúdo 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) 696
���� 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 gráfico abaixo:
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 697
���� 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) 698
Clique no botão Carrega imagem para abrir
um arquivo de imagem, antes de Salvar
clique no botão Encript / Decript, isto
criptografará ( codificará / embaralhará ) a
imagem, finalmente clique no botão Salvar
do navegador de dados.
Para decodificar a imagem basta clicar
no botão Encript / Decript
☺ Você poderá melhorar ainda mais
este exemplo ☺ Have phun ...
Salva
imagem
codificada
No mesmo botão
criptografará e
decriptografará a imagem.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 699
���� Como encriptografar texto ? ( 1 )
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 700
���� Como encriptografar texto ? ( 2 )
Digite linha na
seção public
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 701
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 702
���� Como encriptografar texto ? ( 3 )
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 705
���� Programa para gerar “código” de acesso
Gere um código de
segurança para o seu
sistema.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 706
���� 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 divisões na
barra para encaixar os “textos”
Defina a largura de cada divisão 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) 707
���� Como criar barra de título ?
Uma maneira simples para criar um barra de título personalizada.
Insira um botão 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) 708
���� Como converter Rich Text em arquivo .Bmp ?
Digite as Procedures ao lado.
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) 709
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 710
���� Como criar formulário com cor gradiente ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 711
���� Como fazer um letreiro ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 712
���� Como criar um slide ?
Insira um Label e no Capiton deste
Label digite By English Way.
Insira um SpeedButton e neste
botão insira uma imagem de um X
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 713
���� Como criar um relógio 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) 714
Para fechar o relógio,
clique com botão direito
do mouse sobre o relógio
e clique em Fechar.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 715
���� Como fazer um contador para finalizar programa ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 716
���� Como criar programa para listar tarefas ?
Tarefas que
estão na
memória do
computador.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 717
���� Como desativar o teclado e o mouse por 10 segundos ?
���� Como animar um botão ?
Após clicar no botão o teclado e
o mouse não funcionarão por 10
segundos.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 718
���� Como apagar arquivos do Cache do Internet Explorer ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail:delphiewb@gmail.com) 719
���� Como evitar que a tela não seja redimensionada ?
Não permitirá redimensionar e maximizar a tela.
���� Como encriptografar senha ?
Digite
Digite
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 720
���� Como “matar” processos ?
Insira uma StringGrid
( aba Additional ), clique na
StringGrid, clique na
propriedade ColCount e
defina o valor 3
Insira um RadioGroup
( aba Standard ), na
propriedade Columns
defina o valor 2, na
propriedade Items (...)
escreva:
Não
A cada 5 segundos
Insira um Timer ( aba
System )e na propriedade
Interval digite 5000
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 721
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 722
���� Como fazer um formulário invisível ?
Digite ...
Digite ...
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 723
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 724
Formulário Visível
Formulário Invisível
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 725
���� Como definir imagem no fundo do formulário ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 726
���� Como abrir um programa com parâmetro ?
Antes de abrir a Calculadora do Windows será passado um parâmentro e se este for diferente não abrirá a
Calculadora.
Clique em no menu do Delphi em Run, clique em Run Parameters, clique no campo Parameters e digite o
parâmetro parâmetro_senha77
Para abrir projeto clique no ícone View Unit ( Ctrl + F12 )
.
.
Digite o parâmetro
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) 727
���� Como visualizar arquivo de vídeo (.avi) ?
���� Como usar algumas classes do Windows ?
Crie um segundo formulário
Form_Mostra_Vídeo , onde
será aberto o arquivo de vídeo,
Insira um componente
MediaPlayer que está
na aba System.
Abre o Editor de
Textos Word
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 728
���� Como definir imagem em um botão do tipo “Button” ?
���� Como forçar posicionamento em uma coluna ?
No exemplo abaixo mostra como posicionar o cursor na terceira coluna de um DBGrid. O código deverá ser
digitado no evento OnShow.
� Forçar letras “maiúsculas” no DBGrid.
Key := AnsiLowerCase(Key)[1]; // minúsculas
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 729
���� Como gravar arquivo de som do tipo .wav ?
Insira um novo formulário, dois edit, um
botão SpeedButton, um SpeedEdit ( aba
Samples ), dois componentes MediaPlayer
( aba System ), um Timer ( aba System ),
um SaveDialog ( aba Dialogs ), um
GroupBox, 8 RadioButton e quatro botões
do tipo BitBtn.
Como gravar ? Ouça uma música,
música de cd e clique no botão
Começa para iniciar a gravação ☺
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 730
Digite estas
linhas
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 734
���� Como girar imagem no formulário ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 735
Digite as linhas abaixo
da seção Private
Clique no botão e
gire a foto.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 736
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 737
���� Como trocar papel de parede ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 738
���� Como usar OLE ?
É possível 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) 739
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 740
���� Como obter código serial do HD ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 741
���� Como mostrar mensagem mais demorada ?
Mostrará mensagem após pressionar botão 5 segundos.
���� Como imprimir conteúdo de um Memo ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 742
���� Como ocultar e mostrar ponteiro do mouse ?
���� Como ligar e desligar Capslock ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 743
���� Como obter informações: label, serial... ?
���� Como verificar programas que estão abertos ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 744
���� 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) 745
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 746
���� Gravando e lendo dados no registro “regedit”
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 747
���� Fecha aplicativo com a mensagem “Erro fatal”
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 748
���� Como definir senha para tabela – paradox ?
Insira um novo formulário, um
edit e 3 botões do tipo Bitbtn.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 749
Clique no botão “Adiciona senha”, será aberta uma pequena tela, digite a nova senha e clique OK. Após
cadastrado a senha feche o formulário corrente ( o cadastro atual ). Rode o programa, clique no botão Ativa
Tabela, será aberta uma tela solicitando senha, digite 123 ( senha ), após informado senha os registros serão
exibidos no formulário. Para remover senha: feche o programa ( formulário ), 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) 750
���� Como criar um despertador agenda
Insira um PageControl1 ( abaWin32 ),
clique no botão 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
Digite Const e a linha abaixo
Insira um ListBox ( aba Standard ), insira um
componente Timer ( aba Win32 ) e na
propriedade do Interval defina 2000. Insira um
componente PopupMenu ( veja abaixo ).
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 751
Digite as linhas abaixo da
seção Private
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 754
Como funciona o despertador ?
� Execute o programa, note o ícone do relógio na barra inferior.
� Clique no botão direito para ativá-lo, após clicado no botão direito será aberta uma tela de atalho.
� Clique na opção “Configura Despertador”, será aberta a tela abaixo:
A primeira paleta é para configurar o som. Paleta “Horários” configura os lembretes.
� Quando chegar a hora dos lembretes definidos soará o som programado, após clique no lembrete
programa e clique no botão “Remove”, para remover este lembrete.
Despertador
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 755
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 756
���� ISAPI ���� O que é ISAPI ?
ISAPI – Internet Server Application Programing Interface, é um padrão proposto pela Microsoft, para
criação de conteúdo dinâmico em servidores Web. ISAPI é uma alternativa ao uso de aplicações CGI e tem
como fundamental diferença o fato de ser implementado na forma de DLLs, ao invés de executáveis.
A Microsoft apresentou a proposta deste padrão ao lançar a primeira versão do seu servidor http, o IIS. A
primeira versão dos IIS já suportava este padrão e a Microsoft não economizou esforços para tornar a
interface ISAPI o padrão dominante do ambiente Windows.
���� ISAPI ���� Primeira aplicação
���� File – New – Other, clique em Web Server
Application, será aberta a tela abaixo, clique na
opção ISAPI/NSAPI Dynamic Link Library.
� Dê um clique duplo dentro
do WebModule1, será aberta a
tela para editar as ações
Editing WebModule1.Actions
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 757
� Clique em Add New ( Ins ) para adicionar uma ação.
� 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 / diretório onde esta o projeto que fizemos no Delphi.
Posicione o ponteiro do mouse sobre a opção
Site da Web padrão, clique no botão direito,
clique em Novo, Diretório virtual, clique para
prosseguir, clique no botão Avançar, será aberta
uma tela, digite o nome do Alias isapi1, clique em
Avançar, digite no nome do caminho / pasta onde
se encontra o projeto que você fez no Delphi,
neste exemplo o caminho é c:\aaa , clique no botão
Avançar, marque os quadrinhos abaixo...
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 758
� Abra o navegador da Internet e digite a linha http://localhost/isapi1/project1.dll
���� ISAPI ���� Mostrando Hora
Para cada aplicação 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 opção
ISAPI/NSAPI Dynamic Link Library.
Este é o resultado.
Arquivos que
compõe este
projeto.
� Dê um clique duplo dentro
do WebModule1, será aberta a
tela para editar as ações
Editing WebModule1.Actions
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 759
� 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 são colocados os
códigos Html.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 760
� 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 opção PageProducer1.
� Crie um alias para testar o projeto em sua máquina, após 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 / diretório onde esta o projeto que fizemos no Delphi.
�
Posicione o ponteiro do mouse sobre a opção Site da
Web padrão, clique no botão direito, clique em Novo,
Diretório virtual, clique para prosseguir, clique no botão
Avançar, será aberta uma tela, digite o nome do Alias
Hora, clique em Avançar, 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
botão Avançar, marque os quadrinhos abaixo...
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 761
Abra o navegador e digite http://localhost/hora/Projeto_Hora.dll
Lembre-se, hora é o nome do alias, o arquivo projeto_hora.dll é gerado após compilar ( Ctrl F9 ).
ATENÇÃO:
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
não permitirá. Este problema tinha no Windows 98, este exemplo foi feito no Windows XP Pro, portanto se
alguém tiver alguma dica para resolver este problema ficaria contente ☺
Se fizer 5 alterações, 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 opção
ISAPI/NSAPI Dynamic Link Library.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 762
� Clique na aba Events, clique duplo no evento OnAction.
� Insira dois componentes, PageProducer1 ( aba Internet ) e um Table ( aba BDE ).
� Clique no WebModule1 e defina a propriedade OnCreate e OnDestroy.
� Dê um clique duplo dentro
do WebModule1, será aberta a
tela para editar as ações
Editing WebModule1.Actions
Clique no componenteTable 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 botão
direito em Fields Editor, será aberto uma pequena tela, clique
no botão direito e clique em Add Fields e Ok para adicionar
todos os campos da tabela. Propriedade Active = True
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 763
� Clique no componente PageProducer1, clique duplo no evento OnHTMLTag e digite o código abaixo:
Abra o Internet Information Server ( ou IIS ) com um clique duplo, posicione o ponteiro do mouse sobre
a opção Site da Web padrão, clique no botão direito, clique em Novo, Diretório virtual, clique para prosseguir,
clique no botão Avançar, será aberta uma tela, digite o nome do Alias lista1, clique em Avançar, 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 botão Avançar, 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) 764
� O relatório da página anterior está com uma distribuição horrível, para resolver esta situação usaremos
outro componente da aba Internet chamado de DataSetTableProducer1. Dê um clique duplo sobre
DataSetTableProducer1 será aberta a tela abaixo:
Selecione todos os campos e alterei as cores de uma única vez.
Clique nas várias 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.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 765
� Para listar os registros precisamos mudar a propriedade ProducerContent para
DataSetTableProducer1. Dê um clique duplo em WebModule1 para abrir a tela de ações, veja logo
abaixo:
Veja como ficou o resultado ☺
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 766
���� Como ver meu IP ?
Outra maneira ...
Após clicar no botão será mostrado no Label1 o IP
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 767
���� Como ver IP local e do Servidor ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 768
���� 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) 769
-
���� Como mostrar nome do Host ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 770
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 771
���� Como criar navegador de páginas ?
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 774
���� Como criar rastreador de portas ( Port Scanner ) ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 775
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 776
���� Como criar um simples programa “Chat” ?
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 779
���� 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 máquina ( servidor ), também, o servidor deverá estar rodando na segunda máquina. ☺
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
Este componente esta na aba
Internet
Insira um Memo e nomeie a
propriedade Name para
Memo_Resultado
Insira uma StatusBar, dê um clique duplo
sobre esta, clique em Add new e na
propriedade Text digite Sem conexão...
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 780
Servidor
Este é o Servidor, está
na segunda página.
Execute o programa
Servidor para abrir a
porta 9923
A propriedade Port
deste componente devet
também ser 9923 para
que haja comunicação
entre ambos.
Este componente esta na
aba Internet
Este é um componente
Memo e logo abaixo
uma StatusBar.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 781
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 782
���� Como criar um programa de email ( 1 ) ?
Após digitado a
mensagem esta será
enviada para o Outlook
Express e para enviar
basta clicar no botão
Enviar
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 783
���� Como criar um programa de email ( 2 ) ?
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 784
• Conecte na internet...
• Execute o programa acima, preencha os campos necessários e clique “enviar” ☺
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 785
���� Programa de email completo
Neste exemplo você poderá enviar para vários destinatários, várias cópias, cópias ocultas e anexar arquivos.
Insira um
ListView
( aba Win32 )
Insira um
ListBox
( aba Standard
)
Insira dois componentes
NMSMTP ( aba FastNet )
Insira um componente
OpenDialog ( aba Dialogs )
Insira um RadioGroup
(aba Standard )
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 790
���� Como fazer email bomba ? ( 1 )
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 794
���� Como fazer email bomba ? ( 2 )
Neste exemplo usaremos arquivos de números no format “.gif” e animação ☺
Insira um componente
Animate ( aba Win32 ) Insira 4
componentes
TImage ( aba
Additional )
Insira um
componente
ProgressBar
Insira um
NMSMTP1
( aba FastNet )
Você precisará 4 arquivos de imagens
numéricas, estes arquivos possuem a
extensão .bmp
Quando o email está
sendo enviado o
componente Animate
mostrará a animação.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 795
Digite estas
linhas.
Quando emails estão
sendo enviados a
pastinha será animada.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 796
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 797
���� Como criar “link” ? Ao clicar será aberto um site
No início do programa na cláusula Private digite:
���� Digite a procedure na cláusula Private:
���� Digite procedure Linkar:
No evento OnClick digite a
linha ao lado.
Insira um Label, clique na
aba Events, clique duplo
no evento OnClick e
digite linha abaixo.
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 798
���� Programa de comunicação interna
Já vimos um programa anteriormente similar, porém este permitirá abrir e fechar o cd-rom da outra máquina,
ocultar e mostrar a barra de ferramentas, ocultar e mostrar os ícones da área de trabalho etc.
Inicio doprograma fonte:
Defina a propriedade Port para
35000 para os dois compoentes
Cliente e Servidor.
Insira um
componente
Memo1
Insira um componente
MainMenu
Insira um
componente
ImageList ( aba
Additional )
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
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 806
Como testar o programa acima:
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 807
No menu, clique na opção “ser servidor”
Clique no menu Opções, clique em “conectar ao servidor”, será aberta uma caixa de diálogo, digite o ip local
padrão 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) 808
Arquivo gerado:
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 809
���� Como obter código fonte de um site ?
Insira um componente Memo1 e um NMHTTP.
Este componente
está na aba FastNet.
Retornará o Memo o código html
do site www.tpa.com.br
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 810
� Como por imagem na StatusBar ?............................................................................................................. 632
� Como trocar papel de parede ? .................................................................................................................. 633
� Como clicar em uma determinada imagem ? ............................................................................................ 635
� Rave � Criando relatório ........................................................................................................................... 636
� Rave �Relatório � Criando relatório no Delphi 7.0 ................................................................................. 638
� Inserindo Data e Número de página no cabeçalho do relatório ................................................................ 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 animação do “ Papagaio ” ............................................................................................. 663
Merlin � Palavras de animação do “Mago”.................................................................................................... 665
Genie � Palavras de animação do “Gênio”..................................................................................................... 667
� Como exportar e importar arquivos textos (.txt) ? ................................................................................... 670
� Como criar um editor de textos ? .............................................................................................................. 673
� Como imprimir arquivo no Word através do Delphi ?.............................................................................. 679
� Como abrir programas da Microsoft ? ..................................................................................................... 681
� Como abrir unidade de cd-rom, bloco de notas etc. ? ............................................................................... 682
� Como esconder o botão iniciar ? .............................................................................................................. 684
� Como esconder ícones da área de trabalho ?............................................................................................. 685
� Como esconder o relógio 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 utilitários do Painel de Conrole do Windows ? .....................................................................687
� Windows Explorer..................................................................................................................................... 690
� Como colocar imagem no fundo do formulário ? ..................................................................................... 690
� Como animar imagem ? ........................................................................................................................... 691
� Formulário simulando cortina ................................................................................................................... 692
� Como criar uma barra flutuante ?.............................................................................................................. 693
� Como capturar conteúdo 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 “código” de acesso................................................................................................... 705
� Como usar o componente StatusBar ?....................................................................................................... 706
� Como criar barra de título ?...................................................................................................................... 707
� Como converter Rich Text em arquivo .Bmp ?......................................................................................... 708
� Como criar formulário com cor gradiente ? .............................................................................................. 710
� Como fazer um letreiro ?........................................................................................................................... 711
� Como criar um slide ? ............................................................................................................................... 712
� Como criar um relógio flutuante ? ............................................................................................................ 713
Delphi Aplicado ���� by Jurandir A. Pellin – Timbó (E-mail: delphiewb@gmail.com) 811
� 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 botão ? ......................................................................................................................... 717
� Como apagar arquivos do Cache do Internet Explorer ?........................................................................... 718
� Como evitar que a tela não seja redimensionada ?.................................................................................... 719
� Como encriptografar senha ?..................................................................................................................... 719
� Como “matar” processos ? ........................................................................................................................ 720
� Como fazer um formulário invisível ? ...................................................................................................... 722
� Como definir imagem no fundo do formulário ? ...................................................................................... 725
� Como abrir um programa com parâmetro ? .............................................................................................. 726
� Como visualizar arquivo de vídeo (.avi) ? ............................................................................................... 727
� Como usar algumas classes do Windows ? ............................................................................................... 727
� Como definir imagem em um botão do tipo “Button” ? ........................................................................... 728
� Como forçar posicionamento em uma coluna ? ........................................................................................ 728
� Como gravar arquivo de som do tipo .wav ?............................................................................................. 729
� Como girar imagem no formulário ?......................................................................................................... 734
� Como trocar papel de parede ? .................................................................................................................. 737
� Como usar OLE ? ..................................................................................................................................... 738
� Como obter código serial do HD ?........................................................................................................... 740
� Como mostrar mensagem mais demorada ?............................................................................................. 741
� Como imprimir conteúdo de um Memo ? ................................................................................................ 741
� Como ocultar e mostrar ponteiro do mouse ?........................................................................................... 742
� Como ligar e desligar Capslock ?............................................................................................................. 742
� Como obter informações: label, serial... ? ................................................................................................. 743
� Como verificar programas que estão 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 páginas ? .......................................................................................................... 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 comunicação interna ............................................................................................................ 798
� Como gerar aquivo .html com todos registros ?........................................................................................ 807
� Como obter código fonte de um site ?....................................................................................................... 809