Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Estou Tentando Criar Um Gráfico No Delphi!


Livio Neiva

Pergunta

Procedimentos a serem executados:

Crie uma tela nova no sistema, altere as propriedades Name = FrmGrafico e Caption = Gráfico de Clientes por Cidade.

Insira um objeto Chart (Additional) à tela. Altere as propriedades Name = chtGrafico, Align = alClient e dê um duplo-clique sobre o mesmo.

Escolha o tipo de gráfico a ser utilizado: Bar (Barras). Para isto, clique nas guias Chart, Series e nos botões Add (Desmarque a opção 3D) e OK.

Clique no botão Titles e altere o título da série para Cidades.

Selecione a guia Titles e digite o título do gráfico: Clientes por Cidade, na caixa de texto e selecione o Alignment = Center .

Clique no botão Close.

Faça referência à unit da tela DM. File -> Use Unit (UDM)

Insira um objeto ADOQuery à tela e altere as propriedades:

Name: QCliCid

Connection: Dm.Conexao

SQL: Select Count(*) as Qtde, CliCid From Clientes Group By CliCid

Dê duplo-clique na query QCliCid e tecle [Ctrl] + [F] para inserir os campos.

Copie o botão Btn_Imprimir da tela FrmCadCliente para a tela FrmGrafico.

Insira um componente PrintDialog da guia Dialogs na tela FrmGráfico.

procedure TFrmGrafico.FormShow(Sender: TObject);

begin

CliCid.Clear;

chtGrafico.Title.Text.Clear; --> ERRO ( [Error] UGrafico.pas(41): Undeclared identifier: 'Title' )

chtGrafico.Title.Text.Add('Gráfico Clientes por Cidade');

QCliCid.Open;

While (Not QCliCid Eof) do

Begin

CliCid.AddY(QCliCidQtde.Value,QCliCidCliCid.AsString, ClSkyBlue);

QCliCid.Next;

end;

end;

Digite os comandos a seguir no evento OnClick do botão Imprimir:

procedure TFrmGrafico.SpeedButton2Click(Sender: TObject);

begin

if PrintDialog1.Execute then

begin

chtGrafico.BackColor := clWhite;

chtGrafico.Print;

end;

end;

END.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Testei a linha de codigo que voce mostrou o erro .... não tem erro, a não ser que voce não tenha adicionado ao form o component TChart:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, TeeProcs, TeEngine, Chart;

type
  TForm1 = class(TForm)
    chtGrafico: TChart;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
   chtGrafico.Title.Text.Clear;
   chtGrafico.Title.Text.Add('Gráfico Clientes por Cidade');

end;

end.

Link para o comentário
Compartilhar em outros sites

  • 0
Testei a linha de codigo que voce mostrou o erro .... não tem erro, a não ser que voce não tenha adicionado ao form o component TChart:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, TeeProcs, TeEngine, Chart;

type
  TForm1 = class(TForm)
    chtGrafico: TChart;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
   chtGrafico.Title.Text.Clear;
   chtGrafico.Title.Text.Add('Gráfico Clientes por Cidade');

end;

end.

Meu grande amigo Jhonas!!!

eu troquei o nome chtgrafico (componenteTshape) pelo Chart1 (componente Tchart)

E o sistema compilou correatamente!!!

Problema resolvido

Agradeço muito sua atenção

Lívio Neiva

Link para o comentário
Compartilhar em outros sites

  • 0
Olá gente, eu sou iniciante em delphi e gostaria que vocês me explicassem melhor a parte de fazer referencia com a DM. com o ADOQuery...

Alan, este DM, seria referente a DataModule?

Não estou vendo relação com o tópico em que você postou, assim, após sua resposta estarei separando seu post do tópico (criando um tópico para esta sua dúvida), e então você deve procurar no índice do forum por um tópico de sua autoria.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...