Einzelnen Beitrag anzeigen

TN0

Registriert seit: 27. Sep 2005
Ort: NRW
7 Beiträge
 
Delphi 5 Enterprise
 
#1

Verarbeitung einer strukturierten Textdatei

  Alt 10. Apr 2006, 11:28
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
Angehängte Dateien
Dateityp: txt test_119.txt (3,7 KB, 37x aufgerufen)
Ich würde ja gerne die Welt verändern, aber G.O.T.T. will mir einfach nicht den Quelltext geben.
  Mit Zitat antworten Zitat