6 delphi 7 729 916 - jurandir1967.co.uk

Preview:

Citation preview

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 729

Delphi 7.0

Module 6

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 730

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 731

���� Como trocar papel de parede ?

Este é mais um código ( programa ) para trocar papel de parede. Insira um componente Picture e um OpenPictureDialog.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 732

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 733

���� 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.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 734

���� 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.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 735

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. 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.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 736

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 737

���� Rave ���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 738

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 739

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 740

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 741

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 742

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 743

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 744

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 745

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 746

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 747

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 748

Relatório pronto. ☺ ufa ! ... imagina... este é um relatório bem simples ... ☺

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 749

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 750

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 751

���� Usando componentes CheckBox e RadioButton

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 752

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 753

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 754

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 755

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 756

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 757

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 758

���� Usando 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 759

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 760

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 761

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 762

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

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 763

LookDownLeft LookDownLeftReturn No No None Looks down left

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 LookUpReturn No No None Looks up

LookUpBlink LookUpReturn No Yes None Blinks looking up

LookUpReturn None No No None Returns to neutral position

LookUpLeft LookUpLeftReturn No No None Looks up left

LookUpLeftBlink LookUpLeftReturn No Yes None Blinks looking up left

LookUpLeftReturn None No No None Returns to neutral position

LookUpRight LookUpRightReturn No No None Looks up right

LookUpRightBlink LookUpRightReturn No Yes None Blinks looking up right

LookUpRightReturn None No No None Returns to neutral position

MoveDown Yes, using exit branches No Yes MovingDown Flies down

MoveLeft Yes, using exit branches No Yes MovingLeft Flies left

MoveRight Yes, using exit branches No Yes MovingRight Flies right

MoveUp Yes, using exit branches No Yes MovingUp Flies up

Pleased Yes, using exit branches Yes No None Smiles

Process None No Yes None Uses calculator

Processing Yes, using exit branches No Yes None Uses calculator (*looping animation)

Read ReadReturn Yes Yes None Opens magazine, reads and looks up

ReadContinued ReadReturn Yes Yes None Reads and looks up

ReadReturn None No Yes None Returns to neutral position

Reading Yes, using exit branches No Yes None Reads (*looping animation)

RestPose None Yes No Speaking Neutral position

Sad Yes, using exit branches Yes No None Sad expression

Search None No Yes None Reveals telescope and rotates

Searching Yes, using exit branches No Yes None Reveals telescope and rotates (*looping animation)

Show None No Yes Showing Flies in

StartListening Yes, using exit branches Yes No None Puts hand to ear

StopListening Yes, using exit branches Yes No None Puts hands to ears

Suggest Yes, using exit branches Yes Yes None Displays light bulb

Surprised Yes, using exit branches Yes Yes None Looks surprised

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 764

Think Yes, using exit branches Yes No None Looks up with wing on face

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

Animação Retorno da animação Fala ? Som Estado Descrição

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 765

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 766

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 767

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 768

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 769

���� Exportando dados para 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 770

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 771

Registros com tamanhos fixos:

Arquivo texto de tamanho fixo = clientes_fixo.txt

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 772

���� Criando 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.

Digite

Digite

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 773

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 774

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 775

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 776

Resultado

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 777

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 778

Digite o código abaixo:

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

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 779

���� Abrindo programas da Microsoft

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 780

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 781

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 782

���� Como esconder o botão iniciar ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 783

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 784

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 785

���� 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');

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 786

// Mostra propriedades: proteção de Tela Executa_Prog ('shell32.dll,Control_RunDLL desk.cpl,,1'); // 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');

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 787

// Teclado Executa_Prog('shell32.dll,Control_RunDLL main.cpl @1'); // 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');

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 788

// Assistente para adicionar nova impressora Executa_Prog('shell32.dll,SHHelpShortcuts_RunDLL AddPrinter'); // Temas Executa_Prog(,'shell32.dll,Control_RunDLL themes.cpl'); // 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);

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 789

���� Definindo 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:

No evento OnPaint digite os código abaixo:

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 790

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 791

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 792

���� Como criar uma barra flutuante ?

Clique na lateral do

formulário e arraste-o.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 793

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 794

Exemplo

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 795

���� Como capturar conteúdo de uma tela ?

Insira um componente TImage

e na propriedade Stretch defina o valor

para True.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 796

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 797

���� Como encriptografar imagem/foto na tabela ?

Tipo de campo para armazenar a imagem/foto = B

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 798

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 799

���� Como encriptografar texto ? ( 1 )

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 800

���� Como encriptografar texto ? ( 2 )

Digite linha na seção public

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 801

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 802

���� Como encriptografar texto ? ( 3 )

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 803

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 804

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 805

���� Programa para gerar “código” de acesso

Gere um código de segurança para o

seu sistema.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 806

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 807

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 808

���� 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

Digite as Procedures ao lado.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 809

���� Como converter Rich Text em arquivo .Bmp ?

Insira um componente Image ( aba Additional ) e

um componente SaveDialog

( aba Dialogs )

Insira um componente RichEdit ( aba Win32 ) e

na propriedade Lines digite um texto para converter para .bmp

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 810

���� Como criar formulário com cor gradiente ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 811

���� Como fazer um letreiro ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 812

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 813

���� Criando 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 814

���� Criando um relógio flutuante

Dê um clique duplo sobre o componente PopuMenu1 e no Caption digite &Fechar

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 815

Para fechar o relógio, clique com botão direito do mouse sobre o relógio

e clique em Fechar.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 816

���� Como fazer um contador para finalizar programa ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 817

���� Como criar programa para listar tarefas ?

Tarefas que estão na

memória do computador.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 818

���� Como desativar o teclado e o mouse por 10 segundos ?

���� Animando um botão

Após clicar no botão o teclado e o mouse não funcionarão por 10

segundos.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 819

���� Como apagar arquivos do Cache do Internet Explorer ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 820

���� Como evitar que a tela não seja redimensionada ? Não permitirá redimensionar e maximizar a tela.

���� Como encriptografar senha ?

Digite

Digite

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 821

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 822

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 823

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 824

���� Como fazer um formulário invisível ?

Digite

Digite

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 825

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 826

Formulário Visível

Formulário Invisível

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 827

���� Como definir imagem no fundo do formulário ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 828

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 829

���� 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, ou

seja, um formulário em branco.

Insira um componente MediaPlayer que está na

aba System.

Abre o Editor de Textos Word

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 830

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 831

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 832

Digite estas linhas

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 833

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 834

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 835

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 836

���� Girando imagem no formulário

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 837

Digite as linhas abaixo da seção

Private

Clique no botão e gire a foto.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 838

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 839

���� Como trocar papel de parede ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 840

���� Como usar OLE ?

Usando WordPad em um aplicativo Delphi.

Vamos incorporar um objeto externo, ou seja, o

WordPad do Windows dentro de um programa

Delphi.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 841

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 842

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 843

���� Como obter código serial do HD ?

���� Como mostrar mensagem mais demorada ?

Mostrará mensagem após pressionar botão 5 segundos.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 844

���� Como imprimir conteúdo de um Memo ?

���� Como ocultar e mostrar ponteiro do mouse ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 845

���� Como ligar e desligar Capslock ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 846

���� Como obter informações: label, serial... ?

���� Como verificar programas que estão abertos ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 847

���� Como verificar se Drive esta Ok ?

���� Como criar e gravar em um arquivo .ini ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 848

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 849

���� Gravando e lendo dados no registro “regedit”

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 850

���� Fecha aplicativo com a mensagem “Erro fatal”

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 851

���� Como definir senha para tabela – paradox ?

Insira um novo formulário, um edit e 3 botões do tipo

Bitbtn.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 852

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 853

���� Como criar um despertador agenda ?

Insira um PageControl1 ( aba Win32 ), 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 854

Digite as linhas abaixo da seção Private

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 855

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 856

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 857

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 858

ISAPI

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 859

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 860

� 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.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 861

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

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...

Este é o resultado.

Arquivos que compõe este

projeto.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 862

���� 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.

� Clique na aba Events, clique duplo no evento OnAction.

� Dê um clique duplo dentro do WebModule1, será aberta a tela para

editar as ações Editing

WebModule1.Actions

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 863

� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 864

� 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.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 865

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á. * Something is not ok in the above example and I could not figure out the problem �

�� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 866

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 867

� 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 componente Table e defina as propriedades: DababaseName:

C:\Isapi_Dados\Dados ( caminho onde esta a tabela de dados ) , TableName: Clientes.db,

posicione o ponteiro do mouse sobre o componente Table, clique no 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 868

� 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...

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 869

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

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:

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 870

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

� 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:

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 871

Veja como ficou o resultado ☺

���� Como ver meu IP ?

Outra maneira ...

Após clicar no botão será mostrado no Label1 o IP

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 872

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 873

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 874

���� Como ver IP local e do Servidor ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 875

���� Como pegar IP de um determinado servidor ?

-

Insira dois Edits, um Bitbtn, uma Satus Bar (

aba Win32 ), um NMFinger ( aba FastNet )

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 876

���� Como mostrar nome do Host ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 877

���� Como criar navegador de páginas ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 878

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 879

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 880

���� Como criar rastreador de portas ( Port Scanner ) ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 881

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 882

���� Como criar um simples programa “Chat” ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 883

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 884

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 885

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 886

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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 887

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 888

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 889

���� Como criar um programa de email ( 2 ) ?

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 890

Conecte na internet... Execute o programa acima, preencha os campos necessários e clique “enviar” ☺

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 891

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 892

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 893

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 894

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 895

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 896

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 897

���� Como fazer email bomba ? ( 1 )

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 898

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 899

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 900

���� 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 )

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 901

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.

Digite estas linhas.

Quando emails estão sendo enviados a

pastinha será animada.

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 902

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 903

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 904

���� Abrindo link no evento onclick 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 905

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 906

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 907

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 908

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 909

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 910

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 911

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 912

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 913

Testando o programa:

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 914

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

Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 915

���� 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 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 916

Arquivo gerado:

���� Como obter código fonte de um site ? Insira um componente Memo1 e um NMHTTP.

Be Always Thankful

Everything comes and goes

Este componente está na aba FastNet.

Retornará o Memo o código html do site www.tpa.com.br

Recommended