Baixe o app para aproveitar ainda mais
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:
Compartilhar