Canais iMasters

Linguagens

Trabalhando com gráficos

Muitos desenvolvedores evitam trabalhar com gráficos por acharem que é muito complicado e demorado. Veremos nesse artigo como trabalhar com o DBChart da paleta Data Controls, esse componente tem muitos recursos que nos facilitará na criação de aplicações que trabalham com gráficos.

Usarei aqui conexão através do BDE com a tabela Employee. Existe um Alias no BDE configurado como DBDemos, e é nele que vamos nos conectar.

OBS: O componente não se conecta somente com o BDE e sim com qualquer tecnologia de acesso a dados, você pode usar qualquer data set.

Vamos montar um formulário em que será feito um filtro e com o result set o componente DBChart montará o gráfico. Veja o layout do formulário abaixo:

A propriedade Database da qryEmployee está ligada no alias DBDEMOS. Vá na propriedade SQL da query e digite o seguinte:

select * from employee where EmpNo >= :Ini and EmpNo <= :Fim

Clique em OK. E a propriedade DataSet do dsEmployee está ligado na query. Após fazer essas configurações, vamos prosseguir com a criação do gráfico.

Configurando e escolhendo o gráfico

Tendo o layout e a conexão com o banco efetuado. Vamos começar a fazer a configuração do DBChart. Dê um duplo clique no DBChart para abrir a seguinte caixa de diálogo.

Através dessa caixa configuraremos nosso gráfico. A primeira coisa que deve ser feita é escolher qual é o formato do gráfico que irá aparecer. Para isso clique no botão Add...

Vai aparecer a galeria de gráficos do DBChart. Escolha uma opção. Você também pode escolher se o gráfico vai ficar em 3D ou não, clicando no checkbox. Ao escolher um tipo de gráfico clique em OK.

Agora clique na guia Titles para darmos um titulo para o formulário.

Apague a palavra DBChar do memo, digite Salário dos funcionários e faça a formatação do titulo como quiser. Na guia Legend você muda a aparência da legenda do gráfico, como por exemplo, a posição, a fonte e cor do fundo.

Acessando o banco de dados

Clique agora na guia Series que está ao lado da guia Chart.

As guias Format, General e Marks permite configurarmos a aparência do gráfico, como estilo e cor dos pontos do gráfico, forma e posição de como as informações aparecerem no gráfico. Selecione a guia Data Source. O combobox que aparece permite escolhermos como que o gráfico irá ser preenchido escolha no combobox DataSet.

Após escolhermos DataSet no combobox, será exibida mais opções onde escolheremos qual é o DataSet que iremos usar para montar o gráfico, escolha no segundo combobox a qryEmployee. Em Label nós escolhemos o nome que irá aparecer em cada ponto do gráfico. Escolha FirstName. Em Bar escolheremos qual campo será usado para montar o gráfico. Escolha Salary. Clique em Close.

Vamos programar o botão Filtrar, dê um duplo clique nele e digite:

With qryEmployee do Begin
           Close;
           ParamByName("Ini").Value := StrToInt(Edit1.Text);
           ParamByName("Fim").Value := StrToInt(Edit2.Text);
           Open
        End; // with qryEmployee

Testando o gráfico

Pressione a tecla F9 e vamos testar nossa aplicação. Digite o número do empregado na caixa de texto De e Até e clique no botão filtrar.

Clique em uma área do gráfico, segure e arraste fazendo uma seleção em volta de quais pontos do gráfico você vai querer destacar, como no exemplo acima. Solte e veja o resultado.

Clique segure e arraste no sentido inverso para voltar ao normal.

Paginando o gráfico

Se você fizer um filtro com um intervalo maior, irão aparecer muitos funcionários. O gráfico começa a ficar apertado, como no exemplo abaixo:

Para resolver esse problema, volte ao modo design, dê um duplo clique no gráfico e vá na guia Paging. Digite a quantidade de pontos que você quer que apareça de uma vez no campo Points per Page.

Agora de um duplo clique no botão “<<” e digite:

DBChart.PreviousPage

Agora de um duplo clique no botão “>>” e digite:

DBChart.NextPage

Agora faça o filtro com um intervalo maior de número de funcionário e clique nos botões “<<” e “>>” e você verá que irá aparecer os pontos de 5 em 5.

Formatando o gráfico

Dê um duplo clique no gráfico e escolha a guia Panel, nesse guia podemos mudar também a aparência do gráfico. Marque o efeito Gradient e escolha a cor inicial e final.

Conclusão

Gráficos permitem melhor visualização dos resultados de uma pesquisa, além de valorizar muito nossa aplicação. Como vimos, é muito fácil e rápido trabalharmos com gráficos no Delphi. Agora isso não é mais motivo para não termos gráficos em nossa aplicação.

 


Comente também

11 Comentários

Ruy
Ruy

Olá ^^
meu nome é Ruy e gostaria que vc fizesse um pequeno tutorial/artigo falando sobre internet pra delphi 7 já que eu vi vários projetos mas nao entendi ^^". gostaria q vc explicasse sobre classes thread.
thanks

Ricardo  Coelho
Ricardo Coelho

Olá caro Ruy, pode ter certeza que seu pedido já está anotado e dentro em breve estarei falando sobre esses assuntos, obrigado pela dica é muito importante para mim.

Luisandro Nachtigal Bandeira
Luisandro Nachtigal Bandeira

Robert Gaffo, gostaria de saber se existe a possibilidade, de se mostrar um gráfico com mais de uma coluna, por exemplo: salário bruto, salário liquido, funcionário. ou seja com quantos campos mais eu precisar que seja visualizados no gráfico, e se também há a possibilidade desses campos sere escolhidos pelo usuário antes de montar o gráfico.
Obrigado!

jeova davila
jeova davila

Ótimo tutorial, para quem está começando é dez. Continue assim.

Fabio Machado Ferreira
Fabio Machado Ferreira

Roberto, gostaria de agradecer pelo artigo que você postou. Realmente ficou um material de ótima qualidade, me serviu bastante!

Abraço,

Fabio Ferreira.

Elton
Elton

Porque não usa BETWEEN no select?
select * from employee where EmpNo >= :Ini and EmpNo <= :Fim

select * from employee where EmpNo BETWEEN :Ini and :Fim

Robert Gaffo
Robert Gaffo

Pode ser Elton.

Renato F. O. Silva
Renato F. O. Silva

Belo tutorial Robert!
Grato.

isabela
isabela

bom gostei uma boa seleção de graficos

Amilton Andrade
Amilton Andrade

Parabén tutorial muitissimo bom Aguardados os Proximos !

Daniel Mary
Daniel Mary

Bom dia. Obrigado pelo post.
Não estou entendendo uma coisa:
Quando eu insiro o TChart, depois insiro o TQuery, daí
Lá nas propriedades do TChart não aparece o DataSet
em Seriest>DataSource>DataSource
A query está lincada, já testei, está ok, só não consigo
que o Chart tenha seu source ligado a query porque não
aparece essa opção dentro da caixa de seleção. O que
pode ser?

Qual a sua opinião?

Comentários considerados ofensivos serão moderados.

Parceiros

IBM
PagSeguro
Internet Innovation
Dialhost
HostNet
Tecla
KingHost
DotStore
Dinamize