Escolar Documentos
Profissional Documentos
Cultura Documentos
Como construir um sistema utilizando Delphi?......................................................................... Como criar uma nova aplicao no Delphi?.............................................................................. Como salvar a aplicao no Delphi?.......................................................................................... Como alterar as propriedades da tela? ...................................................................................... Como executar a aplicao no Delphi? ..................................................................................... Como fechar a aplicao? ......................................................................................................... Como abrir a aplicao? ............................................................................................................ Como inserir uma imagem na tela? .......................................................................................... Como criar uma tela de splash? ................................................................................................ Como criar uma lista de aes? ................................................................................................ Como criar um menu de opes? .............................................................................................. Como inserir uma lista de imagens? ......................................................................................... Como criar uma barra de ferramentas? ..................................................................................... Como criar uma barra de status do sistema? ............................................................................. Como inserir data e hora na barra de status do sistema? .......................................................... Como pedir confirmao ao fechar tela na aplicao?.............................................................. Como criar uma nova tela na aplicao?................................................................................... Como remover uma tela da aplicao?...................................................................................... Como preparar o banco de dados para ser usado no sistema? .................................................. Como criar uma tela de login do sistema? ................................................................................ Como alterar a Main Form do sistema? .................................................................................... Como criar uma tela padro? .................................................................................................... Como utilizar uma tela padro do sistema? .............................................................................. Como utilizar um DBGrid? ....................................................................................................... Como utilizar um DBNavigator? .............................................................................................. Como inserir campos de uma tabela na tela? ............................................................................ Como chamar uma tela no Delphi? ........................................................................................... Como criar uma tela manualmente na aplicao? ..................................................................... Como criar relacionamento Master/Detail na aplicao? ......................................................... Como utilizar componentes do tipo LookUp? .......................................................................... Como criar consultas em tabelas do banco de dados? .............................................................. Como utilizar filtro em uma tabela? ......................................................................................... Como usar a linguagem SQL no Delphi? ................................................................................. Como criar um relatrio com o QuickReport? ......................................................................... Como criar um relatrio no Rave Reports? .............................................................................. Como criar um relatrio com a linguagem Rave Reports? ....................................................... Como validar dados e tratar erros no Delphi? .......................................................................... Como criar campos calculados? ................................................................................................ Como criar campos Lookup? .................................................................................................... Como exportar / importar dados com Delphi/Excel? ............................................................... Como utilizar uma Unit no vinculada a forms? ...................................................................... Como utilizar uma DLL? .......................................................................................................... Como preparar um sistema para ser utilizado em rede? ........................................................... Como criar um sistema de ajuda? ............................................................................................. Como criar discos de instalao para a aplicao? ................................................................... Como compactar o banco de dados do Access no Delphi? .............................................. Como criar uma rotina de Backup/Restore do sistema? ................................................... Como criar um grfico no Delphi? ...................................................................................... Como criar um relatrio de produtos em falta.................................................................... Como realizar algumas melhorias no sistema? ......................................................................... Como criar um objeto em tempo de execuo? ........................................................................ Como estruturar o banco de dados Banco.MDB ................................................................... .............................................................................
02 03 03 04 05 05 06 07 08 09 10 11 12 13 13 14 14 15 16 19 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 41 42 43 44 45 46 47 48 51 53 54 56 58 59 60 61
Este tpico dever ser realizado uma nica vez para cada sistema a ser criado.
File ->
Este tpico deve ser executado para a aplicao ser gravada em disco. : Nunca deixe para salvar somente quando terminar tudo. : Organize o seu trabalho, utilizando as anteriormente. pastas criadas
-> Save All ou clique no boto Escolha a pasta C:\Sistema\Programas na Combobox Salvar em para indicar o local onde a aplicao ser gravada.
Digite o nome da Unit da tela principal, por exemplo, UMenuPrin.pas Digite o nome do projeto, por exemplo, Sistema.dpr
Escolha a opo
O arquivo executvel (.exe), e outros, criados no momento da execuo do sistema, sero gravados dentro da pasta onde se encontra o cdigo fonte (*.pas e *.dpr), a no ser que sejam especificadas outras pastas atravs do comando -> Option -> Directories / Conditionals da barra de menus do Delphi. Os arquivos de extenso *.dcu, *.~*, *.exe podem ser apagados, pois os mesmos so reconstrudos aps executarmos o comando
Este tpico dever ser executado para fechar a aplicao. Lembre-se de salv-la antes disso.
Tela de splash ou de abertura a primeira tela exibida quando o programa executado. Sua exibio dura apenas alguns instantes.
-> New -> Form (cria uma nova tela) -> Save All (Salve a Unit como Altere as da tela FrmSplash 250 400 na pasta Programas) conforme tabela a seguir: bsNone poScreenCenter clGray
Procure a linha de comando Application.CreateForm(TFrmSplash, FrmSplash) e insira os comandos abaixo aps a mesma :
Para testar a
aplica o at este
(guia e d um
Acrescente as demais opes do menu atravs da propriedade (propriedade que exibe as aes do conforme mostra a prxima figura. Para criar os separadores, digite sinal de subtrao propriedade e tecle na ) e deixe seu menu
Para inserir uma opo em branco tecle Para apagar uma opo Tecle A opo Produtos deve ser digitada na propriedade Para criar o , tecle sobre a opo
.: Somente aps digitarmos os comandos das opes do menu no evento de cada ao da que as mesmas sero
10
Este tpico tem o propsito de ensinar como criar uma barra de ferramentas com botes representando cada opo do menu principal.
Clique com o boto direito do mouse sobre a barra de ferramentas e escolha New Button para inserir um novo boto ou New Separator para inserir um separador. Em nosso exemplo insira respectivamente ,e Para cada boto altere a propriedade opo do menu. , de acordo com a respectiva ,
.: Somente aps digitarmos os comandos no evento cada ao da que os botes sero habilitados. At o est habilitado. Execute a
de
12
Este tpico tem o propsito de ensinar como criar uma tela de login
Figura 4
-> New -> Form (cria uma nova tela) -> Save All (Salve a Unit como na pasta )
Altere as propriedades da tela Form conforme tabela a seguir: FrmLogin 225 400 bsDialog poScreenCenter Login
Acrescente 03
tela e
Usurio
Senha
taCenter False True Comic Sans Ms, 14, Bord 140, 4, 208, 50
19
do
sistema, ou seja, fazer com que seja mudada a tela que apresentada em primeiro lugar quando o sistema executado. Se voc tentou executar o sistema at este ponto, percebeu que a tela de login no apareceu. Uma das maneiras de fazer com que isto acontea, alterar a Main Form para a tela FrmLogin. Para isto siga os procedimentos abaixo:
Selecione a opo de menu Selecione a guia Forms e altere a opo Main Form para a tela desejada, em nosso exemplo escolha FrmLogin e clique no boto OK. Tecle para executar a aplicao
21
Execute este tpico sempre que for apresentar campos da tabela na tela, utilizando controles . (Utilize apenas um dos procedimentos)
: Selecione o
correspondente tabela que deseja pegar os campos. Selecione todos os campos que deseja incluir na tela e arraste-os para dentro da tela em que eles ficaro. Como exemplo, selecione a tela datamodule objeto AdoTable a tela e o selecione os seus campos e arraste-os para Neste caso so utilizados controles DBEdit.
desejado,
, por exemplo, e
26
Este tpico vai ensinar os procedimentos para criar um relacionamento na aplicao. Como exemplo utilizaremos as tabelas , onde, Em um relacionamento Master para cada registro da tabela e Detail. , so
Selecione a tela
Execute a aplicao e chame a tela de vendas. A partir de agora, quando a tela de itens da venda for chamada, s sero exibidos os registros dos itens correspondentes ao registro da venda selecionada. D duplo-clique na propriedade MasterField para ver a janela de designer do relacionamento. O relacionamento tambm poderia ter sido feito selecionando-se as chaves primria e estrangeira e clicando no boto Add. Faa isto apenas se voc no se lembrar do nome da chave primria.
29
Este tpico vai ensinar os procedimentos para criar uma consulta parcial a uma tabela e uma de chave completa. A Unit do Delphi utilizada deve ser a .
seja, uma pesquisa que procura parte do campo desejado, siga os passos: Selecione o evento do componente desejado (neste caso como abaixo:
] );
DataModule AdoTable
TEdit
encontrado depois de digitado todo o contedo do campo, utilize o mesmo comando, remova a palavra conforme o exemplo a seguir:
( 'CliNome',ValorCampo.Text, [loCaseInsensitive])
e coloque o comando dentro de uma estrutura de deciso If,
Digite o comando acima no evento OnClick do boto Pesquisar, por exemplo. Neste caso, lembre-se de colocar comentrio (//) no comando do evento OnChange do TEdit ValorCampo, utilizado anteriormente. Para fazer uma consulta com dois campos utilize a sintaxe: Tabela. [loPartialKey]); ('Campo1;Campo2', VarArrayOf([Contedo1, Contedo2]),
31
Este tpico vai ensinar os procedimentos para a utilizao dos comandos da linguagem (Structure Query Language) no Delphi. Atravs desta linguagem
voc pode criar e alterar tabelas, inserir, alterar, apagar registros, bem como fazer pesquisas simples e complexas em tabelas de bancos de dados.
Utilize algum componente para banco de dados que aceite instrues Em nosso exemplo, como estamos utilizando componentes na guia da paleta de componentes, o componente . para
, selecione
Defina a conexo do banco de dados que contm as tabelas desejadas. Para isto altere a propriedade nosso exemplo, escolha Clique na propriedade ... e digite o comando: para selecionar todos os registros da tabela de Clientes da cidade fornecida como parmetro de pesquisa pelo usurio atravs da aplicao, em ordem pelo nome do cliente. Em nosso exemplo sero selecionados todos os campos de cada registro , mas, se preferir selecionar apenas alguns campos, basta apenas digitar no lugar do asterisco o nome de cada campo separado por vrgula. D um duplo-clique no objeto teclando e selecione todos os campos , escolhendo a conexo. Em
Close; Parameters[n de ordem do parmetro].Value := <valor>; Open; // <outros comandos do Delphi, se houver> Close;
33
Este tpico vai ensinar os procedimentos para a criao de um relatrio utilizando o Rave Reports.
que responsvel pela conexo com o banco de dados. Mude a propriedade para Configure a propriedade
selecionando o nome da tabela ou query. Neste exemplo, escolha a query QueryClientes. Insira um componente , que ser responsvel pela exibio para
do relatrio, na tela ou na impressora. Mude Insira um componente gerenciamento do relatrio. Mude propriedades para
-> New para criar um novo relatrio no Rave -> e escolha na rea . Selecione a e clique no
36
QueryClientes.First; // vai para o primeiro registro da query ( // enquanto no for fim de arquivo
com o tipo
e escopo
Det_RelCadCliente; // chama a procedure detalhe do relatrio QueryClientes.Next; //vai para o prximo registro ;
NewPage; // insere uma nova pgina ao relatrio ; Lin := Lin - 0.2; MoveTo(0.7,Lin); //move o cursor para a coluna e linha indicados LineTo(20.5,Lin);//traa uma linha at posio Lin := Lin + 0.5; ; indicada.
Crie as
RvSysCliente .BaseReport
Gotoxy(0.7,Lin);//tabula coluna e linha no relatrio Print (QueryClientesCliNome.AsString); // Imprime Nome do cliente Gotoxy(6.5,Lin); Print (QueryClientesCliNumFone.AsString); Gotoxy(10,Lin); Print(QueryClientesCliCid.AsString); Lin := Lin + 0.5;
39
Este tpico vai ensinar os procedimentos para criar campos do tipo calculado, cujos clculos so feitos toda vez que um registro da tabela alterado.
escolha o tipo do mesmo em Em marque o tipo do campo como para calcular o total do produto
Clique sobre o boto Para que o campo calculado funcione inclua o clculo no evento da tabela para a qual ele foi criado. No evento da tabela tab_ItemVenda, digite: dm.tab_ItemVendaTotal.Value dm.tab_ItemVendaItVeQtde.Value (dm.tab_ItemVendaItVeValorUnitario.Value dm.tab_ItemVendaItVeDescontoItem.Value) Na tela d um duplo-clique sobre o . Selecione a coluna . Insira um e
da mesma para
42
Este tpico vai ensinar os procedimentos para criar campos lookup, que exibem valores de campos de registros de tabelas primrias de um relacionamento.
para inserir um novo campo. digite o nome do campo na caixa de texto e digite o tamanho em ,
escolha o nome da tabela primria. Escolha o nome da chave primria da tabela escolhida anteriormente em escolha o campo que aparecer como resultado em E finalmente Para que
seja exibido o nome da categoria do produto na tabela de produtos deixe sua tela conforme o modelo a seguir:
junto aos demais campos na tela, como j foi feito com os outros campos da mesma. Crie campos ( nas tabelas ( e ), ) e adicione-os aos respectivos
43
Este tpico vai ensinar os procedimentos para utilizar units no vinculadas a forms para criar um arquivo de funes e procedimentos comuns aplicao.
para acrescentar uma unit nova no vinculada a tela na aplicao. Para acess-la de outros locais, use para salvar a como
possui o nome da unit gravada no disco (*.pas) declare as funes e procedimentos de uso comum. implemente tudo o que foi declarado na
Para que as funes e procedimentos criados na possam ser utilizados, informe o nome da mesma na clusula de cada em que os mesmos forem solicitados. Aproveite este momento para pesquisar ou criar procedures e funes que possam ser utilizadas em vrios pontos do sistema e acrescente-as Unit UFunProGeral.pas
45
valor numrico que define o nmero de ordem da apresentao no sistema de ajuda. Cada identificao deve ser feita como uma nota de rodap, portanto coloque o cursor antes de cada ttulo principal exemplo) e acione o comando , por e escolha
Na caixa de texto Personalizada digite o smbolo identificador e clique no boto . Na digite o texto do
Observe que no exemplo anterior foi identificado apenas o tpico de , portanto, faa o mesmo para os outros dois tpicos restantes, utilizando os mesmos procedimentos. Defina os links do seu sistema de ajuda. Por exemplo, no tpico , na opo , selecione a palavra e escolha o estilo de sublinha Exatamente aps a palavra clientes, digite a palavra-chave contexto ) selecione-a, e aplique salve o seu documento como Na pasta programa (Help WorkShop). . , execute o com efeito aplique . (nome do e
Crie o arquivo de contedo no Help WorkShop e digite na caixa Default filename (and Windows) o nome do arquivo Para inserir um cabealho, clique sobre o boto ,
49
Este tpico vai ensinar os procedimentos para criar discos de instalao da aplicao utilizando o programa . Este programa acompanha as
verses Professional e Enterprise do Delphi. Antes de executar os procedimentos deste tpico tenha certeza de que o computador. j tenha sido instalado em seu
No Windows clique carregar o No a opo do zero, manualmente. Project Name and escolha a pasta onde ser
para
armazenado o arquivo de instalao, digite o nome do arquivo e clique no boto . , clique sobre o boto . Ao retornar tela do Na e defina as principais informaes sobre o seu projeto, como: nome do produto, verso, cdigo, nome do autor, etc. Clique sobre para definir os tipos de instalao que
estaro disponveis ao usurio, como por exemplo, tpica, mnima, e Na selecione os arquivos da aplicao (executveis, banco de dados, ajuda, dentro de suas respectivas pastas Logo em seguida arrasteDestination compu para confirmar os arquivos selecionados e
51
Este tpico vai mostrar como criar uma rotina para cpia de segurana e restaurao do banco de dados do sistema.
->
Crie a tela a seguir com o Name = FrmBkpRst, contendo os objetos: ( e ( ) Visible ) use as propriedades Caption e Items ( ),
CommonAvi
Selecione o DriveComboBox1 e altere sua propriedade DirList, para para que os dois fiquem associados.
Fonte: 10 pt
Este tpico vai mostrar como criar grficos estatsticos no Delphi, como por exemplo, grfico de barras, verticais, de pizza, etc.
Escolha o tipo de grfico a ser utilizado: guias Chart, Series e nos botes Add (
Clique no boto Titles e altere o ttulo da srie para Cidades. Selecione a guia Titles e digite o ttulo do grfico: caixa de texto e selecione o Alignment = Center Clique no boto Close. Faa referncia unit da tela DM. File (UDM) na
Insira um objeto ADOQuery tela e altere as propriedades: Name: Connection: SQL: D duplo-clique na query QCliCid e tecle [Ctrl] + [F] para inserir os campos. Copie o boto Btn_Imprimir da tela FrmCadCliente para a tela FrmGrafico. Insira um componente PrintDialog da guia Dialogs na tela FrmGrfico.
56
No evento
do
if Button in [nbInsert, nbEdit] then begin GroupBox1.Enabled := False; //desabilita o GroupBox1 e todos seus componentes. GroupBox2.Enabled := False; DbNavigator1.Enabled := False; DbNavigator2.Enabled := False; DbNavigator3.Enabled := True; end; No evento do da tela padro do sistema, digite:
GroupBox1.Enabled := True; GroupBox2.Enabled := True; DbNavigator1.Enabled := True; DbNavigator2.Enabled := True; DbNavigator3.Enabled := False;
do
da tela
, digite:
Faa o mesmo procedimento para as demais telas do sistema. Lembre-se de alterar o nome das tabelas e do componente que receber o foco na tela. Para utilizar a tecla como nas telas do sistema, selecione a tela padro para Logo em seguida, digite os
do sistema e altere a propriedade seguintes comandos no evento if Key = #13 then begin keybd_event(9,0,0,0); Key := #0; end;
da tela padro:
59
Tabela:
7 50 5
Tabela:
62