Segue abaixo exemplo de grafico montado dinamicamente qualquer dúvida entrar em 
contato

procedure TFGraf_VendasAnual.SpeedButton1Click(Sender: TObject);
var
strInicio,strFim,strData,strMes, MesGraf: string;
strDias,intMes,intano: Integer;
dtData, DataAtual: TDateTime;
DbValorTotal: Double;
Dia, Mes, Ano: Word;
begin
Self.height :=673;
Self.width := 898;
Self.top := 51;
Self.left := 67;
GrafVendas.Visible:=true;
intAno := Strtoint(Copy(Mesano.Text,1,4));

          strInicio := '01/01/'+Copy(Mesano.Text,1,4);

          strFim := '31/12/'+Copy(Mesano.Text,1,4);

          QGrafVendas.SQL.Clear;
          QGrafVendas.SQL.Add('SELECT Estoque.Chave1, Estoque.Data, 
Vendas.Vendedor,  SUM(Estoque.Quantidade * Estoque.Preco -  (Estoque.Quantidade 
* Estoque.Preco * Estoque.Desconto /100)) * (-1) dbvalortotal');
          QGrafVendas.SQL.Add('FROM  Vendas');
          QGrafVendas.SQL.Add('INNER JOIN  Estoque ON  Vendas.Chave = 
Estoque.Chave1');
          QGrafVendas.SQL.Add('WHERE Estoque.Cancelado <> '+ #39 +'T'+ #39+ 
'AND Vendas.Devolucao = '+ #39 +'F'+ #39+ 'AND  Estoque.Tipo = '+ #39 
+'Saída2'+ #39);
          QGrafVendas.SQL.Add('AND Estoque.Data Between :INICIO -(21) AND 
:FINAL - (21)');
          QGrafVendas.SQL.Add('AND Estoque.Faturado = '+#39+'1'+#39+' OR 
Estoque.Faturado =' +#39+'2'+#39);
          QGrafVendas.SQL.Add('GROUP BY Estoque.Chave1, Estoque.Data, 
Vendas.Vendedor');
          QGrafVendas.SQL.Add('ORDER BY Estoque.Data');

        
          QGrafVendas.UnPrepare;
          QGrafVendas.params[0].asdate := StrToDate(strInicio);
          QGrafVendas.params[1].asdate := StrToDate(strFim);
          if CBVendedor.text <> 'Todos' then
             begin
              TVendedores.Locate('Nome', CBVendedor.text, []);
              QGrafVendas.SQL.delete(7);
              QGrafVendas.SQL.delete(6);
              QGrafVendas.SQL.Add('  AND Vendas.Vendedor = ' + #39 + 
TVendedoresVendedor.value + #39);
              QGrafVendas.SQL.Add('GROUP BY Estoque.Chave1, Estoque.Data, 
Vendas.Vendedor');
              QGrafVendas.SQL.Add('ORDER BY Estoque.Data');
             end;
          QGrafVendas.Prepare;
          QGrafVendas.Open;
          Series1.Clear;
          GrafVendas.Title.Text.Clear;
          GrafVendas.Foot.Text.Clear;
          GrafVendas.Title.Alignment := taLeftJustify ;

          if CBVendedor.text <> 'Todos' then
             Grafvendas.Title.Text.Add('Vendas no Ano '+MesAno.Text+' 
Vendedor(a) - '+CBVendedor.text)
             else
             Grafvendas.Title.Text.Add('Vendas no Ano '+MesAno.Text);

          GrafVendas.Foot.Text.Add('Mês das Vendas');

         QGrafVendas.first;
         while (not QGrafVendas.Eof) do
           begin

           dtData := QGrafVendasData.value;
           strData:= DateToStr(dtData);
           strMes := copy(strData,4,2);

           Case StrToInt(strMes) of
                  01,03,05,07,08,10,12: strDias := 21;
                  04,06,09,11: strdias := 20;
                    02: if (intAno mod 4) = 0 then  // Verifica se ano é Bisexto
                          strDias := 19
                       else
                          strdias := 18;
                   end;

           DataAtual  := QGrafVendasData.value + strDias;
           showmessage('data atual:' + Datetostr(Dataatual));
           DbValorTotal := 0;
             //while Copy(QGrafVendasData.asstring,4,2) = strMes do
               while Copy(DateToStr(DataAtual),4,2) = strMes do
                 begin
                 DataAtual := 0;
                 DbValorTotal := DbValorTotal + QGrafVendasdbvalortotal.Value;
                 QGrafVendas.Next;
                 if QGrafVendas.Eof then
                    Break;
                 end;
                 DbValorTotal := DbValorTotal / 1000;
                 intMes := Strtoint(Copy(StrMes,1,2));
                 Case intMes of
                  1 : MesGraf := 'Jan/'+Mesano.Text;
                  2 : MesGraf := 'Fev/'+Mesano.Text;
                  3 : MesGraf := 'Mar/'+Mesano.Text;
                  4 : MesGraf := 'Abr/'+Mesano.Text;
                  5 : MesGraf := 'Mai/'+Mesano.Text;
                  6 : MesGraf := 'Jun/'+Mesano.Text;
                  7 : MesGraf := 'Jul/'+Mesano.Text;
                  8 : MesGraf := 'Ago/'+Mesano.Text;
                  9 : MesGraf := 'Set/'+Mesano.Text;
                  10: MesGraf := 'Out/'+Mesano.Text;
                  11: MesGraf := 'Nov/'+Mesano.Text;
                       else
                          MesGraf := 'Dez/'+Mesano.Text;
                 end;
                 Series1.AddY(DbValorTotal,Mesgraf,clYellow);
          end;
         QGrafVendas.Close;

end;

  ----- Original Message ----- 
  From: wesley_romualdo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, July 18, 2006 11:46 AM
  Subject: RES: [delphi-br] Ref. Como Criar Gráfico


  Eu tambem gostaria de ter um exemplo desse gráfico



  [EMAIL PROTECTED]



    _____  

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
  nome de Giovanni Cupertino
  Enviada em: segunda-feira, 17 de julho de 2006 17:30
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Ref. Como Criar Gráfico



  entra em contato que te passo um exemplo 
  [EMAIL PROTECTED]
    ----- Original Message ----- 
    From: Marcia Cristina de Paula Vieira Borges dos Reis 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Monday, July 17, 2006 5:01 PM
    Subject: [delphi-br] Ref. Como Criar Gráfico


    Ola Pessoal,
       
      gostaria de saber como criar um Grafico em Delphi onde eu tenho os meses
  de ano (1 a 12) e dentro de cada mês o Valor de Venda e o Valor Custo.
       
       
      Márcia.
       
       

                
    ---------------------------------
    Você quer respostas para suas perguntas? Ou você sabe muito e quer
  compartilhar seu conhecimento? Experimente o Yahoo! Respostas!

    [As partes desta mensagem que não continham texto foram removidas]

     

  [As partes desta mensagem que não continham texto foram removidas]





  [As partes desta mensagem que não continham texto foram removidas]

   

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a