Hallo Freunde,
Ich habe ein Problem und zwar ich möchte die Daten, was ich auf ein
Access DB habe Graphisch darstellen, und Zwar Links vertikal soll bestimmt Name aus der
DB übernohmen werden und horizontal unter Zahlen. ich habe die verbindung mit Jet
ole hergestellt und weiter weisse ich nicht kann mich jemanden helfen???? ich benutze Delphi 2005 Architekt und Teechart 4.04
Grüß
Poter
meine Code
Delphi-Quellcode:
procedure TForm1.Button13Click(Sender: TObject);
const FieldName0 = 'Ereignis_name';
FieldName1 = 'Positiv';
FieldName2 = 'Neutral';
FieldName3 = 'Negativ';
FieldName4 = 'ohne Wertung';
Max_data_count = 10;
var i,j, v1, v2, v3, v4 : integer;
name : AnsiString;
p : TChartSeriesList;
begin
Chart1.Title.Text.Clear;
Chart1.Title.Text.Add('Chart1 Title'+ ComboBox3.Text);
Chart1.Title.Text.Add(DBLookupComboBox6.Text);
Chart1.Title.Text.Add( 'Bezugsubjekt:' + ComboBox3.Text);
Chart1.Title.Text.Add('Geschäftsfeld:' + ComboBox4.Text);
Chart1.Title.Text.Add( 'Bezugsgebiet:' + ComboBox5.Text);
Chart1.Title.Text.Add( 'Zeitbezug:' + Tabsheet1.Caption);
Chart1.Title.Text.Add( 'Urheber:' + ComboBox6.Text);
// Chart1.Series[0].Add(70,'');
// Chart1.Series[1].Add(90,'');
// Chart1.Series[2].Add(80,'');
// Chart1.Series[3].Add(90,'');
//ShowMessage('Series count = ' + IntToStr(Chart1.SeriesCount));
tbl_data.First;
i:=0;
// clear series
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Chart1.Series[2].Clear;
Chart1.Series[3].Clear;
labels.Clear;
while (not tbl_data.Eof) do
begin
name:= tbl_data.FieldByName(FieldName0).AsString;
v1 := tbl_data.FieldByName(FieldName1).AsInteger;
v2 := tbl_data.FieldByName(FieldName2).AsInteger;
v3 := tbl_data.FieldByName(FieldName3).AsInteger;
v4 := tbl_data.FieldByName(FieldName4).AsInteger;
tbl_data.Next;
// chart1.Series[0].
// Chart1.
labels.Add(name);
Chart1.Series[0].Add(v1, '');
Chart1.Series[1].Add(v2, '');
Chart1.Series[2].Add(v3, '');
Chart1.Series[3].Add(v4, '');
inc(i);
if (i > max_data_count) then break;
end;
end;
procedure TForm1.Button14Click(Sender: TObject);
const FieldName0 = 'Ereignis_name';
FieldName1 = 'Positiv';
FieldName2 = 'Neutral';
FieldName3 = 'Negativ';
FieldName4 = 'ohne Wertung';
Max_data_count = 10;
var i,j, v1, v2, v3, v4 : integer;
p : TChartSeriesList;
begin
ShowMessage('Series count = ' + IntToStr(Chart1.SeriesCount));
tbl_data.First;
i:=0;
// clear series
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Chart1.Series[2].Clear;
Chart1.Series[3].Clear;
while (not tbl_data.Eof) do
begin
v1 := tbl_data.FieldByName(FieldName1).AsInteger;
v2 := tbl_data.FieldByName(FieldName2).AsInteger;
v3 := tbl_data.FieldByName(FieldName3).AsInteger;
v4 := tbl_data.FieldByName(FieldName4).AsInteger;
tbl_data.Next;
Chart1.Series[1].Add(v1, '');
Chart1.Series[2].Add(v2, '');
Chart1.Series[3].Add(v3, '');
Chart1.Series[4].Add(v4, '');
inc(i);
if (i > max_data_count) then break;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
labels := TStringList.Create;
end;
procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis; Series: TChartSeries;
ValueIndex: Integer; var LabelText: string);
begin
if (labels.Count > 0) and (ValueIndex >0)
then
begin
if (valueIndex <= labels.count) then LabelText := labels[ValueIndex];
end;
end;
[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]