Einzelnen Beitrag anzeigen

Elite
(Gast)

n/a Beiträge
 
#6

Re: Wie kann ich einen Record in eine Datei schreiben/lesen

  Alt 4. Sep 2004, 18:25
Genau auf die Weise wird er keinen Erfolg haben, denn gerade so werden nur die Pointer in die Datei geschrieben.
Es ist ganz wichtig, jeden einzelnen String in etwa so wie folgt zu speichern:

Delphi-Quellcode:
procedure WriteStringToStream(stream: TFileStream; str: string);
var
 len: integer;
begin
 len := length(str); // Länge des strings ermitteln
 stream.write(len, SizeOf(len)); // Länge des Strings speichern
 stream.write(PChar(str)^, len); // String mittels PChar speichern
end;


procedure ReadStringFromStream(stream: TFileStream; var str: string);
var
 len: integer;
begin
 stream.read(len, SizeOf(len)); // Länge des Strings auslesen
 SetLength(str, len); // Länge des Srings setzen
 stream.read(PChar(str)^, len); // Strings mittels PChar auslesen
end;
Das Speichern von Strings ist zwar sehr mühsam, lässt sich aber leider nicht viel einfacher machen. Muss man so hinnehmen. Auf jeden fall rate ich dir aber auch zu FileStreams!
  Mit Zitat antworten Zitat