Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Textdatei ohne Trennzeichen verarbeiten

  Alt 10. Feb 2009, 11:33
Hallo Bali,

ich schlage Dir folgendes vor
a) einlesen der Textdatei und überprüfung der Satzlänge, rein theoretisch müssten alle Sätze gleich lang sein.

b) Definition eines Records und eines Lesebuffers:
Delphi-Quellcode:
Const
  maxsatzlang= 44+2; {satzlänge+2 CRLF }
Type
    tDatensatz : record
      Kundennummer = array [1..5] of char;
      Name = array [6..24] of char;
      ...

Var
 Lesezeile : array [1..maxsatzlang];
 LeseSatz : tDatensatz;
Die Definition der Arrays ist recht ungewöhnlich erleichtert Dir aber die Orientierung im Bezug auf die Quelldaten.
Es spricht natürlich nichts dagegen 0 oder 1 basiert zu arbeiten.

b) danach einlesen jeweils eines Satzes(x Byte+2 [CRLF] ) oder mehrerer Sätze(n*(xByte+2))
c) move(Lesezeile[1],Lesesatz,maxsatzlang);

Danach stehen Dir alle Felder innerhalb eines Records zur Verfügung.

b & c müssen natürlich vom Anfang der Datei bis zum bitteren Ende mehrfach ausgeführt werden.

Es spricht natürlich nichts dagegen das alles objektorientiert zu definieren, insbesonders im Hinblick auf spätere Wartung.
Ich hoffe das hilft Dir weiter.

Gruß K-H

(ich tippe einfach zu langsam!)
  Mit Zitat antworten Zitat