PDF - Visualize / baixe o Module 6
Transcrição
PDF - Visualize / baixe o Module 6
Delphi 7.0 Module 6 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 729 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 730 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 731 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 732 Como clicar em uma determinada imagem ? Observe esta imagem, as propriedades ainda não foram definidas, de acordo com o item 3. 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: Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 733 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 734 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 735 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 736 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 737 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 738 Demarca a região onde serão definidas as bandas e onde mostrará / listará os registros do relatório. Note que a altura da região da caixa esta baixa, ou seja, imprimirá cerca de 5 ou 6 registros neste espaço. 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. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 739 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 740 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 741 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 742 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 743 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 744 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 745 Clique na banda Databand Component, clique na propriedade BandStyle, será aberta uma tela para definir propriedades, veja página anterior. 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. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 746 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 747 Relatório pronto. ☺ ufa ! ... imagina... este é um relatório bem simples ... ☺ Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 748 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 749 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. Clique no componente DataText Component , clique na propriedade DataField [...], será aberta a tela abaixo. Digite o texto entre aspas simples e o sinal de mais: ‘Data: ‘ + Clique no drop down em Report Variables, escolha DateShort e clique no 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. Digite ‘ Data: ‘ + Digite + ‘ Página ‘ + Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 750 Usando componentes CheckBox e RadioButton Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 751 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. No evento OnClick do botão Bitbtn acima ( OK ) digite o código que está na direita. 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. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 752 Project • options, clique no sinal de maior ( > ) para deslocar o formulário da senha para direita. O formulário da senha deve estar do lado direito ( Available forms, ou formulários disponíveis ) Após a senha qual é o formulário que você deseja abrir ?, neste exemplo abriremos o Menu de opções. 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 753 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 754 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 755 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 756 Clique no ícone View Unit ( Ctrl F12 ) Após Application.Initialize digite: If TelaDeLogin then Begin … e na parte final do programa digite Else Application.Terminate Restringir área do mouse Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 757 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 758 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 759 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 760 Agente: Peedy O foco esta no campo Nome, se deixar o campo nome em branco o agente será exibido e fará suas ações. 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. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 761 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 Retorno da animação Fala ? Som Estado 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 Animação Delphi 7 Descrição - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 762 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 Fala ? Som Animação Retorno da animação 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 763 Think Animação Thinking Yes, using exit branches Yes No Retorno da animação Fala ? Som No No None None Looks up with wing on face Estado None Descrição 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 Retorno da animação Fala ? Som Animação Delphi 7 Estado - by Jurandir – Timbó – SC - Brasil - Sharing knowledge Descrição 764 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 Retorno da animação Fala ? Som 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) Animação Delphi 7 Estado Descrição - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 765 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 766 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 767 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 768 Exportando dados para arquivos textos (.txt) Exportando e importando arquivo texto com campos de tamanhos variáveis. Crie a tabela abaixo. Arquivo TEXTO Insira um formulário, um DBgrid, um Table, um DataSource e 3 botões. 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 769 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 770 Registros com tamanhos fixos: Arquivo texto de tamanho fixo = clientes_fixo.txt Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 771 Criando um editor de textos Insira um MainMenu, e os componentes Dialog ( aba Dialogs ) Clique duplo no componente MainMenu1 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 772 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 Resultado Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 776 Como imprimir arquivo no Word através do Delphi ? Crie o arquivo abaixo no Word XP e grave com o nome Carta.doc Estes nomes são apenas variáveis e serão substituídas pelas informações que estão armazenadas no programa feito no Delphi. Insira um formulário e dois botões Observe a linha Uses no início do programa, deve conter todas as bibliotecas abaixo. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 777 Digite o código abaixo: Será criado um arquivo de nome Tabela.doc via Delphi. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 778 Abrindo programas da Microsoft Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 779 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 780 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 781 Como esconder o botão iniciar ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 782 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 783 Como ressetar, desligar o computador ? Insira um componente RadioGroup1 (aba Standard ) Selecione o objeto RadioGroup e na na propriedade Items clique em (TStrings), será aberta uma caixa e dentro desta digite as seguintes linhas uma abaixo da outra: Reinicia o Windows Desliga o Windows Força todos os programas a desligarem Dá um logoff no usuário atual Como tocar arquivo de som do tipo “.wav, .mid e .mp3” ? Insira um componente MediaPlayer ( aba System ), clique na propriedade VisibleButtons e defina os valroes True ou False para os 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 784 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 785 // 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 786 // 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 787 // 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 788 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 789 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 790 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 791 Como criar uma barra flutuante ? Clique na lateral do formulário e arraste-o. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 792 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 793 Exemplo Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 794 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 795 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 796 Como encriptografar imagem/foto na tabela ? Tipo de campo para armazenar a imagem/foto = B Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 797 Salva imagem codificada 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 ... No mesmo botão criptografará e decriptografará a imagem. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 798 Como encriptografar texto ? ( 1 ) Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 799 Como encriptografar texto ? ( 2 ) Digite linha na seção public Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 800 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 801 Como encriptografar texto ? ( 3 ) Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 802 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 803 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 804 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 805 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 StatusBar: 0 – propriedade 1 – propriedade 2 – propriedade 3 – propriedade 4 – propriedade 5 – propriedade Delphi 7 de cada divisão da Width Width Width Width Width Width = = = = = = 200 30 30 65 55 65 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 806 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 807 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 808 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 809 Como criar formulário com cor gradiente ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 810 Como fazer um letreiro ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 811 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 812 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 813 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 814 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 815 Como fazer um contador para finalizar programa ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 816 Como criar programa para listar tarefas ? Tarefas que estão na memória do computador. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 817 Como desativar o teclado e o mouse por 10 segundos ? Após clicar no botão o teclado e o mouse não funcionarão por 10 segundos. Animando um botão Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 818 Como apagar arquivos do Cache do Internet Explorer ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 819 Como evitar que a tela não seja redimensionada ? Não permitirá redimensionar e maximizar a tela. Digite Digite Como encriptografar senha ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 820 Como “matar” processos ? Insira um RadioGroup ( aba Standard ), na propriedade Columns defina o valor 2, na propriedade Items (...) escreva: Não A cada 5 segundos Delphi 7 Insira uma StringGrid ( aba Additional ), clique na StringGrid, clique na propriedade ColCount e defina o valor 3 Insira um Timer ( aba System )e na propriedade Interval digite 5000 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 821 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 822 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 823 Como fazer um formulário invisível ? Digite Digite Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 824 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 825 Formulário Visível Formulário Invisível Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 826 Como definir imagem no fundo do formulário ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 827 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 Digite o parâmetro Para abrir projeto clique no ícone View Unit ( Ctrl + F12 ) Abra o projeto, talvez você terá que digitar as bibliotecas Dialogs e Windows. . Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 828 Como visualizar arquivo de vídeo (.avi) ? Insira um componente MediaPlayer que está na aba System. Crie um segundo formulário Form_Mostra_Vídeo , onde será aberto o arquivo de vídeo, ou seja, um formulário em branco. Como usar algumas classes do Windows ? Abre o Editor de Textos Word Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 829 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 830 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 831 Digite estas linhas Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 832 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 Girando imagem no formulário Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 836 Clique no botão e gire a foto. Digite as linhas abaixo da seção Private Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 837 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 838 Como trocar papel de parede ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 839 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 840 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 841 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 842 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 843 Como imprimir conteúdo de um Memo ? Como ocultar e mostrar ponteiro do mouse ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 844 Como ligar e desligar Capslock ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 845 Como obter informações: label, serial... ? Como verificar programas que estão abertos ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 846 Como verificar se Drive esta Ok ? Como criar e gravar em um arquivo .ini ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 847 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 848 Gravando e lendo dados no registro “regedit” Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 849 Fecha aplicativo com a mensagem “Erro fatal” Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 850 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 851 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 852 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 Insira um ListBox ( aba Standard ), insira um componente Timer ( aba Win32 ) e na propriedade do Interval defina 2000. Insira um componente PopupMenu ( veja abaixo ). Digite Const e a linha abaixo Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 853 Digite as linhas abaixo da seção Private Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 854 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 855 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 856 Como funciona o despertador ? 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. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 857 ISAPI Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 858 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 859 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 860 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... Abra o navegador da Internet e digite a linha http://localhost/isapi1/project1.dll Este é o resultado. Arquivos que compõe este projeto. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 861 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. Dê um clique duplo dentro do WebModule1, será aberta a tela para editar as ações Editing WebModule1.Actions Clique na aba Events, clique duplo no evento OnAction. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 862 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 863 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 864 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... 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 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 865 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 866 Dê um clique duplo dentro do WebModule1, será aberta a tela para editar as ações Editing WebModule1.Actions Clique na aba Events, clique duplo no evento OnAction. Insira dois componentes, PageProducer1 ( aba Internet ) e um Table ( aba BDE ). Clique no componente Table e defina as propriedades: DababaseName: C:\Isapi_Dados\Dados ( caminho onde esta a tabela de dados ) , TableName: Clientes.db, posicione o ponteiro do mouse sobre o componente Table, clique no 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 Clique no WebModule1 e defina a propriedade OnCreate e OnDestroy. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 867 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 868 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 869 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 870 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 871 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 872 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 873 Como ver IP local e do Servidor ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 874 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 875 Como mostrar nome do Host ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 876 Como criar navegador de páginas ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 877 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 878 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 879 Como criar rastreador de portas ( Port Scanner ) ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 880 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 881 Como criar um simples programa “Chat” ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 882 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 883 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 884 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 885 Este é o Servidor, está na segunda página. Execute o programa Servidor para abrir a porta 9923 Este é um componente Memo e logo abaixo uma StatusBar. Servidor A propriedade Port deste componente devet também ser 9923 para que haja comunicação entre ambos. Este componente esta na aba Internet Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 886 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 887 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 888 Como criar um programa de email ( 2 ) ? Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 889 Conecte na internet... Execute o programa acima, preencha os campos necessários e clique “enviar” ☺ Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 890 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 891 Programa de email completo Neste exemplo você poderá enviar para vários destinatários, várias cópias, ocultas e anexar arquivos. cópias Insira um RadioGroup (aba Standard ) Insira um ListBox ( aba Standard ) Insira dois componentes NMSMTP ( aba FastNet ) Delphi 7 Insira um ListView ( aba Win32 ) Insira um componente OpenDialog ( aba Dialogs ) - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 892 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 Como fazer email bomba ? ( 1 ) Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 897 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 898 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 899 Como fazer email bomba ? ( 2 ) Neste exemplo usaremos arquivos de números no format “.gif” e animação ☺ Insira um componente ProgressBar Insira 4 componentes TImage ( aba Additional ) Insira um componente Animate ( aba Win32 ) Insira um NMSMTP1 ( aba FastNet ) Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 900 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. Quando emails estão sendo enviados a pastinha será animada. Digite estas linhas. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 901 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 902 Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 903 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: Insira um Label, clique na aba Events, clique duplo no evento OnClick e digite linha abaixo. No evento OnClick digite a linha ao lado. Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 904 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. Defina a propriedade Port para 35000 para os dois compoentes Cliente e Servidor. Insira um componente Memo1 Insira um componente ImageList ( aba Additional ) Insira um componente MainMenu Inicio doprograma fonte: Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 905 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 Testando o programa: Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 913 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 914 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 915 Arquivo gerado: Como obter código fonte de um site ? Insira um componente Memo1 e um NMHTTP. Este componente está na aba FastNet. Retornará o Memo o código html do site www.tpa.com.br Be Always Thankful Everything comes and goes Delphi 7 - by Jurandir – Timbó – SC - Brasil - Sharing knowledge 916