Hallo zusammen,
ich habe folgendes Problem und wollte mal nachfragen, ob jemand eine gute Idee dazu hat.
Also:
Ich habe eine Textdatei mit Datensätzen drin.
Diese Textdatei wurde mit Fortran erstellt und weist demnach eine bestimmte Formatierung auf.
Ich möchte nun diese Textdatei mit Delphi einlesen, die Daten aufs Fromular bringen (in Edit Felder) und geänderte bzw. alle Daten im gleichen Format wieder abspeichern.
Meine Überlegung ist dies mit Records zu lösen, in denen ich jedem Datenteil die anzahl der Zeichen zuordne.
So sieht meine Überlegung für die erste Zeile zum Beispiel aus:
Delphi-Quellcode:
type
TMyDaten = packed record
Auftr : array[0..9]of char; //Auftragsnummer
Dum1 : array[0..7]of char; //Dummy (Wird nicht verwendet)
ProgNr : array[0..7]of char; //Programmnummer
ZeichNr : array[0..7]of char; //Zeichnungsnummer
LineNr : array[0..7]of char; //Lineelement
Dum2 : array[0..7]of char; //Dummy (Wird nicht verwendet)
Dum3 : array[0..7]of char; //Dummy (Wird nicht verwendet)
Dum4 : array[0..7]of char; //Dummy (Wird nicht verwendet)
AVO : array[0..7]of char; //AVO
Mach : array[0..7]of char; //Maschine
Durchm : array[0..7]of char; //Raddurchmesser
AusWink : array[0..7]of char; //Austrittswinkel
AnzScha : array[0..7]of char; //Anzahl Schaufeln
SchaHohe: array[0..7]of char; //Schaufelhöhe
end;
Ich weiss nun nicht, ob es besser ist, die Datei direkt in den Record zu laden oder ob man besser erst die Datei in eine Stringlist lädt und von da aus jede Zeile extra in die Records einliest.
Und ob man besser die Datensätze in einem Record ablegt oder ob man für jede Zeile einen eigenen Record anlegt.
Das Problem ist nämlich, dass bestimmte Zeilen variabel in der Länge sind. D.h. das mal mehr oder mal weniger Datensätze in einer Zeile sind.
Ich habe auch mal die Textdatei mit angehängt, damit man sich auch ein Bild davon machen kann.
Da sind unter einer Zeile mit 15 Datensätzen nämlich 3 Zeilen mit 5 Datensätzen Nullen angeordnet, die sind nur Platzhalter für weitere Datensätze der vorangegangen Zeile.
Ich hoffe es ist halbwegs verständlich worauf ich hinaus will und bin für jeden Denkansatz dankbar.
Also wie würdet ihr das lösen ?
mfg
TNO
Ich würde ja gerne die Welt verändern, aber G.O.T.T. will mir einfach nicht den Quelltext geben.