Escolar Documentos
Profissional Documentos
Cultura Documentos
Neste projeto iremos pôr em prática nossos conhecimentos a respeito do Delphi através da
elaboração de um mini-aplicativo que terá como objetivo controlar os pedidos dos clientes de uma
empresa de representações. Para isto, o sistema deverá permitir:
Cadastro dos clientes
Cadastro dos produtos
Emissão dos pedidos dos clientes
Siga os procedimentos abaixo para efetuar a criação do aplicativo desde a criação do banco de
dados, passando pela conexão ODBC para acessar o banco até a criação da aplicação completa
incluindo relatórios.
1. Abra o Windows Explorer e crie uma pasta denominada Controle de Pedidos no local de sua
preferência.
2. Abra o MS-Access, crie um banco de dados em branco denominado Pedidos.mdb dentro da pasta
criada anteriormente.
3. Crie as tabelas abaixo definindo as chaves primárias e relacionando as tabelas conforme ilustrado
a seguir:
Obs.: Altere o relacionamento entre as tabelas Pedidos e ItensPedido selecionando a opção para
“Propagar exclusão dos itens relacionados”. Isto irá fazer com que, ao excluir um registro da tabela
Pedidos, automaticamente sejam excluídos os registros relacionados na tabela ItensPedido.
4. Saia do Access, acesse o painel de controle, abra o item Ferramentas Administrativas, abra o item
Fontes de dados (ODBC). Dê um clique no botão Adicionar e na janela que aparece, selecione o
tipo de banco de dados que estamos usando neste projeto e clique em Concluir, conforme ilustra a
figura.
Ilustração 7 - Selecionando o driver para Access
5. Digite o nome da fonte de dados PEDIDOS e selecione o arquivo de banco de dados clicando no
botão Selecionar, conforme ilustra a figura.
CRIAÇÃO DO APLICATIVO
1. Abra o Delphi e salve a aplicação em branco clicando em File / Save all. Atribua os seguintes
nomes de arquivo:
Unit1 UPrincipal
Project1 SisPed
1. Clique no menu File / New / Data Module. Altere a propriedade Name do Data Module para DM
e salve-o dentro da pasta do projeto com o nome UDM.
2. Insira dentro do Data Module um componente ADOConnection (paleta ADO) e configure suas
propriedades LoginPrompt para False e Name para Conexao. A seguir dê um duplo clique sobre o
mesmo para configurarmos a conexão com o banco. Clique no botão Build e a seguir seleciona o
provedor Microsoft OLEDB Provider for ODBC Drivers e clique em Avançar. Selecione a fonte de
dados PEDIDOS, marque a opção para definir a senha em branco e clique no botão Testar conexão.
Clique nos botões Ok para fechar todas as janelas.
Ilustração 12 - Selecionando a fonte de dados ODBC
5. Insira mais três componentes ADOTable (paleta ADO) e altera suas propriedades. Adicione
todos os campos para cada um dos componentes inseridos.
ADOTable1
Connection = Conexao
Name = TblProdutos
TableName = Produtos
ADOTable2
Connection = Conexao
Name = TblPedidos
TableName = Pedidos
ADOTable3
Connection = Conexao
Name = TblItensPedido
TableName = ItensPedido
6. Insira quatro componentes DataSource (paleta Data Access) e configure as suas propriedades.
DataSource1
DataSet = TblClientes
Name = DsClientes
DataSource2
DataSet = TblProdutos
Name = DsProdutos
DataSource3
DataSet = TblPedidos
Name = DsPedidos
DataSource4
DataSet = TblItensPedido
Name = DsItensPedido
1. Clique no menu File / New / Form. Altera as propriedades para este novo formulário.
BorderIcons.biMaximize = False
BorderIcons.biMinimize = False
BorderStyle = bsSingle
Caption = Modelo de Cadastro
FormStyle = fsMDIChild
KeyPreview = True
Name = FrmModeloCadastro
Position = poScreenCenter
OnClose: Action := cafree;
2. Salve este formulário na pasta da aplicação com o nome UModeloCadastro.
5. Pressione F12 para ter acesso à janela de código do formulário. Localize a seção uses no início do
arquivo. Acrescente à lista já definida a biblioteca DB. A seguir, localize a seção public e declare,
logo abaixo as variáveis a seguir:
Tabela: TDataSet;
CampoPesquisa: String;
6. Alterne para o formulário, dê um duplo clique no botão BtnPrimeiro e digite as linhas de código a
seguir:
7. Alterne para o formulário, dê um duplo clique no botão BtnAnterior e digite as linhas de código a
seguir:
8. Alterne para o formulário, dê um duplo clique no botão BtnProximo e digite as linhas de código a
seguir:
9. Alterne para o formulário, dê um duplo clique no botão BtnUltimo e digite as linhas de código a
seguir:
10. Alterne para o formulário, dê um duplo clique no botão BtnNovo e digite as linhas de código a
seguir:
11. Alterne para o formulário, dê um duplo clique no botão BtnSalvar e digite as linhas de código a
seguir:
12. Alterne para o formulário, dê um duplo clique no botão BtnExcluir e digite as linhas de código a
seguir:
14. Alterne para o formulário, dê um duplo clique no botão BtnSair e digite as linhas de código a
seguir:
CADASTRO DE CLIENTES
1. Clique no menu File / New / Other. Clique na guia SisPed, selecione a opção
FrmModeloCadastro e clique no botão Ok. Isto irá criar um novo formulário seguindo o modelo
definido a partir do formulário FrmModeloCadastro, incluindo a programação dos botões, já
definida. Este recurso é denominado Herança Visual de Formulários e ajuda bastante o processo
de desenvolvimento.
2. Altere as propriedades Caption e Name do formulário recém inserido para Cadastro de Clientes e
FrmClientes. Salve este formulário com o nome UClientes dentro da pasta do projeto.
4. Iremos criar uma referência ao Data Module para permitir configurar os componentes de acesso a
dados. Clique no menu File / Use Unit. Na janela que aparece, selecione a unit do Data Module
(UDM) e clique em OK.
5. Configure cada componente de acesso a dados para acessar os respectivos campos. Por exemplo,
selecione o componente DBText1. Configure a propriedade DataSource para DM.DsClientes e a
propriedade DataField para CodCliente. Repita o procedimento para todos os demais componentes.
6. Selecione o componente DBComboBox1. Insira a lista dos estados dentro da propriedade Items e
configure as propriedades Style para csDropDownList e Sorted para True.
FrmClientes.WindowState := wsNormal;
end;
9. Pressione F9 para compilar a aplicação. Irá aparecer o aviso abaixo, perguntando se desejamos
que o Delphi crie uma referência no formulário FrmPrincipal para o formulário FrmClientes. Clique
no botão Yes e pressione novamente F9 para rodar a aplicação.
EMISSÃO DE PEDIDOS
1. Clique no menu File / New / Other. Clique na guia SisPed, selecione a opção
FrmModeloCadastro e clique no botão Ok.
2. Altere as propriedades Caption e Name do formulário recém inserido para Emissão de Pedidos e
FrmPedidos. Salve este formulário com o nome UPedidos dentro da pasta do projeto.
4. Iremos criar uma referência ao Data Module para permitir configurar os componentes de acesso a
dados. Clique no menu File / Use Unit. Na janela que aparece, selecione a unit do Data Module
(UDM) e clique em OK.
6. Abra o Data Module (File / Open ou View / Forms). Dê um duplo clique no componente
TblItensPedido. Clique com o botão direito no Editor de Campos e clique no comando New Field.
Na janela que aparece, preencha as informações ilustradas na figura abaixo e clique no botão Ok:
Ilustração 22 - Parâmetros para criação do campo "Lookup"
8. Volte para a janela de Pedidos (FrmPedidos). Dê um duplo clique no componente DBGrid1. Irá
aparecer a janela do Editor de Colunas (figura abaixo). Clique duas vezes no botão , para inserir
duas colunas no Grid.
Ilustração 24 - Editor para personalizar as colunas do DBGrid
10. Ajuste as colunas do Grid para que fique semelhante à figura a seguir:
11. Dê um duplo clique no componente DBGrid1. Irá aparecer a janela do Editor de Colunas (figura
abaixo). Clique quatro vezes no botão , para inserir duas colunas no Grid. Ajuste as propriedades
FieldName e Title.Caption de forma que o Grid fique semelhante à figura a seguir:
Ao final destes passos, a janela de emissão de pedidos ficará semelhante à figura a seguir:
Ilustração 27 - Layout da janela de emissão de pedidos
12. Pressione F12 para ter acesso à janela de código do formulário. Localize a seção uses no início
do arquivo. Acrescente à lista já definida a biblioteca DB.
13. Ainda na janela de código, localize a seção private e logo abaixo declare o seguinte
procedimento:
procedure CalcularTotal;
14. Com o cursor nesta linha de código, pressione CTRL+SHIFT+C para criar o corpo do
procedimento abaixo da linha implementation. Digite as linhas de código a seguir dentro do corpo
do procedimento:
procedure TFrmPedidos.CalcularTotal;
var Soma: double;
begin
Soma := 0;
DM.TblItensPedido.First;
while (DM.TblItensPedido.Eof=False) do
begin
Soma := Soma + (DM.TblItensPedido.FieldByName('Quant').Value *
DM.TblItensPedido.FieldByName('Valor').Value);
DM.TblItensPedido.Next;
end;
Tabela.Edit;
Tabela.FieldByName('Total').Value := Soma;
Tabela.Post;
end;
15. Crie um procedimento para o evento OnShow do formulário e digite as seguintes linhas de
código:
17. Crie um procedimento para o evento OnCellClick do componente DBGrid1 e digite as seguintes
linhas de código:
20. Abra o Data Module (File / Open ou View / Forms). Selecione o componente TblItensPedido e
crie um procedimento para o evento OnCalcFields. Digite as seguintes linhas de código:
21. Ainda no Data Module, selecione o componente TblPedidos e crie um procedimento para o
evento AfterInsert. Digite as seguintes linhas de código:
Obs.: Compile a sua aplicação e, de preferência, execute-a “fora” do Delphi. Isto impedirá que
mensagens desagradáveis do compilador apareçam durante o teste da aplicação, fazendo com que a
máquina trave com o tempo.
CRIANDO O RELATÓRIO DE CLIENTES
1. Crie um novo formulário (File / New / Form). Altere a propriedade Name deste formulário para
FrmRelClientes e salve-o como URelClientes dentro da pasta da aplicação.
2. Insira dentro do formulário um componente QuickRep (paleta QReport). Altere sua propriedade
Name para QrpClientes.
4. Iremos criar uma referência ao Data Module para permitir configurar os componentes de acesso a
dados. Clique no menu File / Use Unit. Na janela que aparece, selecione a unit do Data Module
(UDM) e clique em OK.
5. Altere a propriedade DataSet selecionando o item DM.TblClientes.
6. Insira dentro da seção Page Header (cabeçalho da página) um componente QRLabel (paleta
QReport). Altere sua propriedade Caption para Sistema de Controle de Pedidos. Formate a fonte
deste componente à gosto.
7. Insira dentro da seção Title (título do relatório) um componente QRLabel. Altere sua propriedade
Caption para Relatório de Clientes. Altere suas propriedades Alignment para taCenter e
AlignToBand para True. Formate a fonte deste componente à gosto.
8. Insira dentro da seção Column Header (cabeçalho das colunas) seis componentes QRLabel.
Configure as propriedades Caption destes componentes, segundo a figura a seguir.
9. Insira dentro da seção Detail (detalhe do relatório) seis componentes QRDBText. Organize-os
para que fiquem na mesma direção dos componentes QRLabel’s inseridos na seção logo acima.
10. Configure as propriedades DataSet e DataField de cada um dos componentes QRDBText para
que acessem os respectivos campos da tabela de clientes (componende DM.TblClientes).
11. Insira dentro da seção Summary um componente QRSysData. Altere suas propriedades Data e
Text para qrsDetailCount e Total de clientes:, respectivamente
12. Insira dentro da seção Page Header, dois componentes QRSysData no canto superior esquerdo,
um acima do outro.
14. Selecione a seção Column Header. Dê um clique no botão “+” ao lado da propriedade Frame.
Altere a propriedade DrawBottom para True.
15. Selecione a seção Summary. Dê um clique no botão “+” ao lado da propriedade Frame. Altere a
propriedade DrawTop para True.
16. Abra o formulário principal (Open / File ou View / Forms). Dê um clique no menu Relatórios /
Clientes, para criar um procedimento de evento para este item de menu. Digite as linhas de código
abaixo:
17. Compile e rode a aplicação. Clique no menu Relatórios / Clientes e veja o resultado.
Ilustração 34 - Relatório sendo exibido no vídeo