Autor Beitrag
Martello
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 19.03.09 21:45 
Hallo,

in einer ersten "sinnvollen" Anwendung ist es mir gelungen, alten eigenen TP-Code in Delphi zum Laufen zu bringen. Dabei wird aus Messdaten (Vektor.txt) eine Matrix (TextFile) erzeugt und kontrollweise in einer ListBox der Inhalt dargestellt. Als nächstes möchte ich nun den Inhalt dieser ListBox als Kurvenschar darstellen. Dabei stehen in jeder Zeile dieses TextFiles ca. 170 Zahlenwerte durch Tab voneinander getrennt und bilden gemeinsam eine Datenkurve, die in einem kart. Diagramm angezeigt werden soll.

Ich denke, daß es kein Problem sein wird, die Linien zu zeichnen; mein Problem ist aber:

Wie kann ich nacheinander auf die einzelnen Werte in jeder einzelnen Zeile zugreifen, um alle Kurven als Linienbündel ins Diagramm zu zeichnen? Ach so; ich habe leider nur ein Uraltdelphi. Aber das sollte wohl nichts machen :wink:

Grüße
Martello


Moderiert von user profile iconNarses: Topic aus VisualCLX (Component Library for Cross Platform) verschoben am Do 19.03.2009 um 21:21
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 20.03.09 12:54 
Hier im Forum gibt's eine Funktion SplitString (o.s.ä.) Mit der kannst Du die Einträge splitten (am Tab).
Zugreifen auf einen einzelnen Eintrag geht über TListbox.Items[Index].

Wie alt ist denn deine Delphi-Version?

Ach ja: Die Nutzung von VCL-Komponenten zur Datenhaltung ist eine SEHR SCHLECHTE Idee! Nimm dafür lieber eigene, geeignete Datenstrukturen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Fr 20.03.09 13:26 
Vielleicht liegt mein Problem ja nur in meiner Uralt-Version begründet (1983 - 95). Die Stringlänge ist dort 256, und diese Beschränkung behindert doch allerlei... Ab welcher Delphi-Version werden denn die Strings länger?

Zwar kann ich immer schon beliebig lange Zeilen beim Schreiben eines Text-Files erzeugen (so entsteht auch meine 2-D-Matrix.txt ursprünglich als Datei). Aber readln(F,string) kennt ja nur die ersten 256 Zeichen:-(

Das Problem entsteht mit der - für mich sperrigen - Ausgangsstruktur "2-D-Matrix.txt". Im Grunde suche ich nur eine einfache Methode, um der Reihe nach auf die einzelnen Matrix-Zellen zugreifen zu können, um sie als Kurve darzustellen.

In List-Box ist die Länge eines Items offenbar nicht beschränkt. Ich dachte, es gäbe vielleicht eine einfache Methode diesen "Items[xy]-String" weiter zu zerlegen.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 20.03.09 13:52 
user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Vielleicht liegt mein Problem ja nur in meiner Uralt-Version begründet (1983 - 95). Die Stringlänge ist dort 256, und diese Beschränkung behindert doch allerlei... Ab welcher Delphi-Version werden denn die Strings länger?

Glaube ab D3, oder wenn man einen entsprechenden Define setzt glaube auch bereits in früheren Versionen. Einfach hinter String die Längenangabe weglassen, dann nimmt Delphi das Längste, was er kann.

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Zwar kann ich immer schon beliebig lange Zeilen beim Schreiben eines Text-Files erzeugen (so entsteht auch meine 2-D-Matrix.txt ursprünglich als Datei). Aber readln(F,string) kennt ja nur die ersten 256 Zeichen:-(

Verwende eine TStringList und die Methode LoadFromFile. Das dürfte für dich das Problem beim Einlesen beheben.
Mit TStringListCommaText kannst Du dann auch noch ein paar Dinge machen, die dir helfen könnten.

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Das Problem entsteht mit der - für mich sperrigen - Ausgangsstruktur "2-D-Matrix.txt". Im Grunde suche ich nur eine einfache Methode, um der Reihe nach auf die einzelnen Matrix-Zellen zugreifen zu können, um sie als Kurve darzustellen.

Die TListbox verwaltet unter TListbox.Items eine TStringList. Siehe in der Hilfe, welche Möglichkeiten diese bietet. CommaText hatte ich ja bereits erwähnt.

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
In List-Box ist die Länge eines Items offenbar nicht beschränkt. Ich dachte, es gäbe vielleicht eine einfache Methode diesen "Items[xy]-String" weiter zu zerlegen.

Siehe oben, bzw. hier im Forum SplitString.

Welche Delphi-Version nutzt Du denn?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Fr 20.03.09 15:08 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:

Welche Delphi-Version nutzt Du denn?


As in it's infancy...

Ich fürchte es ist die allererste Delphiversion, als noch keine Nummern vergeben wurden.
Die Sachen sehen aber auf W2K ganz gut aus, und zum Lernen genügte es mir bisher.

Ich sollte aber wohl nach einer aktuelleren Ausschau halten, dann helfen mir die Antworten hier im Forum auch weiter, denn sehr vieles gab es damals einfach noch gar nicht. Z.B. ist auch TStringListCommaText der Hilfe leider unbekannt.

Gruß
Martello
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 20.03.09 15:17 
user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:

Welche Delphi-Version nutzt Du denn?


As in it's infancy...

Ich fürchte es ist die allererste Delphiversion, als noch keine Nummern vergeben wurden.
Die Sachen sehen aber auf W2K ganz gut aus, und zum Lernen genügte es mir bisher.

Schau mal unter Hilfe --> Über. Dort steht es genau. Wenn es aber unter W2K ordentlich ausschaut, kann es kein Delphi 1 sein; das sieht unter W2K nämlich [euphemismus]nicht sonderlich[/euphemismus] aus.

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Ich sollte aber wohl nach einer aktuelleren Ausschau halten, dann helfen mir die Antworten hier im Forum auch weiter, denn sehr vieles gab es damals einfach noch gar nicht. Z.B. ist auch TStringListCommaText der Hilfe leider unbekannt.

Gruß
Martello

Es heißt ja auch TStringList.CommaText Und das sollte mindestens Delphi 4, ggf. aber auch bereits Delphi 3 kennen.

P.S.: Du kannst dein verwendetes OS und deine Delphi-Version auch in deinem Benutzerprofil hier im Forum eintragen, dann sieht man das gleich bei deinen Posts mit und muss nicht immer erst fragen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Fr 20.03.09 17:06 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:

Welche Delphi-Version nutzt Du denn?


Es ist tatsächlich 1.0, denn bereits 2.0 stellt längere Strings zur Verfügung
(Übergang von 16 auf 32 Bit) und genau dieses Problem der viel zu kurzen Strings habe ich.

Gruß
Martello
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 20.03.09 17:55 
Such mal hier im Forum, da gibt's genug Bezugsquellen für kostenlose, aktuellere Delphi-Versionen. Ist ein Unterschied wie Tag und Nacht ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.