Graficos Delphi 7
Trabalho Universitário: Graficos Delphi 7. Pesquise 862.000+ trabalhos acadêmicosPor: mapam • 5/3/2014 • 1.144 Palavras (5 Páginas) • 463 Visualizações
Introdução
Uma das maiores dificuldades dos desenvolvedores é sem dúvida quando temos dependências de chaves em um relacionamento master-detail do tipo Pedido x ItemsPedido; onde precisamos passar para a tabela de detalhe a chave primária da tabela máster, porém essa chave é gerada através de uma trigger que está no banco de dados. Isso acaba criando uma enorme dificuldade aos desenvolvedores para se ter controle sobre o processo pois parte dele fica no banco de dados. Sendo assim se acaba optando por outras técnicas mais trabalhosas e que levam o desenvolvedor a deixar a aplicação extremamente vulnerável e com falhas no processo.
Criando a Aplicação
Utilizaremos em nossa aplicação uma tabela temporária através do ClientDataSet com persistência em XML; mas também poderiam ser utilizados outros tipos de dataset’s como TTable, TQuery e até mesmo o ClientDataSet ligado à um banco de dados. No Delphi clique em File/New/Application para criarmos uma nova aplicação em seguida clique em File/Save All para salvarmos os arquivos do nosso projeto. Salve o arquivo de projeto (*.dpr) com o nome de AplicacaoDBChart e a unit (*.pas) com o nome de U_AplicacaoDBChart; para simplificar o exemplo não utilizaremos DataModule, iremos construir toda conexão em nosso próprio formulário.
Adicione ao formulário um DBGrid (Data Controls), dos Edit’s (Standard), dois Label’s (Standard), dois BitBtn’s(Additional), um DbChart (DataControls) , um DbNavigator (Data Controls) um ClientDataSet (Data Acess) e um DataSource (Data Acess). Ajuste os componentes conforme Figura 1. Depois aponte a propriedade dataset do DataSource1 para ClientDataSet1, e a propriedade datasource do DbNavigator1 e DBGrid1 para DataSource1.
Figura 1 – Formulário Principal
Criando a Estrutura do ClientDataSet
Utilizaremos em nossa aplicação uma tabela temporária através do ClientDataSet com persistência em XML; mas também poderiam ser utilizados outros tipos de dataset’s como TTable, TQuery e até mesmo o ClientDataSet ligado à um banco de dados. No Delphi clique em File/New/Application para criarmos uma nova aplicação em seguida clique em File/Save All para salvarmos os arquivos do nosso projeto. Salve o arquivo de projeto (*.dpr) com o nome de AplicacaoDBChart e a unit (*.pas) com o nome de U_AplicacaoDBChart; para simplificar o exemplo não utilizaremos DataModule, iremos construir toda conexão em nosso próprio formulário.
Para criarmos a infra-estrutura onde serão armazenados os dados, dê um duplo clique sobre o ClientDataSet1, clique com o botão direito do mouse sobre o editor de campos e escolha a opção New Field para definir os campos conforme a Tabela 1.
Campo Tipo Tamanho
COD_EMP Integer -
NOME String 20
SALARIO Float -
DATA_CADASTRO Date -
Tabela 1. Estrutura do ClientDataSet que armazenará os dados
Após definida estrutura clique com o botão direito do mouse sobre o ClientDataSet1 e escolha a opção CreateDataSet, em seguida clique novamente com o botão direito sobre o ClientDataSet1 e escolha a opção Save To MyBase Xml Table e aponte para a pasta onde foi salva a aplicação; dê o nome do arquivo de arquivo.xml e para deixarmos que o ClientDataSet cuide de toda a parte de atualização dos dados no XML, precisamos ir até a propriedade FileName e direciona-la para o arquivo salvo em disco (arquivo.xml).
Adicionando dados ao ClientDataSet
COD_EMPRE NOME SALARIO DATA CADASTRO
1 Manoel Edesio 1306,23 01/01/2002
2 Rubia Carla 1456,07 10/02/2003
3 Ana Claudia 756,68 01/06/2003
4 Renato Santana 642,43 01/09/2003
5 Reynaldo Abreu 1002,14 01/03/2004
Tabela 2 – Dados armazenados no ClientDataSet
Implementando o Filtro
Como temos um arquivo xml que está em disco sendo manipulado através do ClientDataSet utilizaremos a propriedade Filter do Componente para efetuarmos a nossa consulta, dê um duplo clique no botão filtrar e no seu evento OnClick digite.
1.procedure TForm1.BitBtn1Click(Sender: TObject);
2.begin
3.ClientDataSet1.Filtered:=false;
4.ClientDataSet1.Filter:='Cod_Emp >='+Edit1.Text +
5.'and Cod_Emp <='+edit2.Text;
6.ClientDataSet1.Filtered:=True;
7.DBChart1.RefreshData;
8.end;
Verifique que estamos utilizando o método RefreshData do DBChart no clique do botão filtrar, fazemos isso para garantir que o gráfico sempre estará atualizado. Para implementar o botão limpar dê um duplo clique no mesmo e no seu evento OnClick digite.
01.procedure TForm1.BitBtn2Click(Sender: TObject);
02.begin
03.Edit1.Clear;
04.Edit2.Clear;
05.ClientDataSet1.Filtered:=False;
06.ClientDataSet1.Filter:='';
07.ClientDataSet1.Filtered:=True;
08.DBChart1.RefreshData;
09.end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
...