Esse artigo faz parte da revista Clube Delphi edição 22. 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. 

 

Construindo Gráficos com TChart

 

Devido ao forte apelo visual dos gráficos, esses elementos se tornaram grandes aliados no desenvolvimento de aplicações. Como era de se esperar, o Delphi não fica para trás com o componente TChart.

 

O TChart é um componente complexo. Por um lado, sua complexidade é derivada de sua grande funcionalidade; por outro, das dezenas de configurações e efeitos que oferece. Neste artigo, veremos detalhes sobre a criação de gráficos com este componente.

 

Tipos de componentes

 

        Existem três tipos de componentes para a criação de gráficos no Delphi: TChart, TDBChart e TQRChart.

 

        O TChart é usado quando os dados que são exibidos são fornecidos manualmente. A aplicação fornece todos os dados necessários.

 

        O TDBChart é usado quando os dados vêm de uma tabela (TTable) ou query (TQuery). Nesse caso o fornecimento de dados é automático. A seleção dos dados deve ser feita através de recursos como filtros ou comandos SELECT, por exemplo.

 

         TQRChart é um componente imprimível usado para a criação de gráficos em relatórios QuickReport.

 

        Na paleta de componentes do Delphi, os três tipos de TChart encontram-se nas páginas Additional, Data Controls e QReport, respectivamente. Focaremos neste artigo no componente mais usado dos três, o TChart, mas a maior parte do que falaremos aqui vale igualmente para os outros dois componentes.

 

Exemplo

 

        Vamos iniciar um projeto, que chamaremos de PGrafico.dpr, para aprendermos a usar as principais funcionalidades do componente TChart. O form principal conterá, inicialmente, um ComboBox com a propriedade Items preenchida com os meses de Janeiro a Julho e a propriedade Style como csDropDownList. O form deve conter também dois componentes SpinEdit para indicar a quantidade vendida de dois produtos – mouse e teclado – e mais dois botões, com a propriedade Caption contendo “Adicionar/Subtrair”. Criaremos também, claro, dois componentes Tchart, cinco labels e um GroupBox. Veja como ficará o form na Figura 1.

 

Figura 1. Form principal com os primeiros componentes

 

A idéia no exemplo é alterar dinamicamente o valor dos dados exibidos nos gráficos. O mês selecionado no ComboBox será incrementado ou decrementado na quantidade indicada nos respectivos SpinEdits, quando os botões Adicionar/Subtrair forem pressionados.

 

Diálogo de configuração

 

        Além de uma variedade de propriedades e subpropriedades, o TChart também possui subcomponentes especiais com suas próprias propriedades. Todas elas podem ser alteradas durante a execução. Durante o projeto, podemos configurar o TChart no Object Inspector ou no diálogo de edição do componente. Para ativar esse diálogo dê um clique com o botão direito no componente e escolha “Edit Chart”.

 

        O diálogo possui duas páginas principais: Chart e Series. Na página Chart (Figura 2), configuramos as propriedades visuais do gráfico, tais como títulos, legenda, eixos, entre outras. Na página Series, definimos as propriedades das séries de dados a serem exibidas.

 

Figura 2. Diálogo para edição do TChart

 

Tipos de séries

 

        Os dados exibidos em um TChart não fazem parte propriamente dele, mas sim de um dos seus subcomponentes, as séries. Cada TChart trabalha com base em uma lista com uma ou mais séries, que armazenam os dados exibidos. Um mesmo TChart pode exibir simultaneamente duas ou mais séries.

 

        Uma série possui propriedades e eventos que variam com seu tipo. Um exemplo é a propriedade ParentChart, que define a associação com um TChart. Essa associação pode ser feita durante o projeto ou durante a execução.

 

        Quando abrimos o diálogo de edição do TChart, é exibida a página Chart que contém a subpágina Series. Para criar uma série e associá-la ao TChart, basta clicar no botão Add e escolher o tipo mais adequado de série no diálogo TeeChart Gallery (Figura 3).

 

Figura 3. Tipos de séries do TChart.

 

Séries dinâmicas

 

        No nosso exemplo, criaremos as séries dinamicamente. Para isso, é necessário declarar, na classe do form, as variáveis que irão representá-las: SMouse e STeclado como TBarSeries, e SGrafTorta como TPieSeries. Teremos também três métodos para montar e atualizar os gráficos: IniciaSerie, AtualizaSerie e AtualizaGrafTorta. Antes de criarmos  as séries deveremos incluir na seção Uses a unit Series.

 

TfrmGrafico = class(TForm)

...

private

  // declaração das séries

...

Quer ler esse conteúdo completo? Tenha acesso completo