Einzelnen Beitrag anzeigen

khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#29

Re: untypisierte dateien

  Alt 9. Apr 2010, 08:09
hallo zusammen,
das mit den Umlauten funktioniert zwar noch nicht, aber das ist erst mal zweitrangig.

Das Einlesen des einen DS aus dem Beispiel funktioniert und zwar folgendermassen:

Delphi-Quellcode:
tMyrecord = packed record
       f1 : array [0..$36] of byte;
       artnr: array [$37..$3C] of char;
       f2 : array [$3D..$4A] of byte;
       name : array [$4B..$63] of char;
       trenn1: byte;
       name2 : array [$65..$7D] of char;
       f3 : array [$7F..$DF] of byte;
       preis : array [$E0..$E6] of char;
       rest : array [$E7..$3FF] of char;
   end;

   
var
  buffer : array [0..1024] of char;
  myrecord : tMyrecord absolute buffer;
  gelesen : integer;
  FS: TFileStream;
  test1, test2, test3, test4: string;

begin
fs:=tfilestream.create('muster.txt', fmOpenRead);

gelesen:=fs.read(buffer,sizeof(buffer));
 test1:= myrecord.artnr ;
 test2:= myrecord.name ;
 test3:= myrecord.name2 ;
 test4:= myrecord.preis ;
Die vollständige Datei hat aber 557056 byte , also 544 DS.
die lassen sich zwar vollständig in den Buffer lesen, (buffer : array [0..557056] of char aber wie komm ich an die positionen ran?
ne while eof geht ja auchnicht
EDIT: ich könnte ja 544 files draus machen, aber sicher geht das einfacher, oder?
Danke für eure Hilfe.
Karl-Heinz
  Mit Zitat antworten Zitat