![]() |
Tchart und Access DB
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:
[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
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; |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Die Delphi-IDE" nach "VCL / WinForms / Controls" verschoben.
Die Frage könnte auch in die DB-Sparte. Aber hauptsächlich geht es ja um das TChart |
Re: Tchart und Access DB
Gibt es bei der D2005 auch das TDBChart? Das ist nämlich für solche Fälle sehr schön. Du verbindest einfach eine TDataSource-Komponente mit deiner Datenmenge. Dann kannst du im TDBChart zu den einzelnen Series die TDataSource auswählen und die Felder für die einzelnen Achsen bestimmen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz