Buscar

modulo5a_ delphi_aplicado

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 180 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 180 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 180 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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:

Outros materiais