Einzelnen Beitrag anzeigen

Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: record abspeichern und wieder laden

  Alt 10. Okt 2004, 18:59
Noch ein paar Bugs gefixt. Aktueller stand:
Delphi-Quellcode:
procedure TMainForm.SaveToFile(const FileName: TFileName);
var datei: TFileStream;
    i,len: integer;
begin
    len :=length(Planeten); //Länge des arrays
    datei :=TFileStream.Create(FileName, fmCreate); //datei "öffnen"
    datei.Write(len, sizeof(len)); //Länge des array abspeichern
    for i :=0 to len-1 do datei.Write(Planeten[i], sizeof(Planeten[i])); //Planeten abspeichern
    datei.Free; //Speicher freigebn
end;

procedure TMainForm.LoadFromFile(const FileName: TFileName);
var len,i:integer;
    datei: TFileStream;
begin
    datei :=TFileStream.Create(FileName, fmOpenRead); //Datei "öffnen"
    datei.Read(len, sizeof(len)); //länge des arays einlesen
    setlength(Planeten, len); //arraylänge einstellen
    for i :=0 to len-1 do datei.Read(Planeten[i], sizeof(Planeten[i])); //Planeten auslesen
    datei.Free; //speicher freigeben
end;
auf den ersten Blick scheint alles zu funzen. Aber der record enthält einen einzigen String (alles andere ist integer oder byte) und mit diesem string klappt das nicht so wirklich.da kommen dann irgendwelche komischen zeichen bei raus...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat