Einzelnen Beitrag anzeigen

Benutzerbild von yankee
yankee

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

record abspeichern und wieder laden

  Alt 10. Okt 2004, 19:18
Ich habe eine ziemlich großen record. (Enthält so um die 50 Variablen). Und von diesem record habe ich zu allem überfluss noch einen dynamischen array (der wird nie größer als 12). Jetzt will cih das ganze abspeichern und wieder laden. Ich habe mithilfe der Suchenfunktion bereits ein paar Ansätze gefunden, einen array zu speichern. Ich habe mal das daraus gemacht:
Delphi-Quellcode:
procedure TMainForm.SaveLoadFile(const FileName:TFileName; const save:Boolean);
var datei: TFileStream;
begin
    datei :=TFileStream.Create(FileName, fmCreate);
    if save then datei.Write(Planeten, sizeof(Planeten))
    else datei.Read(Planeten, sizeof(Planeten));
    datei.Free;
end;
wenn save true ist, wird gespeichert, sont geladen. Planeten ist mein array (array of TPlanet) und Planet ist der genannte große record.
Das funzt allerdings nicht. Bzw. Die Datei wird gepsichert (danach existiert auch eine Datei, die komischerweise nur 4bytes groß ist, nur wenn ich die Datei laden will, passiert nichts. Es kommt auch keine Fehlermeldung. Ich habe schon ein paar Ideen, woran das liegen könnte:
- beim readen ist die größe von TPlaneten je eigentlich nicht bekannt
- vielleicht geht das mit dem array nicht
aber keine Ahnunhg, wie ich das umgehen könnte.

Bitte schreibt mir eure Ideen. Es muss auch nicht auf meinen Ansatz aufsetzten, schließlich ist das nur eine Idee.
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