Vous êtes sur la page 1sur 27

Curso de Delphi Parte 1

Pr-Requisitos: Windows 98 Delphi 4.0 verso Client/Server Suite BDE 5.00 MS-Access 97

Arquivos trabalhados juntos com esta apostila: BRASIL.BMP NORTE.BMP NORDESTE.BMP SUL.BMP SULDESTE.BMP CENTRO.BMP

Prefcio
Uma das grandes vantagens do Delphi o seu relacionamento com os diversos bancos de dados atualmente existentes, e o Delphi um dos poucos ambientes que consegue fazer essa conexo de forma rpida e prtica. Mas antes de nos enveredarmos no conceito de Banco de Dados vamos criar a nossa capa do aplicativo, garanto que voc achar bastante interessante o que estamos prestes a comear a desenvolver. Vamos a uma rpida explicao o que este projeto. Inicialmente ser mostrado o mapa do Brasil para que o usurio possa escolher determinada regio, aps a escolha de uma regio o usurio poder dentro desta escolher qual o estado ele deseja ter uma pequena descrio, eu vou alargar um pouco e dar tambm a possibilidade de impresso da regio escolhida.

Projeto 2 - Mapa Eletrnico (1a. Parte)


Bem, agora vamos comear nosso projeto (note que eu sempre falo a palavra Projeto ao invs de Sistema, em Orientao a Objetos no existem Sistemas e sim Projetos ento acostume-se com isso) agora que j ficamos familiarizados com o Delphi este projeto ser um pouco diferente criarei apenas uma parte dele caber a voc a concluso do resto do projeto, Ok ? Ento vamos meter a mo na massa: 1. Abra o Delphi, como se isso j no fosse bvio. 2. Na Component Pallete localize uma pgina chamada Additional e dentro dessa pgina de um clique no objeto Image (acredito que seja o sexto) e d um clique no Form. (automaticamente o Delphi criou um quadrado quadriculado que representa o objeto Image1). 3. Olhe na Object Inspector e verifique as propriedades do objeto Image1 criado, e altere as seguintes propriedades: 3.1. AutoSize: True (Far com que o tamanho do objeto fique automaticamente do tamanho da figura selecionada) 3.2. Picture: Clique nos "..." e localize o arquivo BRASIL.BMP enviado (Seleciona determinada

figura) 4. V na Object Inspector e localize o objeto Form1 (basta clicar no Combo Box para selecion-lo), e altere as seguintes propriedades: 4.1. BorderStyle: bsDialog (Far com que a janela fique no formato padro de uma janela de mensagens) 4.2. Caption: Mapa Eletrnico (Contedo da tarja do formulrio) 4.3. Name: F_Mapa (Nome interno do formulrio) 4.4. Position: poScreenCenter (Far com que o formulrio fique sempre centralizado quando for executado) 5. D uma salvadinha no seu projeto, para tanto, no menu v em File | Save All...: 5.1. Aonde aparece Unit1.pas (o Delphi est se referindo do nome do formulrio) mude para fMapa.PAS 5.2. Aonde aparece Project1.dpr (o Delphi est se referindo do nome do projeto - que ser o nome do executvel final) mude para Mapa.DPR 6. Na Component Pallete localize uma pgina chamada Standard e dentro dessa pgina localize o objeto Label (acredito que seja o terceiro) clique no objeto e d um clique no Form e altere as seguintes propriedades: 6.1. Font: Clique nos "..." e faa as seguintes altees na janela de Fonts: 6.11. Cor: Castanho 6.12. Estilo: Negrito 6.2. Caption: Clique sobre a Regio a consultar (Contedo que ser mostrado) 7. Na Component Pallete localize uma pgina chamada Additional e dentro dessa pgina localize o objeto Image (acredito que seja o sexto) pressione a tecla SHIFT e clique no objeto (deve ter ficado um quadriculado azul em volta do objeto, como se ficasse marcado) e d cinco cliques no Form - de preferncia um em cada regio, e altere as propriedades Name e Hint de cada um para, respectivamente: Name ImgNorte ImgNordeste ImgCentro ImgSudeste ImgSul - Hint - Mostra os estados da Regio Norte - Mostra os estados da Regio Nordeste - Mostra os estados da Regio Centro-Oeste - Mostra os estados da Regio Sudeste - Mostra os estados da Regio Sul

 Importante - A prxima modificao tem a ver com Orientao a Objetos o termo


POLIMORFISMO, isso significa que vrios objetos (mesmo diferentes) possuem propriedades idnticas entre si, por exemplo a propriedade Caption de um objeto Form possui (basicamente) a mesma funo da propriedade Caption de um objeto Label. 8. Clique no objeto ImgNorte segure a tecla SHIFT e clique em ImgNordeste, ImgCentro, ImgSudeste e ImgSul (o que eu queria era que todos os cinco objetos ficassem marcados simultaneamente), altere agora a propriedade ShowHint para True. (Note que na Object Inspector no aparece o nome do objeto) e a propriedade Cursor para crHandPoint (isso far com que o cursor em cima da figura seja alterado para uma mozinha apontando).

 Importante - Isso pode ser usado para alterar diversas propriedades de objetos diferentes, praticaremos
isso posteriormente. 9. Quando terminar clique em qualquer regio do formulrio para desmarcar os objetos.

10. Para terminar nosso primeiro formulrio desse projeto v para a Component Pallete localize uma pgina chamada Additional e dentro dessa pgina localize o objeto BitBtn (acredito que seja o primeiro) clique no objeto e d um clique no Form e altere as seguintes propriedades: 10.1. Kind: bkClose, isso fez com que trs importantes propriedades se alterassem: 10.11. Caption: assumiu o valor &Close. 10.12. Glyph: ganhou uma imagem padro de uma portinha de sada 10.13. Modal Result: apesar de no ter sofrido alterao internamente foi disparado uma Flag que far com que quando este boto seja clicado o formulrio se encerre automaticamente. 10.2. Caption: &Fechar (apenas para "aportuguesar"o nosso aplicativo). 11. D uma comparadinha no desenho para ver como ficou:

Bom, este ser o nosso primeiro formulrio, de uma srie de sete, sua funo simples, ele mostrar o mapa do Brasil e ao ser clicar em qualquer parte de uma determinada regio ele disparar o mapa respectivo desta.

Codificando o mapa
A codificao um tanto simples, mas pretendo aqui ensinar tambm alguns macetes interessantes, aperte a tecla F12 at que voc tenha a janela da Code Editor aberta e localize para mim as seguintes linhas: ImgSul: TImage; ImgSudeste: TImage; private Inclua a seguinte chamada a um procedimento antes da parte private: ImgSul: TImage; ImgSudeste: TImage; procedure ChamaRegiao(Sender: TObject); private

Agora localize a linha: implementation {$R *.DFM} end. E faa as seguintes alteraes implementation {$R *.DFM} uses fNorte, fNordeste, fSul, fSudeste, fCentro;

// Chama o mapa da Regio Norte // Chama o mapa da Regio Nordeste // Chama o mapa da Regio Sul // Chama o mapa da Regio Sudeste // Chama o mapa da Regio Centro-Oeste

procedure TF_Mapa.ChamaRegiao(Sender: TObject); // Chama os outros Formulrios procedure CriaForm(aFormClass: TFormClass); begin with aFormClass.Create(Application) do try ShowModal; finally Free; end; end; begin if (Sender = ImgNorte) then CriaForm(TF_Norte) else if (Sender = ImgCentro) then CriaForm(TF_Centro) else if (Sender = ImgNordeste) then CriaForm(TF_Nordeste) else if (Sender = ImgSul) then CriaForm(TF_Sul) else if (Sender = ImgSudeste) then CriaForm(TF_Sudeste); end; end. Antes de explicar esse procedimento deixa eu comentar porque criei uma nova declarao USES (note que na terceira linha da Unit - l em cima) j tem um comando assim, este comando serve para identificar minhas unidades externas, antes da palavra chave IMPLEMENTATION assim que o formulrio gerado tudo compilado e salvaguardado em reas de memria prontos para serem utilizados, ou seja, a Unit Windows (se voc reparar ela est l em cima) e jogada para uma rea de memria, mas em compensao a Unit fNorte (que criaremos posteriormente) no armazenada. Assim eu estou preservando vrios blocos de memria para serem utilizados apenas quando realmente forem necessrios. Prontinho agora vamos explicar essa procedure linda e maravilhosa que foi montada de propsito para voc entenda algumas artimanhas da linguagem Pascal, antes de faz-la poderiamos simplesmente em cada objeto TImage clicarmos no evento OnClick e para cada um colocarmos o seguinte cdigo: (por exemplo para o objeto da Regio Norte)

begin F_Norte := TF_Norte.Create(Application); F_Norte.ShowModal; F_Norte.Free; end; Isso funcionaria perfeitamente bem mas como so cinco objetos precisariamos repetir isso cinco vezes (imagine se fossem uns 20 ou 30), e isso j no to bom assim em Pascal. Outra coisa que poderiamos fazer , criamos um procedimento particular (l no Private) para todas os outros procedimentos ento ficaria assim: private procedure CriaForm(aFormClass: TFormClass); public . . . // Depois do comando uses procedure TF_Mapa.CriaForm(aFormClass: TFormClass); begin with aFormClass.Create(Application) do try ShowModal; finally Free; end; end; e em cada objeto TImage clicarmos no evento OnClick e para cada um colocarmos o seguinte cdigo: (por exemplo para o objeto da Regio Norte) begin CriaForm(TF_Norte); end; Isso tambm funcionaria perfeitamente bem mas como so cinco objetos precisariamos repetir isso cinco vezes (imagine novamente se fossem uns 20 ou 30), mas agora o pior que e sero vrios procedimentos que teremos que olhar caso d algum erro e isso j no to bom assim em Pascal. Ento resolvi fazer da maneira como eu coloquei. Criei um nico procedimento ChamaRegiao que receber uma varivel do tipo TObject (lembra da apostila anterior ? o objeto que chama o procedimento) e para este procedimento coloquei um outro procedimento interno, chamado CriaForm. Para ativar todo o conjunto aperte novamente a tecla F12 (para mostrar o formulrio) e d um clique simples sobre o objeto ImgNorte aperte a tecla F11 (para chamar a Object Inspector), v para a pgina de eventos e para o evento OnClick, selecione atraves do Combo (aquela setinha apontada para baixo) o procedimento ChamaRegiao. Repita os mesmos passos com as outras imagens das outras regies. Este formulrio j est pronto, vamos agora ver o que acontece com cada regio. (Obs. No adianta tentar rodar que ele deve acusar erro que as outras unidades ainda no existem.

Primeira Regio

Apenas para gui-los mostrarei como criar o mapa da Regio Sul (s tem trs estados e no deve me dar muito trabalho :)) voc dever criar os formulrios para as outras regies. Observe que quase tudo igual ao primeiro formulrio criado. A partir do Menu Principal clique em File | New Form e ser disponibilizado um novo formulrio, vamos aos passos: 12. Na Component Pallete localize uma pgina chamada Additional e dentro dessa pgina de um clique no objeto Image (acredito que seja o sexto) e d um clique no Form. (automaticamente o Delphi criou um quadrado quadriculado que representa o objeto Image1). 13. Olhe na Object Inspector e verifique as propriedades do objeto Image1 criado, e altere as seguintes propriedades: 13.1. AutoSize: True (Far com que o tamanho do objeto fique automaticamente do tamanho da figura selecionada) 13.2. Picture: Clique nos "..." e localize o arquivo SUL.BMP enviado (Seleciona determinada figura) 14. V na Object Inspector e localize o objeto Form1 (basta clicar no Combo Box para selecion-lo), e altere as seguintes propriedades: 14.1. BorderStyle: bsDialog (Far com que a janela fique no formato padro de uma janela de mensagens) 14.2. Caption: Estados da Regio Sul (Contedo da tarja do formulrio) 14.3. Name: F_Sul (Nome interno do formulrio) 14.4. Position: poScreenCenter (Far com que o formulrio fique sempre centralizado quando for executado) 15. D uma salvadinha no seu projeto, para tanto, no menu v em File | Save All...: 15.1. Aonde aparece Unit1.pas (o Delphi est se referindo do nome do formulrio) mude para fSul.PAS 16. Na Component Pallete localize uma pgina chamada Standard e dentro dessa pgina localize o objeto Label (acredito que seja o terceiro) clique no objeto e d um clique no Form e altere as seguintes propriedades: 16.1. Font: Clique nos "..." e faa as seguintes altees na janela de Fonts: 6.11. Cor: Castanho 6.12. Estilo: Negrito 16.2. Caption: Clique sobre o Estado a consultar (Contedo que ser mostrado) 17. Na Component Pallete localize uma pgina chamada Additional e dentro dessa pgina localize o objeto Image (acredito que seja o sexto) pressione a tecla SHIFT e clique no objeto (deve ter ficado um quadriculado azul em volta do objeto, como se ficasse marcado) e d cinco cliques no Form - de preferncia um em cada regio, e altere as propriedades Name e Hint de cada um para, respectivamente: Name ImgPR ImgSC ImgRS - Hint - Descreve o estado do Paran - Descreve o estado de Santa Catarina - Descreve o estado do Rio Grande do Sul

18. (Praticando o polimorfismo novamente) Clique no objeto ImgPR segure a tecla SHIFT e clique em ImgSC e ImgRS, altere agora a propriedade ShowHint para True e Cursor para crHandPoint. 19. Quando terminar clique em qualquer regio do formulrio para desmarcar os objetos.

20. Para terminar nosso primeiro formulrio desse projeto v para a Component Pallete localize uma pgina chamada Additional e dentro dessa pgina localize o objeto BitBtn (acredito que seja o primeiro) clique no objeto e d um clique no Form e altere as seguintes propriedades: 20.1. Kind: bkClose, isso fez com que trs importantes propriedades se alterassem: 20.2. Caption: &Fechar (apenas para "aportuguesar"o nosso aplicativo). 21. D uma comparadinha no desenho para ver como ficou:

Agora cabe a voc criar mais quatro formulrios, so eles respectivamente: Nome Interno F_Norte F_Nordeste F_Centro F_Sudeste Nome Externo Figura a usar fNorte NORTE.BMP fNordeste NORDESTE.BMP fCentro CENTRO.BMP fSudesteSUDESTE.BMP

 Importante - Chamei de Nome Interno a propriedade Name dos formulrios e Nome Externo como
ser o nome que voc deve salvar cada formulrio. Note que a nica diferena entre eles est num simples apostrofe "_", isso facilita muito quando queremos lembrar o nome que precisamos utilizar.

 Importante - Infelizmente com o Delphi no existe outro componente mais poligonal que o tImage,
mas tem uma notcia boa o Delphi respeitar o objeto tImage criado por ltimo, ento voc pode colocar uns sobre os outros. Comigo aqui acabei conseguindo montar com uma exatido fora do normal, at eu me assustei. Uma Dica: Para a regio Centro-Oeste crie primeiro o Objeto do estado de Gois e dentro dele coloque o objeto do estado do Distrito Federal.

Tirando os formulrios do Auto-Create


O Delphi cria automaticamente todos os formulrios que utilizamos, mas isso gera um tanto de prejuzo as reas de memria ( bvio que um projeto com 7 ou at 10 no um caso srio, mas um projeto com 50 ou 70 j comea a dar uns erros muito estranhos) ento lembra-se do procedimento CriaForm ele vai

exatamente criar os nosso formulrios para utilizarmos e depois destru-los. Mas precisamos dizer para o Delphi que no queremos que ele faa o servio de Auto-Create, para tanto v (a partir do menu principal) em View | Project Manager, esta janelinha a que controla todas as unidades do seu projeto. Clique no boto Options. Selecione a pgina Forms l voc ver dois objetos ListBox, do lado esquerdo so os Auto-Create Forms e do lado direito esto os Available forms ou simplesmente formulrios disponveis. Ento selecione os formulrios: F_Norte, F_Nordeste, F_Centro, F_Sudeste e F_Sul e clique no boto com o sinal > isso far com que eles sejam despachados para o outro lado. No faa o procedimento com o F_Mapa, ele o nosso Menu e ele precisa realmente ser criado automaticamente assim que o usurio iniciar o processo. Prontinho, agora execute o projeto e veja como ele est ficando.

Finalmente
Existem vrias maneiras de se mostrar o estado escolhido mas a que eu achei mais interessante utiliza o QuickReport (que vem com o Delphi) para fazer o servio. Mas faremos isto apenas na prxima apostila.

Curso de Delphi Parte 2


Pr-Requisitos: Windows 98 Delphi 4.0 verso Client/Server Suite BDE 5.00 MS-Access 97

Arquivos trabalhados juntos com esta apostila: BASICO.MDB

Prefcio
Salve, na ltima apostila comeamos a montar nosso pequeno mapa eletrnico, agora vamos conclulo. Antes de recomearmos precisamos entender como funciona a conexo entre o Delphi e o Banco de Dados. Isto realizado atravs de um conjunto de bibliotecas que a Inprise chamou de BDE (Borland DataBase Engine) ela trabalha assim como um ODBC de ligao, mas com a grande vantagem que para determinados bancos o acesso totalmente nativo, isso significa que a conversa entre sua Aplicao e o Banco no recebe interferencias externas a no ser do BDE (mas isso at o antigo Clipper precisava de suas ligaes para seus acessos com os bancos xBase). Ilustradamente o acesso funciona da seguinte maneira:

A coisa acontece da seguinte forma, a sua aplicao atravs dos objetos contidos na Component Pallete (localizado na parte superior direita) e na pgina chamada Data Access esto todos os objetos que fazem esta primeira conexo entre o Aplicativo e o BDE e este se comunica com o Banco de Dados.

 Importante - Note que eu no especifiquei qual o Banco de Dados, ento salvaguardando algumas
regras do prprio banco (tais como o nome das tabelas, formas de SQL) poderemos utilizar para nossa aplicao qualquer banco que acharmos mais fcil de manipularmos (tais como dBase, Access, Paradox...) e ao final (antes de entregar a aplicao para o usurio) fazermos um ltimo teste com o banco de dados escolhido por ele (Oracle, SQL Server, Interbase, Sybase...) para isso no precisaremos modificar uma nica linha de cdigo do nosso aplicativo.

 Importante - A conexo com o MS-Access funciona da seguinte forma: Entre o BDE e o Banco de
Dados existe um aplicativo a mais de conexo, chamado DAO, a sigla significa Data Access Objects, um conjunto de bibliotecas para o desenvolvimento com o banco de dados MS-Access, e pertence a Microsoft, para ter o direito de uso e distribuio do produto voc deve adquirir quaisquer das ferramentas de desenvolvimento da Microsoft.

Iniciando na Prtica

Bem se voc ainda no fez, aconselho que voc d uma olhada no apndice identificado por CONEXAO e faa as alteraes sugeridas nele. Junto com essa apostila voc est recebendo um banco de dados (formato MS-Access 97). Para padronizar vamos criar uma pasta com o nome CursoDelphi e dentro dela criaremos uma nova pasta chamada Federao coloque dentro desta tudo que voc recebeu. Graficamente ento temos:

Abra agora o aplicativo BDE Administrator e crie um Alias para o banco de dados enviado. Se voc no sabe como fazer vou dar uma canja siga os passos abaixo: 1. A partir do BDE Administrator aberto v em Object | New... (ou simplesmente CTRL+N) e modifique a janelinha que aparece para:

e pressione a tecla OK. 2. Mude o nome do seu novo alias para AlFedera

 Importante - Apesar de ser permitido no coloque acentos no seu Alias e procure no ultrapassar os
oito caracteres isso alm de manter a compatibilidade entre o Delphi 32 Bits e o Delphi 16 Bits tambm evita uma srie de confuses. 3. Altere a propriedade DATABASE NAME para C:\CursoDelphi\Federao\basico.mdb e confirme as alteraes em Object | Apply (ou simplesmente CTRL+A, ou ainda clique no quarto boto da barra de ferramentas) 4. Teste seu novo alias clicando em Object | Open (ou simplesmente clique no primeiro boto da barra de ferramentas) seu alias deve formar um quadradinho luminoso em volta do objeto, conforme a figura a seguir: 5. Feche-o em em Object | Close (ou simplesmente clique novamente no primeiro boto da barra de ferramentas) Se voc est confuso com tudo isso no fique retorne aquela figura inicial sobre a conexo, pode-se dizer que estamos exatamente criando o quadradinho do BDE. O Alias simplesmente uma conexo que se far entre seu Aplicativo e o Banco de Dados

Trabalhando com o TDatabase


Antes de comearmos abra novamente o seu projeto, para isso a partir do Menu Principal clique em File | Open localize o arquivo Mapa.DPR. No formulrio F_Mapa e coloque um objeto DataBase (que se encontra na Component Pallete na pgina Data Access) e altere as seguintes propriedades:

AliasName para AlFedera (aquele que foi criado na apostila anterior) DataBaseName para dnFedera (nome da base de dados) Name para nmFedera Este objeto o que far a segunda conexo com o nosso banco de dados, para lembrar a vocs: 1a. Conexo: Entre o Banco de Dados e o Alias 2a. Conexo: Entre o Alias e o objeto tDataBase 3a. Conexo: Entre o objeto tDataBase e os objetos DB (tTable, tQuery, tStoreProc) 4a. Conexo: Entre os objetos DB com os objetos que o usurio utilizar (todos os que esto na pgina DataControls e alguns outros). Se voc quer simular como ser essa segunda conexo, altere a propriedade Connected do objeto para true e ser mostrada a seguinte janela:

Clique no botao Ok e prontinho seu banco estar conectado, mas vamos evitar que essa janelinha aparea quando o usurio for usar nosso aplicativo, antes volte a propriedade Connected do objeto para false, na pgina de eventos de um duplo clique no evento OnLogin e vamos as alteraes: procedure TF_Mapa.nmFederaLogin(Database: TDatabase; LoginParams: TStrings); begin LoginParams.Values['USER NAME'] := ''; LoginParams.Values['PASSWORD'] := ''; end; Agora precisamos simular as alteraes de Conexo para tanto, chame o objeto F_Mapa, e d um duplo clique no evento OnShow para abrirmos esta conexo: procedure TF_Mapa.FormShow(Sender: TObject); begin nmFedera.Connected := True; end; Para fechar a conexo quando terminar nosso sistema. d um duplo clique no evento OnClose: procedure TF_Mapa.FormClose(Sender: TObject; var Action: TCloseAction); begin nmFedera.Connected := False; end;

 Importante - Aqui executaremos mais um termo da Orientao a Objetos (lembram-se do


POLIMORFISMO), o termo AO, isso significa que um evento qualquer disparado quando outro evento acionado, ou seja como um efeito cascata. O que acontece aqui que quando o usurio executar o

sistema esse disparar o evento OnShow do formulrio e este disparar o evento OnLogin do objeto TDataBase.

Sobre o Quick Report


O Quick Report o gerador oficial do Delphi, deixa eu abrir aqui um pequeno parenteses, quando surgiu o Delphi, era uma das melhores ferramentas RAD para se trabalhar com bancos de dados, perfeito at hoje na construo e desenvolvimento de softwares, mas como todo paraso tem seu inferno, o Delphi tambm tinha o seu, a gerao de relatrios, na poca do Delphi 1.0 a ferramenta para ger-los era o Report Smith, mas era claro que ele no dava conta do recado por diversos motivos, entre eles destacam-se: - Era preciso carregar um Run-Time do Report Smith juntamente com o projeto - Os relatrios ficavam separados do executvel principal - Relatrios muito complexos eram uma Via-Crucis faz-los - Relatrios muito simples demoravam uma eternidade para rod-los Ento os Delphianos da poca procuravam alternativas, entre elas aqui vale destacar: - Report Crystal - Report Builder - Biblioteca Printers (do prprio Delphi) Esta ltima deu origem a vrios geradores de relatrios e o principal surgido foi o Quick Report que se tornou um mero coadjuvante do Delphi 2.0 fazendo parceria com o Report Smith e em pouco tempo tornou-se bvio que o Quick era muito superior ao Smith tanto que a partir da verso 3.0 resolveu-se no mais distribuir o Report Smith tornando o Quick o gerador oficial do Delphi. No pretendo dizer aqui que o Quick o melhor gerador de relatrios que existe para o Delphi, acredito sempre que a melhor ferramenta aquela que voc domina e conhece, em listas de discusso comum voc ver coisas como: - O Quick ruim - difcil de construir algo nele - Relatrios complicados so impossveis faz-los - entre milhares de outras coisas A, todos colocam milhares de substitutos, mas veja bem, a prpria Inprise abriu mo de um gerador dela (caso do Report Smith) para trocar por um de uma empresa de terceiro (QuSoft AS). Ser que isso tudo foi porque o Quick ruim ? Acho que muitas vezes quando no conhecemos ou tentamos aprender uma ferramenta, acabamos no fazendo o essencial que ver primeiro como a ferramenta trabalha, o Quick um gerador de relatrios totalmente orientado a objetos, e isso no muito fcil de assimilarmos. Ento para ajud-los sempre tentarei utiliz-lo como uma ferramenta no s para gerar relatrios, mas tambm para: - Formulrios de Consultas - Importaes em .TXT e .HTML - Relatrios Analticos - Fichas de Caixa, Balancetes e Outros. Vocs vero que esse terrvel monstro horroroso de duzentas cabeas (que cada dia cresce uma) na verdade no passa de um horroroso monstro terrvel de duzentas e uma cabeas. Bem vamos deixar de ladainha e comear a trabalhar.

Construindo o formulrio para uma regio genrica


No pretendo aqui construir um formulrio para cada regio (teve gente que suspirou de alvio), mas

sim um nico que servir para qualquer regio que o nosso usurio clicar. Vamos aos passos: 1. A partir do Menu Principal clique em File | New Form e ser disponibilizado um novo formulrio e altere logo a propriedade name para F_Estado. 2. D logo uma salvadinha no seu projeto, para tanto, no menu v em File | Save All...: 2.1. Aonde aparece Unit1.pas (o Delphi est se referindo do nome do formulrio) mude para fEstado.PAS 3. Na Component Pallete ache uma pgina entitulada QReport nela esto todos os objetos utilizados pelo Quick, localize o objeto chamado QuickRep, clique nele e em seguida click no formulrio.

 Importante - Foi criado nesse momento nossa rea de trabalho, o Quick 1.0 (distribudo com o Delphi
2.0) no criava esta rea branca que vc est vendo, ele se resumia a apenas alargar as propores do formulrio (propriedade Width e Height) para o tamanho de uma pgina da impressora. 4. Vamos para a Object Inspector e altere a propriedade Name para QrEstado

 Importante - Qualquer gerador de relatrio trabalha por sees, pois nossos (e qualquer) relatrios tem
essas sees, so elas: Cabealho, Ttulo da Pgina, Rodap da Pgina, Pgina Inicial, ltima Pgina, Linhas Detalhes, e assim vai, vamos criar essas sees, o Quick as chama de Bandas. 5. Na Component Pallete na pgina QReport, localize o objeto chamado QrBand, clique nele e em seguida click dentro do objeto do QrEstado criado anteriormente. 6. Vamos para a Object Inspector e altere as seguintes propriedades: 6.1. Name para BdCabPagina 6.2. BandType para rbPageHeader - Essa a propriedade que controla os tipos das sees no caso escolhemos uma Banda de Cabealho de Pgina, ela aparecer em todas as pginas. Dentro do Quick devemos usar os objetos do Quick (isso parece bvio mas muita gente esquece disso) o correspondente ao objeto Label do Delphi que mostra um texto fixo no Quick o QrLabel. 7. Na Component Pallete na pgina QReport, localize o objeto chamado QrLabel, clique nele e em seguida click dentro do objeto da objeto BdCabPagina criado anteriormente . 8. Vamos para a Object Inspector e altere as seguintes propriedades: 8.1. Name para lbTitulo 8.2. Alignment para taCenter (alinhamento centralizado) 8.3. AlignToBand para True - Isso far com o que foi definido na propriedade Alignment seja estendido para a banda (Ento o QrLabel se alinhar centralizado dentro da banda) 8.4. Font: Clique nos "..." e faa as seguintes altees na janela de Fonts:

8.41. Cor: Azul-Marinho 8.42. Estilo: Negrito 8.43. Tamanho: 16 8.44. Fonte: Times New Roman 8.5. Caption para Estado do Brasil 9. Na Component Pallete na pgina QReport, localize o objeto chamado QrBand, clique nele e em seguida click dentro do objeto do QrEstado (no dentro daquela primeira banda criada). 10. Vamos para a Object Inspector e altere as seguintes propriedades: 10.1. Name para BdDetalhe 10.2. BandType para rbDetail - Essa a propriedade que controla os tipos das sees no caso escolhemos uma Banda de Detalhe, ela ser replicada a cada registro e d uma esticadinha para baixo nela, aumentando o tamanho (ou a propriedade Height) 11. Agora eu vou precisar dentro desta banda de seis (6) objetos QrLabel ( s apertar o objeto enquanto voc segura a tecla SHIFT - O objeto vai ficar com a marcao azul e d seis click's) dentro do objeto BdDetalhe, agora altere a propriedade Caption de cada um respectivamente: Sigla: Nome: Capital: Nm.Municpio: Regio: Descrio: 12. Agora marque todos os seis objetos (lembra-se) e aproveitando o Polimorfismo altere a propriedade Font, clique nos "..." e faa as seguintes altees na janela de Fonts: 12.1. Cor: Castanho 12.2. Estilo: Negrito 12.3. Fonte: Times New Roman 13. Continue com os objetos marcados e a partir do menu principal v em View | Alignment Palette ser mostrada a seguinte janela:

Clique ento no ltimo boto da primeira linha. Todos eles sero organizados direita.

 Importante - Vamos a uma rapidinha sobre os alinhamentos, isso s serve para dois ou mais objetos
marcados: Primeira Linha: esquerda, centraliza verticalmente, tamanho vertical, espaamento vertical e direita. Segunda Linha: Superior, centraliza horizontalmente, tamanho horizontal, espaamento horizontal e inferior 14. Faremos agora a 3a. Conexo. Vamos para a pgina Data Access e localize o objeto Query. Click nele e clique dentro do formulrio e altere as seguinte propriedades: 14.1. DataBaseName para dnFedera (isto s aparecer se o formulrio F_Mapa estiver aberto) 14.2. SQL, clique nos "..." e faa escreva:
select * from Federacao

14.3. Name para QryEstado

 Importante - Se voc no conhece SQL (Structure Query Language) aconselho que voc compre um
bom livro, ou veja a apostila referente aos comandos bsicos. 15. Est a 4a. Conexo. Voltemos para a pgina QReport e localize o objeto QrDBText, precisaremos de seis (6) objetos dentro do objeto BdDetalhe 16. Agora marque todos os seis objetos e aproveitando o Polimorfismo altere as seguintes propriedades: 16.1. Font, clique nos "..." e faa as seguintes altees na janela de Fonts: 16.11. Cor: Azul 16.13. Fonte: Times New Roman 16.2. DataSet para QryEstado 17. Marque agora cada objeto e altere a propriedade DataField de cada um respectivamente: SIG_UF NOM_ESTADO NOM_CAPITAL NUM_MUNICIPIO NOM_REGIAO DES_REGIAO 18. Uma das principais facilidades do Quick quanto a campos Memo (como o caso do campo DES_REGIAO) altere as seguintes propriedades (do objeto QRDBText6 - marcado com a propriedade DataField em DES_REGIAO) 18.1. AutoSize para False (cancela o esticamento automatico horizontal) 18.2. AutoStretch para True (permite que o objeto se estique verticalmente) 18.3. WordWrap para True (s para confirmar - permite que o objeto quebre as linhas) 19. Agora estique esse objeto at o final, acredito que a propriedade Width deve ficar em torno de 625 20. Vamos conectar o objeto QrEstado (TQuickRep) com o objeto QryEstado (TQuery), para tanto localize o objeto QrEstado e altere a propriedade DataSet para QryEstado. Est pronto, compare como ficou:

 Importante - Uma enorme vantagem do Quick voc poder ver como fica seu relatrio final mesmo
sem precisar rodar o sistema, para tanto faa o seguinte: 1. No objeto QryEstado altere a propriedade Active para True. 2. Clique no objeto QrEstado e em seguida clique com o boto direito e ser mostrado um menu e dentro dele clique em Preview. 3. Novamente no objeto QryEstado altere a propriedade Active para False.

Codificando a Primeira Regio


Apenas para gui-los mostrarei como criar os cdigos do mapa da Regio Sul voc dever criar os cdigos para as outras regies. Observe que novamente quase tudo igual. Abra o formulrio F_SUL e aperte a tecla F12 at que voc tenha a janela da Code Editor aberta e localize para mim as seguintes linhas: ImgSC: TImage; ImgRS: TImage; private Inclua a seguinte chamada a um procedimento antes da parte private: ImgSC: TImage; ImgRS: TImage; procedure MostraEstado(Sender: TObject); private Agora localize a linha: implementation {$R *.DFM}

end. E faa as seguintes alteraes: implementation {$R *.DFM} uses fEstado;

// Mostra o Estado

procedure TF_Sul.MostraEstado(Sender: TObject); procedure Mostra(Estado: String); begin F_Estado := TF_Estado.Create(Application); with F_Estado do begin with QryEstado do begin SQL.Clear; SQL.Add('SELECT * FROM FEDERACAO WHERE (SIG_UF = ''' + Estado + ''')'); // Ateno tudo aspas simples Open; end; QrEstado.Preview; QryEstado.Close; Free; end; end; begin if (Sender = ImgPR) then Mostra('PR') else if (Sender = ImgSC) then Mostra('SC') else if (Sender = ImgRS) then Mostra('RS'); end; end. Prontinho veja que o procedimento que eu constru aqui igualzinho ao do F_Mapa, bvio salvo alguns comandos. Criei um nico procedimento MostraEstado que receber uma varivel do tipo TObject e para este procedimento coloquei um outro procedimento interno, chamado Mostra que realizar os seguintes passos: 1. Criao do Formulrio F_Estado; 2. Organizao do SQL para o estado selecionado criando a Query; 3. Mostra na tela do relatrio (note que no preciso do comando SHOWMODAL do formulrio, e sim PREVIEW do objeto QuickRep); 4. Fecha a Query; e 5. Eliminao do F_Estado da memria. Para ativar todo o conjunto aperte novamente a tecla F12 (para mostrar o formulrio) e d um clique simples sobre o objeto ImgPR aperte a tecla F11 (para chamar a Object Inspector), v para a pgina de eventos e para o evento OnClick, selecione atraves do Combo (aquela setinha apontada para baixo) o procedimento MostraEstado. Repita os mesmos passos com as outras imagens dos outros estados.

 Importante - No comando SQL.Add('SELECT * FROM FEDERACAO WHERE (SIG_UF = ''' +

Estado + ''')'); esses trs plicks ( ''' ) tudo simples, nenhum aspas duplas ( " ). Pois dentro de uma string cada dois plicks simples ( '' ) conseguimos um plicks ( ' ), confuso n, mas veja s, se fizermos: VariavelString := 'Nome : Nando'; A VariavelString ter em seu contedo o valor Nome : Nando, agora se fizermos: VariavelString := 'Nome : ''Nando'''; A VariavelString ter em seu contedo o valor Nome : 'Nando'. Eu apenas acrescentei mais dois plicks simples entre a palavra Nando.

Tirando o formulrio F_Estado do Auto-Create


V (a partir do menu principal) em View | Project Manager. Clique no boto Options. Selecione a pgina Forms l voc ver dois objetos ListBox, do lado esquerdo so os Auto-Create Forms e do lado direito esto os Available forms ou simplesmente formulrios disponveis. Ento selecione os formulrios: F_Estado e clique no boto com o sinal > e despache-o para o lado aonde esto os outros isolando novamente o nosso Menu pois lembrando que ele precisa ser criado automaticamente assim que o usurio iniciar o processo. Prontinho, agora execute o projeto e bom divertimento com seu mapa eletrnico. Na prxima aprenderemos como distribu-lo e gerar alguns macetes para otimizao.

Finalmente
Agora precisamos arrumar, empacotar e distribuir nosso projeto, mas isto s ser feito na prxima apostila.

Curso de Delphi Parte 3


Pr-Requisitos: Windows 98 Delphi 4.0 verso Client/Server Suite BDE 5.00 MS-Access 97

Arquivos trabalhados juntos com esta apostila: GEOGRAPH.ICO SETUP1.BMP SETUP2.BMP SETUP3.BMP SPLASH.BMP LOGO.BMP

Prefcio
Salve, na ltima apostila montamos nosso segundo aplicativo o Mapa Eletrnico, o interessante com ele que calmamente comeamos a desvendar os segredos do trabalho com o Delphi associado a Bancos de Dados, repararam como a maior parte dos livros evita em falar sobre o assunto ? O mximo com um aplicativo que arranha a superfcie deste fantstico mundo. O problema que o assunto muito mais do que se pode imaginar, pois o Delphi tem milhares de possibilidades para realizar esta tarefa. O maior problema com o Delphi (depois de entend-lo) como distribuir seus aplicativos gerados, quando ele independente de tratamento de banco de dados, tudo bem s mandar o executvel (.EXE) mas o problema comea quando ele utiliza o BDE, a a coisa complica um pouco, mas acredito que aps essa parte voc comear a dominar uma importante ferramenta de distribuio para seus aplicativos.

Preparando o sistema para o Empacotamento


Antes de gerarmos nossos discos de instalao vamos fazer algumas alteraes no projeto ento abra novamente o seu projeto, para isso a partir do Menu Principal clique em File | Open localize o arquivo Mapa.DPR. Agora, a partir do Menu Principal, clique em Project | Options e vamos realizar dois servios aqui: 1. Na pgina Application coloque o Ttulo do nosso projeto (Mapa Eletrnico) e localize o cone enviado (Geograph.ico). 2. Na pgina Compiler desmarque todas as opes dos grupos Debugging e Messages e clique no boto OK. Novamente a partir do Menu Principal, clique em Project | Build All para gerarmos o executvel final, prontinho agora feche o Delphi confirmando as modificaes realizadas no projeto.

Utilizando o Install Shield

No Delphi 1.0 para distribuir o BDE era uma complicao, existia um diretrio no CD do Delphi chamado REDIST, nele estava (dividido para caber em disquetes de 1.44 Mb) o BDE. Ou seja, voc se deslocava at a mquina do seu Cliente (que iria instalar o sistema) criava um diretrio, colocava o executvel, as tabelas, e instalava o BDE, depois criava o alias, testava e pronto estava instalado. Com um certo tempo as pessoas aprenderam a gerar o Alias automtico. Mas ainda assim era um tanto primitivo, principalmente quando voc precisava mandar tudo para que o prprio cliente instalasse. Com o Delphi 2.0 surgiu o InstallShield que foi mais aprimorado ainda nessa verso, ele um produto da Stirling Technologies. Que acompanha tambm o Delphi 3.0 e o Delphi 4.0. Um aviso, no tente utilizar o InstallShield que vem com o Delphi 2.0 para aplicaes do Delphi 3.0 ou 4.0, nem vice-versa, apesar de todos serem de 32 Bits so de verses totalmente diferentes. O InstallShield no que nem o Quick Report, voc precisa instal-lo em separado (ele vem no prprio CD do Delphi), aps sua instalao e execuo, voc acabar com a seguinte janela:

Esta a tela inicial para a criao do seu projeto .IWZ, informe o nome do projeto, o tipo (no caso de verses registradas) e o diretrio que ser criado, aps isso aperte o boto Create e iremos para a janela de construo do projeto:

Esta tela foi dividida em nove grandes grupos, para explicar melhor vamos analizar grupo a grupo enquanto fazemos as alteraes para a gerao do nosso pacote.

1. Set the Visual Design


Neste grupo esto as informaes iniciais do instalador: Na primeira parte (Application Information) voc deve informar o nome da aplicao (mapa), localizar o executvel que dever ser instalado (C:\...\Mapa.EXE), a verso (1.0) e o nome da sua empresa (Curso). Note que nesta parte montado o Diretrio que ser instalado o sistema final (<ProgramFilesDir>\Curso\Mapa). Na segunda parte (Main Window) a tela principal da instalao, aqui voc escolher o ttulo principal (Mapa Eletrnico), o Logotipo da sua Empresa (localize o BitMap Enviado: Logo.BMP), a posio em que o logotipo ficar (Top Right - Em cima a direita) e a cor de fundo (Dithered Blue - degrad em azul). Na terceira parte (Features) preste muita ateno que este o momento mais difcil, aqui voc escolher se o usurio pode ou no desinstalar automaticamente o projeto. Prontinho pode dar OK.

 Importante - Assim como o Logo.BMP voc notar que no decorrer dessa montagem colocaremos
vrios Bitmap's, voc mesmo poder ger-los mas lembre-se que o InstallShield aceita apenas imagens com no mximo 16 cores.

2. Select InstallShield Objects for Delphi


Esta o grupo que mais confunde as pessoas, mas com um pouquinho de ateno a gente chega l, aqui voc definir qual tipo de BDE ser instalado, o tipo do SQL Links ou se deseja carregar qualquer dos pacotes de objetos do Delphi.

Na primeira parte (General) so as informaes principais, marque o BDE, (Observao: O SQL Links, serve apenas para conexo com bancos do tipo MS-SQL, SyBase padro DB-Lib, InterBase, Oracle, Informix, DB2 e SyBase padro CT-Lib e os pacotes de objetos servem apenas para o caso de compilaes parciais), clique no boto Settings... BDE Instalation Type - Aqui voc define seu tipo de banco de dados, infelizmente o Install no possui permisso para a distribuio da DAO 3.5, que a responsvel pela conexo nativa com o MS-Access, ista permisso adquirida apenas com a compra de qualquer ferramenta de desenvolvimento Microsoft, teremos ento que colocar na mo todos os arquivos necessrios, marque Partial BDE Installation e clique no boto Avanar. BDE Driver Types - no escolha nenhum, deixe todos desmarcados. Query Engine Types - Marque a opo SQL Engine isto far com que o BDE reconhea e envie para o gerenciados de banco de dados os comandos de SQL e clique no boto Avanar. BDE Alias - Step 1 of 4 - Clique no boto New e informe o nome do nosso Alias (AlFedera) BDE Alias - Step 2 of 4 - Esta e a tela mais enigmtica do Install, nela voc deve informar se quer que seu BDE seja configurado para aplicaes Win16/Win32 ou somente Win32, mas aqui ele no se refere a possibilidade de instalao para Windows 3.x ele apenas est se referindo ao .CFG salvo (que o arquivo de configurao do BDE 32, ento deixe desmarcado e sigamos em frente. BDE Alias - Step 3 of 4 - Aqui est todo o pulo do gato sobre a construo do BDE, em Alias Name ele mostrar o Nome do seu alias, em Path o local que seu banco dever ser instalado, agora vamos pensar um pouquinho, mas se o usurio mudar o destino ? Aqui usaremos uma varivel do Install, coloque: [Program Files]\ que ser o diretrio em que ficar sua aplicao. No Type selecione MSAccess. E finalmente escreva na lista de parmetros opcionais para o Alias o seguinte: DATABASE NAME=[Program Files]\Basico.mdb BDE Alias - Step 4of 4 - Aqui voc precisa apenas clicar no boto Concluir para finalizar todas as incluses no BDE. Na segunda parte (Advanced) voc ver todas as bibliotecas que sero instaladas, apenas clique no boto OK e vamos em frente.

3. Specify Components and Files


Neste grupo voc dir o que o Install realmente levar no pacote: Na primeira parte (Group and Files) faa as seguintes incluses: Na pasta Program Files aperte o boto Insert Files, localize e arraste o arquivo BASICO.MDB (clicando com o mouse sobre ele, segurando e levando) para dentro desta pasta. Na pasta BDE/IDAPI Files localize e arraste o arquivo IDDA3532.DLL, pode fechar o Windows Explorer. Vamos agora criar algumas pastas necessrias para a instalao do DAO, clique no boto Add Group e coloque as seguintes informaes: Group Name: DAOSystem Destination Directory: <WINSYSDIR>

Com o auxlio do boto Insert Files arraste os seguintes arquivos para esta pasta: C:\Windows\System\MSJTER35.DLL C:\Windows\System\MSJINT35.DLL C:\Windows\System\MSVCRT40.DLL C:\Windows\System\MSJET35.DLL C:\Windows\System\VBAJET32.DLL C:\Windows\System\VBAR332.DLL C:\Windows\System\OLEAUT32.DLL C:\Windows\System\STDOLE2.TLB C:\Windows\System\ODBCJT32.DLL C:\Windows\System\ODBCJI32.DLL C:\Windows\System\ODBCTL32.DLL C:\Windows\System\MSJT3032.DLL C:\Windows\System\MSJINT32.DLL C:\Windows\System\VEN2232.OLB C:\Windows\System\MSVCRT20.DLL C:\Windows\System\MSWNG300.DLL C:\Windows\System\MSRD2X32.DLL C:\Windows\System\VBDB32.DLL C:\Windows\System\MFC40.DLL C:\Windows\System\ODBC32.DLL C:\Windows\System\ODBCINT.DLL C:\Windows\System\MSRD2X35.DLL C:\Windows\System\MSREPL35.DLL Group Name: DAO Destination Directory: <CommonFilesDir>\Microsoft Shared\DAO Com o auxlio do boto Launch Explorer arraste os seguintes arquivos para esta pasta: C:\Arquivos de Programas\Arquivos comuns\Microsoft Shared\DAO\DAO350.DLL C:\Arquivos de Programas\Arquivos comuns\Microsoft Shared\DAO\DAO2535.TLB C:\Arquivos de Programas\Arquivos comuns\Microsoft Shared\DAO\DAO2532.TLB C:\Arquivos de Programas\Arquivos comuns\Microsoft Shared\DAO\DAO3032.DLL Group Name: VBFiles Destination Directory: <WINSYSDIR> Com o auxlio do boto Launch Explorer arraste os seguintes arquivos para esta pasta: C:\Windows\System\OLEPRO32.DLL C:\Windows\System\CTL3D32.DLL C:\Windows\System\VBAR2232.DLL As prximas partes (Components e Setup Types) so utilizadas quando voc estiver trabalhando com uma aplicao muito grande aonde existe a diviso em vrias partes, voc poder dar tambm a chance do seu cliente instalar apenas determinadas partes que o interesse.

4. Select User Interface Components


Este grupo o que comandar a instalao propriamente dita, gerando a interface com o nosso cliente. Vamos trat-lo com calma e parte a parte: Welcome Bitmap - Este um bitmap de abertura, a primeira janela que ser mostrada aps iniciado o programa de instalao. Marque a opes e clique na pgina Settings e localize o arquivo Splash.bmp enviado. Para o nosso caso deixe a opo marcada. Welcome Message - Esta uma janela de boas-vindas com uma mensagem para o nosso cliente sobre o sistema, infelizmente ela totalmente em ingls, s pode ser modificada na verso registrada do produto. Para o nosso caso desmarque a opo. Software Licence Agreement - Aqui esta a famosa janela da Licena de uso, ou se voc prefere das regras de uso para o nosso aplicativo, voc pode modificar o contedo criando um arquivo texto (formato .TXT) e o localizando atravs da pgina Settings, mas no poder modificar as instrues em Ingls (apenas na verso registrada). Para o nosso caso desmarque a opo. Readme Information - Aqui ser mostrado o arquivo LeiaMe inicial, novamente voc pode modificar o contedo criando um arquivo texto (formato .TXT) e o localizando atravs da pgina Settings, mas no poder modificar as instrues em Ingls (Apesar de que ela se reduz a um simples Information) se voc quiser crie-o ou ento desmarque a opo.

User Information - Aqui so informaes do nosso cliente: seu nome, nome da empresa e o nmero de registro do nosso software. Para o nosso caso deixe a opo desmarcada. Choose Destination Location - Aqui aonde nosso cliente poder escolher qual o drive e a pasta que o sistema ser instalado. (para o nosso caso ela ser colocada em C:\Arquivo de Programas\Curso\Mapa). Como acertamos no BDE podemos deix-la marcada para que o nosso cliente decida. Setup Type - Em casos de sistemas muito grandes aqui que o cliente decidir qual o modo que ele quer que seja instalado o sistema. Tudo, Compacto ou Customizado. Para o nosso caso deixe a opo desmarcada. Custom Setup - Esta uma subdiviso da parte anterior aonde o cliente escolher (a partir da opo Customizado da janela anterior, qual a parte que ele quer que seja instalada. Para o nosso caso deixe a opo desmarcada. Select Program Folder - Aqui aparecer uma janela que permitir alterar o nome do grupo que ser criado no Windows para colocar nossos cones do projeto. Para o nosso caso deixe a opo marcada. Start Copying Files - aqui que o cliente v todas as opes que ele escolheu anteriormente, podendo voltar atrs e modificar algo antes da instalao propriamente dita. Para o nosso caso deixe a opo marcada. Progress Indicator - Uma barra que acompanhar o processo de instalao mostrando ao cliente o quanto falta (em percentual) para a concluso da instalao. Para o nosso caso deixe a opo marcada. Billboards - So cartazes que fazem a propaganda do nosso software ou de outros que produzimos, aqui possvel colocar um para cada mdia instalada, basta apenas nome-los em SETUP1.BMP, SETUP2.BMP e assim sucessivamente dependendo do nmero de discos que produzimos. V para a pgina Settings e localize o diretrio dos bitmaps enviados (SETUP1.BMP, SETUP2.BMP e SETUP3.BMP). Para o nosso caso deixe a opo marcada. Online Registration - Muitas empresas processam o registros dos softwares de forma automtica, bastando para isso que o cliente possua um Modem, para tanto na pgina Settings identifique o nmero identificador do sistema e o nmero do telefone ou ento desmarque a opo. Setup Complete - Este o ltimo passo do processo, aqui voc pode escolher se o cliente deve dar um Reboot na mquina (que aconselhvel), ou mostrar um arquivo Leiame final, bastando para isso alterar na pgina Settings, mas de qualquer forma deixe esta opo marcada. Clique no boto OK para finalizar

5. Make Registry Changes


Esta pgina deve ser tratada com o carinho e o respeito que ela merece, pois aqui faremos as modificaes na rea de register do Windows, ento calma e muito sangue frio aqui. No queremos corromper essa rea de registro do nosso cliente. Como modificamos a verso do DAO em nosso BDEAdmin para 3.5 tambm precisamos repetir essa operao na mquina que ser instalado o nosso sistema. Na pgina Registry - Keys abra a chave HKEY_LOCAL_MACHINE e clique no boto Add Key... crie a chave SOFTWARE, clique nesta nova chave e v repetindo a operao criando a seguinte

estrutura: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\DataBase Engine\Settings\DRIVERS\MSACCESS\INIT

Deixe marcada a ltima chave INIT e clique na pgina Registry - Values e clique no boto Add Values e proceda as seguintes alteraes:

Pronto, clique no boto OK. Agora crie a seguinte Chave na pgina Registry - Keys: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\DAO Crie o seguinte Valor para esta chave na pgina Registry - Values: Value Type: String Value Name: Path Value Data: <CommonFilesDir>\Microsoft Shared\DAO\Dao3032.dll Crie a seguinte Chave na pgina Registry - Keys: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\DAO35 Crie o seguinte Valor para esta chave na pgina Registry - Values: Value Type: String Value Name: Path Value Data: <CommonFilesDir>\Microsoft Shared\DAO\DAO350.DLL

6. Specify Folders and Icons


Aqui ser mostrado os cones (dos Arquivos) que sero instalados dentro do grupo escolhido, este grupo divide-se em: General - Aonde possvel adicionar novos cones, lembre-se que antes eles devem ter sido colocados pelo grupo Specify Components and Files, tais como: Arquivos TXT - Readme iniciais, para o registro do aplicativo, entre outros. Arquivos HLP - Contendo um arquivo de auxlio para a aplicao. Advanced Settings - Aqui podemos modificar o destino dos nossos arquivos, o cone, criamos uma tecla de atalho rpido para sua execuo ou at mesmo inici-lo quando o Windows for iniciado.

 Importante - Para o aplicativo iniciar assim que o Windows iniciar na pgina Advanced, existe uma
caixinha para marcar que est escrito: Place Icon and Start Programs Menu.

7. Run Disk Builder


Pronto, tudo foi informado e agora o grande momento a gerao do nosso pacote, escolha a midia que ser gerado e clique no boto Build, espere o trmino do processo e veja em quantas mdias foram geradas o seu pacote.

 Importante - No se assuste com o nmero de disquetes (1.44Mb) normalmente apenas o BDE ocupa
2,5 disquetes ento comum sistemas darem de 3 ou superior. Contando que o DAO normalmente ocupa 3 Disquetes ou mais, calcule que seu sistema caber em simples 7 disquetes.

 Importante - Se voc instalar o sistema a partir da rede escolha a opo CD-Rom pois a ser uma
nica mdia.

8. Test the Installation


Aqui voc pode testar como ficou seu pacote, acompanhando eventuais erros, mas o melhor mesmo voc coloc-lo em disquetes e lev-lo para uma mquina que no tenha o Delphi instalado.

 Importante - Gere seu pacote em disquetes de 1.44Mb e copie para os disquetes para proceder a
instalao assim voc poder acompanhar a mudana das telas a cada disquete solicitado.

 Importante - No se esquea que depois, para remov-lo, voc precisa ir em Painel de Controle |
Adicionar ou Remover Programas para que o Install proceda a retirada das entradas nas reas de registro do Windows.

9. Create Distribution Media


Neste ltimo grupo voc poder copiar totalmente, ou parcialmente, o seu pacote na mdia selecionada.

Finalmente

Agora voc j pode mandar todo o seu projeto para aquele cliente especial, basta apenas embal-lo e despachar com as famosas instrues:

Como Instalar
O Mapa Eletrnico s pode ser consultado depois de instalado no seu Microcomputador, sob o ambiente Windows 95 ou superior. Para realizar a instalao siga essas instrues: 1. Ligue o Microcomputador ativando o Windows 2. Introduza o disquete marcado como INICIAL na unidade de leitura 3. Clique no boto INICIAR e escolha a opo EXECUTAR 4. Digite ento A:\SETUP (ou no lugar do A, a letra equivalente ao drive da sua unidade de leitura do disquete). 5. Click sobre o boto OK e execute as instrues do Instalador. Acredito que seu usurio no errar esses 5 passos. Um abrao e at a prxima.

Vous aimerez peut-être aussi