bsp;

 

Neste artigo veremos

·         Configuração de algumas das principais propriedades do componente TChart;

·         Rotinas para obter os dados de um banco e gerar os gráficos;

·         Impressão de mais de um gráfico por página sem o uso de um gerador de relatórios;

Qual a finalidade?

·         Gerar gráficos a partir de informações obtidas em um banco de dados;

Quais situações utilizam esses recursos?

·         Em aplicações comerciais é comum a necessidade da apresentação de resultados de uma forma mais amigável e de fácil compreensão. Para isso, em geral, utilizamos os gráficos para a exibição de informações obtidas através do cruzamento de dados armazenados no banco;

 

Resumo do DevMan

         Podemos dizer que todo sistema de informação é baseado em informações advindas do banco de dados da empresa. Isso é fato. Sabemos também, que boa parte de um software é constituída de relatórios que por sua vez enriquecem a aplicação e fazem com que ela tenha um sentido dentro da corporação.

         Além os relatórios, muitas empresas se baseiam em gráficos comparativos para demonstrar diversos setores da empresa, tais como vendas, compras, vendas em potencial, vendas antigas, estimativas etc. Por isso nesse artigo veremos como desenvolver facilmente gráficos utilizando o componente TChart que acompanha o Delphi desde os primórdios.

 

Em quase todos os projetos que trabalhei tive que implementar algum tipo de gráfico além da informação no formato de texto (os tradicionais relatórios). Porém, lembro que na primeira vez que um cliente me pediu para gerar um gráfico eu gelei, pois não tinha a menor idéia de como atender aquele pedido. Parti em busca de informações na internet, mas encontrei muito pouco sobre o assunto e a solução foi colocar um TChart em um form, estudar as suas propriedades e fazer inúmeros testes para entender o funcionamento do componente. Afim de que outros programadores não tenham as mesmas dificuldades que encontrei, resolvi escrever o que aprendi sobre esse componente. No decorrer do artigo construiremos um pequeno exemplo que preparei, onde veremos algumas das principais propriedades do TChart, como gerar um gráfico a partir de informações obtidas em uma base de dados e, por último, como imprimir um ou mais gráficos em uma mesma página sem a utilização de um gerador de relatórios como o QuickReport, por exemplo. O aplicativo terá dois gráficos, o primeiro com uma série onde representaremos as vendas de cada mês e um segundo gráfico onde estarão representadas as vendas de cada mês por Forma de Pagamento que irá conter três séries.

Neste exemplo utilizaremos o Delphi 7 e será necessário ainda a criação de uma pequena base dados com apenas quatro tabelas. Para a criação do banco utilizei o Firebird, porém nada impede que um outro SGDB seja usado.

 

Configurando o componente TChart

A maior dificuldade com que me deparei ao utilizar o componente TChart pela primeira vez foi a grande quantidade de propriedades que o componente possui para serem configuradas. Porém, antes de configurar qualquer propriedade (e isso vale para qualquer componente), é preciso entender o que representa a propriedade. Assim, para facilitar o entendimento dessas propriedades, vamos colocar a mão na massa e montar um pequeno aplicativo. Abra o Delphi 7 e inicie uma nova aplicação. Salve todos os arquivos em uma pasta nomeando a Unit do form como ufrmChart.pas e o projeto como prjChart.dpr. Atribua à propriedade Name do form criado frmChart e Chart à sua propriedade Caption. Coloque nele um componente TChart(chtVendas) da paleta Additional. De um duplo clique sobre o componente para carregar o editor de propriedades do TChart. É através desse editor que poderemos criar as séries do gráfico e  também configurar suas propriedades.

Para adicionar uma série ao gráfico clique no botão Add localizado à direita na página Chart>Séries. Escolha a opção Bar e clique em OK. Ao voltar para o editor teremos a nossa série criada. Para entender melhor o que é uma série, podemos imaginar que ela serve para representar uma determinada informação, assim, se imaginarmos um sistema comercial em que desejamos criar um gráfico que exiba a soma das vendas de cada mês, necessitamos de apenas uma série, pois temos uma única informação, que é o valor das vendas do mês. Por outro lado, se precisamos de um gráfico que apresente as vendas de cada mês separadas por Forma de Pagamento, então será necessário uma série para cada Forma de Pagamento possível. Portanto, se tivermos uma situação em que as opções de formas de pagamento forem, por exemplo, CARTÃO, CHEQUE e DINHEIRO, teremos que criar três séries.

 

Nota: Não confunda a quantidade de barras de um gráfico (considerando um gráfico de barras) com a quantidade de séries a serem criadas. Por exemplo, em um gráfico de vendas por mês, o fato de termos uma barra para cada mês, não quer dizer que para cada um dos meses temos que criar uma nova série. Uma mesma série pode receber diversos valores sendo que para cada valor será gerada uma nova barra.

 

Depois de criada a série, clique no botão Title e nomeie-a para Vendas. Selecione a página Series do editor e na página Format marque a opção Color Each. Marcando esta opção teremos uma cor diferenciada para cada barra da nossa série Venda.  Podemos definir ainda na página Format a largura de cada barra atribuindo um valor a propriedade % Bar Width, porém vamos deixar o valor default para esta e as propriedades restantes desta página.

Na página General podemos definir se a legenda será ou não através da propriedade Show In Legend, enquanto as opções dos grupos Horizontal Axis e Vertical Axis determinam o posicionamento dos valores das linhas X e Y, respectivamente. Nesta página deixe os valores padrão. Na página Marks (Figura 1) temos várias propriedades que irão interferir no aspecto visual do nosso gráfico e também que informações serão exibidas.

Começamos pela opção Visible, que define se os valores serão ou não apresentados logo acima de cada barra. Deixamos esta opção marcada, mas para efeito de aprendizado experimente desmarcar/marcar esta opção e veja o efeito. Dentro do grupo Format, temos a opção Transparent que se marcada tornará transparente o fundo do retângulo que envolve os valores de cada barra. Ao lado desta opção temos o botão Back Color que define a cor de fundo dos valores. Para nosso exemplo vamos deixar a opção Transparent marcada.

No botão Font, podemos definir a fonte e a cor dos valores. Clicando no botão Border irá aparecer uma pequena janela (Figura 2) onde poderemos definir a cor, estilo, largura e visibilidade da borda que envolve os valores. Vamos retirá-la deixando a opção Visible desmarcada. Dentro do grupo Arrows, temos o botão Color que ao ser clicado exibe uma pequena janela onde podemos definir a cor, largura e visibilidade da linha existente entre cada barra do gráfico e o seu respectivo valor logo acima. Para nosso exemplo, retire esta linha desmarcando a o opção Visible desta janela. Temos ainda nesse grupo a propriedade Length que define a distância entre o valor e a barra. Altere esta propriedade para 10. Por fim, temos no lado esquerdo o grupo Style, onde definimos o que será exibido acima de cada barra do gráfico. Dentro deste grupo destacamos as opções Value, que exibe os valores absolutos de cada barra, Percent, que exibe o percentual de cada barra, Label, que irá exibir o rótulo, Label and Value, exibe o rótulo e o seu respectivo valor e a opção Label & Percent Total que exibirá o rótulo e o percentual do total.

Para o nosso exemplo, vamos marcar a opção Value, mas para melhor entender altere as opções e veja as mudanças que ocorrem no gráfico.    

 

...

Quer ler esse conteúdo completo? Tenha acesso completo