Você está na página 1de 2

SISTEMA DE VENDAS Desenvolva um Sistema de Vendas em Delphi com base nas seguintes telas e especificaes.

Tela 1

Tela 2

DER

A Banco de Dados VENDA.FDB deve ter a estrutura mostrada no DER acima; O programa deve utilizar a API ADO Express para conexo com o Banco de Dados Firebird; Um arquivo .INI Venda.ini deve conter a string de conexo com o Banco de Dados, incluindo Usurio e Senha: [ADO] Provider=... Connection=...

A localizao do Banco de Dados a mesma do programa executvel, devendo ser atualizada automaticamente quando da criao da conexo, no podendo fazer parte da string de conexo do Banco de Dados do arquivo .INI; Existem 4 telas de entrada de dados: Clientes, Itens, Pedidos, Itens de Pedido; As operaes no Banco de Dados so controladas por botes individuais, NO PODENDO SER UTILIZADO O DBNAVIGATOR; A tela de entrada de dados Itens de Pedido relacionada com a tela Pedidos atravs de uma relao MestreDetalhe, sendo chamada de forma MODAL atravs de um boto na tela Pedidos; Os componentes DBGrid devem conter apenas as colunas mostradas nas telas, com os nomes mostrados nas telas; OBSERVAES

Nomeie o projeto, os formulrios e os componentes de forma clara ( No deixe os componentes com nomes como Button1); Trate adequadamente formulrios Modais e/ou No-Modais; Trate adequadamente as propriedades Visible ou Enabled de forma a tornar invisveis ou desabilitados os componentes que assim o exigirem; Verifique os valores da propriedade TabOrder para que os componentes se comportem de forma adequada; Desaloque a memria de objetos criados dinamicamente; Torne o formulrio o mais amigvel possvel e controlar o que for possvel na sua exibio; DICAS

Um formulrio MODAL deve ter as propriedades FormStyle = fsNormal e Visible = False; As operaes de Banco de Dados podem ser chamadas de 2 formas, sendo a segunda mais genrica e ideal quando temos vrias telas iguais que sero copiadas: Dados.ADOQueryCliente.Insert equivalente a DataSource.DataSet.Insert

As operaes nas tabelas MESTRE em uma relao MESTRE-DETALHE com GENERATORS ( Pedido ) um pouco diferente da operao normal, pois a chave da tabela gerada no Banco de Dados e no vai estar disponvel no Delphi enquanto no se fizer uma nova consulta SQL. Assim necessrioi usar o cdigo abaixo junto com o mtodo POST: procedure TFormPedido.ButtonGravarClick(Sender: TObject); begin //Dados.ADOQueryCliente.Post; Dados.DataSource.DataSet := nil; // desliga o Mestre-Detalhe DataSource.DataSet.Post; DataSource.DataSet.Active := False; // carrega o valor gerado via Generator DataSource.DataSet.Active := True; // carrega o valor gerado via Generator Dados.DataSource.DataSet := Dados.ADOQueryPedido; // liga o Mestre-Detalhe end;

Você também pode gostar