DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo Clube Delphi Edição 25 - Geração de gráficos na web

Artigo da Revista Clube Delphi Edição 25.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Esse artigo faz parte da revista Clube Delphi edição 25. Clique aqui para ler todos os artigos desta edição

 

Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Geração de gráficos na web

 

Como gerar gráficos a partir de bancos de dados e mostrá-los como GIFs em aplicações web

Se uma imagem vale mais que mil palavras, um gráfico vale mais que dezenas de relatórios. Em um ambiente web, seja numa intranet corporativa ou na própria internet, gráficos gerados dinamicamente, com acesso direto ao banco de dados, podem acrescentar imenso valor a uma aplicação.

Usuários gerenciais apreciam muito a visão rápida e abrangente proporcionada por gráficos de barras e de torta, sintetizando muitas informações de forma simples e visual, funcionando como importantes ferramentas de apoio à decisão.

Produção com WebBroker

Produzir um gráfico em uma aplicação WebBroker não é realmente uma tarefa difícil, mas envolve uma combinação criteriosa de várias técnicas simples. Vamos construir uma aplicação de exemplo para gerar dinamicamente uma consulta SQL e a imagem do gráfico correspondente, conforme opções definidas pelo usuário.

Podemos pensar nos gráficos como respostas visuais a questões analíticas objetivas: “Quais são as cidades que mais consomem este produto?”, “Quais são os itens do estoque com maior rotatividade?”, “Qual o volume de vendas de cada vendedor no ano passado?”. De outra forma, são representações gráficas de consultas SQL com agregação – aquelas que incluem uma ou mais funções de agregação, como SUM ou COUNT, e que exigem uma cláusula GROUP BY para determinar categorias. Veja um exemplo típico na Figura 1.

Figura 1.  Gráficos são normalmente gerados como resultados de consultas com agregação

Critérios para o gráfico

Criaremos um projeto completo de aplicação web, que produz gráficos usando as informações das tabelas Orders (Pedidos) e Employee (Empregados) da base de dados de exemplo DBDEMOS do Delphi.

Os gráficos vão responder à seguinte questão: “Qual foi o volume de vendas por vendedor em determinado ano?”. Para tornar mais interessante o resultado, além do critério “Ano”, acrescentaremos um outro filtro: “incluindo somente os vendedores que tiveram faturamento anual acima de determinado valor” (veja um exemplo na Figura 2).

Figura 2.  Exemplos de parâmetros para uma consulta de vendas anuais por vendedor

Formato personalizado

Quere­mos ainda que o formato do gráfico possa ser definido pelo usuário, que poderá escolher se quer os gráficos no estilo de barras, cilindros ou torta. Assim, demonstramos como usar um formulário não apenas para transmitir parâmetros para a consulta, mas também para definir as propriedades desejadas para o gráfico.

Figura 3. Exemplo de gráfico gerado no formato de torta

Processamento de parâmetros

Quase sempre as questões do usuário que dão origem aos gráficos trazem parâmetros para especificar exatamente as informações desejadas. Então, a primeira coisa a se fazer para se produzir um gráfico em uma aplicação web é processar um formulário HTML com os parâmetros necessários.

Diferentemente de uma consulta comum, que produz resultados textuais como uma tabela HTML, a resposta de um gráfico é dada em dois passos.

No primeiro, é retornada uma página HTML especialmente construída para abrigar a imagem do gráfico, de acordo com os parâmetros do usuário. Essa página deverá conter uma tag IMG que aponta como fonte da imagem uma nova consulta à aplicação web, em vez de um arquivo no servidor.

É aí que entra em ação o segundo passo da resposta, no qual é retornada a imagem do gráfico propriamente dita.

Página do gráfico

Iniciamos o projeto criando uma nova Web Server Application no Delphi. No editor de ações do TWebModule inserimos dois action items (que chamaremos simplesmente de "itens"): um chamado "ChartPage", com Default igual a True e PathInfo igual a "/chartpage", e outro chamado "ChartImage", com PathInfo igual a "/chartimage".

O item ChartPage será responsável pelo primeiro passo da resposta: produzir a página HTML para o gráfico. Para a geração da página, adicionamos um componente PageProducer, nomeado "ChartPageProducer", e o atribuímos à propriedade Producer do item ChartPage. Assim, toda vez que for requisitado o PathInfo "/chartpage" à aplicação, será automaticamente retornado o conteúdo produzido pelo componente ChartPageProducer. Veja os dois itens configurados na "

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Daniel Maltarollo
O que você achou deste post?

    8 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Bruno Leonardo Ramos Ribeiro
Onde estão os arquivos para download?
Qual é a referência no final do artigo?
Ninguém responde?
[há +1 mês] - Responder

 

Wesley Yamazack
Olá Bruno, esta edição não temos o código fonte infelizmente.
Você está com alguma dúvida? Qual seria? Um abraço
[há +1 mês] - Responder
 

Bruno Leonardo Ramos Ribeiro
Não tenho o arquivo html que o artigo faz referencia
[há +1 mês] - Responder
 

Bruno Leonardo Ramos Ribeiro
Pode mandar pra mim?
louzeiroribeiro@gmail.com
[há +1 mês] - Responder
 

Wesley Yamazack
Olá Bruno, infelizmente não temos pois houve um problema no HD do nosso FTP na época que este post foi elaborado. Existe alguma dúvida que possamos ate ajudar?
[há +1 mês] - Responder
 

Bruno Leonardo Ramos Ribeiro
Tá...
Criei um arquivo html com as tags transparentes <#titulo> e <#grafico>

e com um formulário com os comboboxes.

Coloco o conteúdo do HtmlDoc mas quanto executo no browser não aparece nada http://localhost/intranet/cgi-bin/webchart.exe

Se vc puder mandar um exemplo parecido vai me ajudar bastante.
[há +1 mês] - Responder
 

Wesley Yamazack
Olá Bruno, entramos em contato com o autor para ver se ele pode te ajudar. Você poderia postar sua dúvida no forum da devmedia também, por lá temos um time muito forte de colaboradores dispostos a ajudar sempre. O que acha? www.devmedia.com.br/forum

Um abraço e até mais.
[há +1 mês] - Responder
 

[autor] Daniel Maltarollo
Bruno, assim está muito vago. Podem ser miutas coisas. Tem como isolar o problema e me mandar só os fontes pertinentes para eu dar uma examinada e ver se consigo te ajudar? Te mandei um e-mail para você ter meu endereço particular.

Um abraço,

Daniel
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03