PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Gerar grafico em timage #559512

23/07/2016

0

Bom dia a todos estou com um problema que ja não sei mais o que fazer pra resolve-lo.
O problema é so seguinte tenho uma querie que totaliza uma enquete omeu problema tano seguinte
primeiro a querie gera resultados assim
nome enquete total excelente bom ruim
pergunta1 3 1 1 1
pergunta2 3 2 1 0

e por ai vai posso ter até 10 perguntas por enquete e posso ter 3 totalizações por pergunta que podem ser excelente, bom e ruim, quando faço em vcl usando ttdbchart funciona beleza porem quando tento gerar o gráfico em runtime(pq o projeto é intraweb) e intraweb não tem componente pra gráfico então preciso gera-lo dinamicamente e esta dando esse problema pois o graficoé gerado direito mainha tinha que ter até 10 conjuntos de 3 colunas indicando excelente bom ou ruim mas ele para na primeira pergunta tenho a impressão que ´problema ta na geração do gráfico no timage alguém poderia me ajudar

segue abaixo sintaxe

procedure TF_PainelGerencial.btngerarClick(Sender: TObject);
var
Series1: TBarSeries;
Series2: TBarSeries;
Series3: TBarSeries;
Chart1 : TDbChart;
begin
try
DsOrigem.DataSet.Close;
tclientdataset(DsOrigem.DataSet).params[0].AsInteger := StrToInt(copy(cbxpesquisa.Text,0,8));//colocar cnpj dinamico
DsOrigem.DataSet.Open;
tclientdataset(DsOrigem.DataSet).First;
tclientdataset(DsRElat.DataSet).EmptyDataSet;

while not tclientdataset(DsOrigem.DataSet).Eof do
begin
tclientdataset(DsRElat.DataSet).Insert;
tclientdataset(DsRElat.DataSet).FieldByName('PERGUNTA').AsString := tclientdataset(DsOrigem.DataSet).FieldByName('PERGUNTA').AsString;
tclientdataset(DsRElat.DataSet).FieldByName('QTD_TOTAL').AsCurrency := tclientdataset(DsOrigem.DataSet).FieldByName('QTDTOTAL').AsCurrency;
tclientdataset(DsRElat.DataSet).FieldByName('EXCELENTE').AsInteger := tclientdataset(DsOrigem.DataSet).FieldByName('EXCELENTE').AsInteger;
tclientdataset(DsRElat.DataSet).FieldByName('BOM').AsInteger := tclientdataset(DsOrigem.DataSet).FieldByName('BOM').AsInteger;
tclientdataset(DsRElat.DataSet).FieldByName('RUIM').AsInteger := tclientdataset(DsOrigem.DataSet).FieldByName('RUIM').AsInteger;
tclientdataset(DsOrigem.DataSet).Next;
tclientdataset(DsRElat.DataSet).Post;
end;

Chart1 := tdbChart.Create(self);
Series1 := TBarSeries.Create(Self);
Series2 := TBarSeries.Create(Self);
Series3 := TBarSeries.Create(Self);

with Chart1 do
begin
Name := 'Chart1';
Parent := Self;
Left := 48;
Top := 32;
Width := 649;
Height := 262;
Title.Text.Clear;
Title.Text.Add('TDBChart');
Legend.Title.Text.Clear;
Legend.LegendStyle := lsSeries;
Legend.Title.Text.Add('Pesquisa de Opinião');
TabOrder := 1;
Anchors := [akLeft, akTop, akRight, akBottom];
ColorPaletteIndex := 13;
end;
with Series1 do
begin
Name := 'Series1';
ParentChart := Chart1;
DataSource := DsRElat;
Title := 'Excelente';
XLabelsSource := 'PERGUNTA';
//Gradient.Direction = gdLeftRight
XValues.Name := 'X';
XValues.Order := loAscending;
YValues.Name := 'Bar';
YValues.Order := loNone;
YValues.ValueSource := 'EXCELENTE';
Marks.Frame.Visible:= false;
Marks.Style := smsValue;
IWImage1.Picture.Bitmap.Assign(Chart1.TeeCreateBitmap(clWebWHITE,
Rect(0,0,IWImage1.Width, IWImage1.Height)));
end;
with Series2 do
begin
Name := 'Series2';
ParentChart := Chart1;
DataSource := DsRElat;
// SeriesColor := clAqua;
Title := 'Bom';
XLabelsSource := 'PERGUNTA';
// Gradient.Direction.gdLeftRight;
XValues.Name := 'X';
XValues.Order := loAscending;
YValues.Name := 'Bar';
YValues.Order := loNone;
YValues.ValueSource := 'BOM';
Marks.Frame.Visible:= false;
Marks.Style := smsValue;
// Title := 'Bom';
IWImage1.Picture.Bitmap.Assign(Chart1.TeeCreateBitmap(clWebWHITE,
Rect(1,0,IWImage1.Width, IWImage1.Height)));
end;
with Series3 do
begin
Name := 'Series3';
ParentChart := Chart1;
DataSource := DsRElat;
// SeriesColor = clRed;
Title := 'Ruim';
XLabelsSource := 'PERGUNTA';
//Gradient.Direction := gdLeftRight
XValues.Name := 'X';
XValues.Order := loAscending;
YValues.Name := 'Bar';
YValues.Order := loNone;
YValues.ValueSource := 'RUIM';
Marks.Frame.Visible:= false;
Marks.Style := smsValue;
// Title := 'Ruim';
IWImage1.Picture.Bitmap.Assign(Chart1.TeeCreateBitmap(clWebWHITE,
Rect(2,0,IWImage1.Width, IWImage1.Height)));
end;
finally
FreeAndNil(Chart1);
end;


alguém poderia me dar uma força com esse problema
desde ja grato pela ajuda
Reijanio Ribeiro

Reijanio Ribeiro

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar