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.