[gelöst] Einsatz der Komponente TChart; Wo sind die Series

Rund um die LCL und andere Komponenten
Antworten
catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

[gelöst] Einsatz der Komponente TChart; Wo sind die Series

Beitrag von catweasel »

Moin

Ich versuche hier in meinem Programm die Komponente TAChart einzusetzen.
Aus Delphi-Zeiten glaube ich mich zu erinnern, das ich dazu zuerst die Komponente TChart auf die Form bringen und anschließend mit einem doppelklick auf die Komponente die "Series" Einstellungen bekomme um die Linienform usw. auszuwählen.
Die Daten selbst bekomme ich dann via "Chart1.Series[0].AddXY(10, 10, '', <farbe>);" angezeigt.

Soweit die Theorie, dachte ich zumindest. :shock:
Leider scheitere ich schon daran das ich die "Series" nicht finde. Ein doppelklick auf die TChart Komponente bringt mich nur zu den Ereignissen von Chart.

Eine Anleitung für den Einsatz von TAChart die sich auf Lazarus bezieht finde ich im Indernet leider nicht. :(
Kann mir jemand helfen?

Gruß
Michael
Zuletzt geändert von catweasel am Mi 18. Mär 2009, 13:06, insgesamt 1-mal geändert.

catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

Re: Einsatz der Komponente TChart; Wo sind die Series...?

Beitrag von catweasel »

ok, ich habe jetzt unter der deutschen Übersetzung von TAChart vom wiki (http://wiki.lazarus.freepascal.org/TAChart/de)
das folgende Beispiel gefunden:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  Serie:TTASerie;
  i:Integer;
begin
  Serie:=TTASerie.Create(TAChart1);
  TAChart1.AddSerie(Serie);
  Serie.ShowLines:=True;
  Serie.ShowPoints:=False;
  Serie.Title:='Sinus';
  for i:=-500 to 499 do
     Serie.AddXY(i/10,Sin(i/10)*10,clBlack);
  end;

und

Code: Alles auswählen

procedure TForm1.Button12Click(Sender: TObject);
var
  TALine:TTALine;
begin
  TALine:=TTALine.Create(TAChart1);
  TAChart1.AddSerie(TALine);
  TALine.LineStyle:=lsHorizontal;
  TALine.Position:=10.231;
  TALine.Visible:=True;
end;



Allerdings meckert mein Lazarus an das er TTASerie nicht finden kann:

var
Serie:TTASerie;

"Error: Identifier not found "TTASerie"

Wos fehlt noch? Muß ich unter "uses" noch eine Komponente von Hand einsetzen?

Gruß
Michael

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Einsatz der Komponente TChart; Wo sind die Series...?

Beitrag von knight »

catweasel hat geschrieben:Eine Anleitung für den Einsatz von TAChart die sich auf Lazarus bezieht finde ich im Indernet leider nicht. :(

Gruß
Michael


Wenn das Internet nicht weiterhilft, dann tut es manchmal auch das Lazarus Wiki: http://wiki.lazarus.freepascal.org/TAChart

knight

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Einsatz der Komponente TChart; Wo sind die Series...?

Beitrag von af0815 »

catweasel hat geschrieben:Allerdings meckert mein Lazarus an das er TTASerie nicht finden kann:

var
Serie:TTASerie;

"Error: Identifier not found "TTASerie"

Wos fehlt noch? Muß ich unter "uses" noch eine Komponente von Hand einsetzen?

Nimm mal statt TTASerie -> TSerie und statt TTALine -> TLine
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

Re: Einsatz der Komponente TChart; Wo sind die Series...?

Beitrag von catweasel »

af0815 hat geschrieben:
catweasel hat geschrieben:Allerdings meckert mein Lazarus an das er TTASerie nicht finden kann:

var
Serie:TTASerie;

"Error: Identifier not found "TTASerie"

Wos fehlt noch? Muß ich unter "uses" noch eine Komponente von Hand einsetzen?

Nimm mal statt TTASerie -> TSerie und statt TTALine -> TLine


Das hat geholfen :)

Das Beispiel unter BitBtn2 habe ich wie folgt geändert. (In der Klammer von Serie.AddXY fehlte auch noch '', und unter "uses" mußte "TASeries" eingefügt werden):

Code: Alles auswählen

procedure TForm1.BitBtn2Click(Sender: TObject);
var
  Serie:TSerie;
  i:Integer;
begin
  Serie:=TSerie.Create(Chart1);
  Chart1.AddSerie(Serie);
  Serie.ShowLines:=True;
  Serie.ShowPoints:=False;
  Serie.Title:='Sinus';
  for i:=-500 to 499 do
     Serie.AddXY(i/10,Sin(i/10)*10,'',clBlack);
end;


Danke an alle, ich denke jetzt komme ich erst einmal ein paar Schritte weiter :D

Gruß
Michael

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Series

Beitrag von af0815 »

Vielleicht noch ein Hinweis:

TChart (von Fa. Steema) von Delphi und die freie Komponente TChart in Lazarus sind nicht gleich und haben auch eine getrennte Codebasis. Es wurden nur die Schnittstellen in LazarusTChart für den Anwender in einigen Teilen gleich gehalten, damit ein leichtere Einstieg bei einfachen Grafiken möglich ist.
Damit kann ich nur den Rat geben, in das Komponentenverzeichnis von Lazarus zu sehen und dort in die Sourcen, die nicht allzu schwer zu verstehen sind :-) Vor allen im Interfaceabschnitt der Chart, Linien und Punktobjekte beinhaltet die Information, was man mit dem Objekt machen kann und vor allen, wie die Methode oder Eigenschaft (Property) richtig heisst.

Komplexere Beispiele, mit Datum und Uhrzeit, autoscaling etc. sind nicht 1:1 aus Delphi nach Lazarus importierbar. Man muß dort derzeit einiges an eigenen Code einbringen um dieselbe Funktionalität nachzubilden. Ausserdem gibt es etliche Abarten von Line, Bar, Pie,... Objekten nicht unter Lazarus. Es ist unter Lazarus kein einfacher Port, sondern eine eigenständige Entwicklung. von ein paar begeisterten Leuten, denn diese Leistungen sollte man auch vor den Vorhang bringen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Seri

Beitrag von Mathias »

Der Thread ist zwar sehr alt, aber ich bin auch gerade über diesen Wiki-Link oben gestolpert, bei dem die Beispiele nicht funktionieren.

Soll ich die Beispiele im Wiki anpassen, oder gibt dies Probleme mit dem Autor ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Seri

Beitrag von wp_xyz »

Der Autor bin ich, und ich werd' dir schon die Ohren lang ziehen! (Natürlich kannst du das Wiki ändern, solange du nichts mutwillig zerstörst)

Welche Beispiele gehen denn nicht?

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Seri

Beitrag von Mathias »

Diese da http://wiki.lazarus.freepascal.org/TAChart/de

Es müsste wie weiter oben beschrieben, das TA entfernt werden.
Vielleicht müsste noch erwähnt werden, das man die Unit TASeries einbinden muss,
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Seri

Beitrag von wp_xyz »

Oje, das ist seit 10 Jahren nicht mehr in der englischen Version des wiki-Artikels enthalten, und die Übersetzer haben ihre Version nicht angepasst.

Ich hab' die de-Seite mal auf den Stand der Original-Seite gebracht. Dadurch gibt es allerdings kein Beispiel auf Deutsch mehr (da eh' nicht funktioniert und zu umständlich ist). Ich werde mich wohl oder übel mal dransetzen müssen, um ein paar Tutorials ins Deutsche zu übersetzen. Oder hat jemand anders Lust?

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Seri

Beitrag von Mathias »

Ich hab' die de-Seite mal auf den Stand der Original-Seite gebracht.

Den Code komplet zu löschen wäre eigentlich nicht nötig gewesen, es hätte gereicht, das TA zu entfernen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: [gelöst] Einsatz der Komponente TChart; Wo sind die Seri

Beitrag von wp_xyz »

wp_xyz hat geschrieben:Ich werde mich wohl oder übel mal dransetzen müssen, um ein paar Tutorials ins Deutsche zu übersetzen. Oder hat jemand anders Lust?

OK - der Anfang ist gemacht: Das deutsche "Getting started"-Tutorial gibt es unter http://wiki.lazarus.freepascal.org/TACh ... started/de

Antworten