Tabelle/txt datei bei TAChart einlesen und wiedergeben

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
ChrisM
Beiträge: 2
Registriert: Do 17. Okt 2013, 18:30

Tabelle/txt datei bei TAChart einlesen und wiedergeben

Beitrag von ChrisM »

Guten Tag alle zusammen... ich bin neu hier und kenne mich mit der Programmsprache noch nicht allzu gut aus.

Ich habe die Aufgabe bekommen, eine gegeben .txt datei(Tabelle) als Grafik mit Hilfe von TAChart auszugeben.
Mein Problem ist jetzt aber, dass es ja alles recht neu scheint und es keine vernünftigen Tutorials dazu gibt. Das einzige Tutorial , welches ich gefunden habe war dieses
http://wiki.lazarus.freepascal.org/TACh ... hartSource

Problem hierbei ist nur Leider, dass die Quelldatei von einen externen internet Seite kommt, die Down ist-.-

Ich wüsste also gerne, wie die txt datei aufgebaut sein muss, damit diese eingelesen werden kann, und wie wir dies geht

Danke schon mal im Vorraus!
MfG Chris

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Tabelle/txt datei bei TAChart einlesen und wiedergeben

Beitrag von Michl »

Hallo Chris,

erstmal ein Hallo im Forum.

Tutorials sind dafür Mangelware, dafür sind im Lazarus-Ordner diverse Beispiele enthalten (lazarus/components/tachart/demo). Auch im Forum wurden TACharts schon öfters behandelt. Siehe auch http://wiki.freepascal.org/TAChart_documentation

Hier http://www.lazarusforum.de/viewtopic.php?p=28554#p28554 ist auch ein einfaches Bsp.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

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

Re: Tabelle/txt datei bei TAChart einlesen und wiedergeben

Beitrag von wp_xyz »

Ganz unten auf der genannten Seite findet man den Link "Categories: Tutorials" - der führt zu den Lazarus Tutorials. Das ist eine ganze Menge! Unter "T" findest du die anderen Tutorials über TAChart - Tutorials sind also keineswegs "Mangelware".

Die in dem Tutorial verlinkte Daten-Datei war eben online.

Dein Problem scheint mir aber generell der Dateizugriff zu sein: Wie holt man die zu plottenden Daten aus einer Text-Datei? Das hat nichts mit TAChart zu tun. TAChart selbst liest gar keine Dateien, das musst du schon selbst machen. Daher ist die Frage, wie eine Datei aufgebaut sein muss, damit man sie plotten kann, hinfällig.

Da ich deine Datei nicht kenne, muss ich mir hier etwas ausdenken: Nehmen wir an, deine x und y-Werte sind zeilenweise und mit einem Strichpunkt getrennt in der Datei abgelegt, also z.B. so

1;10
1,1;9
2,0;8
3,5;10
4;11
5;13

Diese Datei musst du zeilenweise in einen String (s) einlesen (ich hoffe, du weißt, wie das geht...), und jeden String jeweils am Strichpunkt auftrennen: also mit "pos" den Strichpunkt suchen (p := pos(';', s);), den vorher liegenden Text herauskopieren und in eine Zahl für x umwandeln (x := StrToFloat(copy(s, 1, p-1))), und genauso mit dem hinter dem Strichpunkt liegenden Teil (y := StrToFloat(copy(s, p+1, Length(s))). Dann fügst du diese x/y-Werte einfach deiner ChartSeries hinzu: Chart1LineSeries1.AddXY(x, y). Falls du die verwendeten Befehle nicht kennst: Lazarus hat auch eine online-Hilfe.

Geht natürlich auch anders und effizienter.

In dem Tutorial z.B. wird eine UserDefinedChartSource verwendet - das ist sinnvoll, wenn die Daten noch anderswo verwendet werden. Aber für's erste reicht das oben geschilderte Vorgehen.

ChrisM
Beiträge: 2
Registriert: Do 17. Okt 2013, 18:30

Re: Tabelle/txt datei bei TAChart einlesen und wiedergeben

Beitrag von ChrisM »

Ja habe das mit der Datei jetzt auch gesehen, dass die wieder online ist... hatte wohl genau den falschen Zeitpunkt erwischt :mrgreen:

Danke ich werds jetzt mal probieren!

Antworten