Einzelnen Beitrag anzeigen

Sirlunchalot

Registriert seit: 6. Mär 2009
8 Beiträge
 
#13

Re: Laufendes Programm Speichern (savetofile)

  Alt 7. Mär 2009, 21:08
Danke erstmal an alle fürs Helfen !
@Teekeks : Bei deiner Version gab es Probleme, falls du mein Beispiel (tspielstand als record) benutzt und dann noch
Variablen definierst, tritt folgender Fehler auf :
readln bzw writeln kann in diesem Fall nicht benutzt werden.
Versuche ich es mit write, stürzt das ganze Programm ab.
Vielleicht kannst du mir sagen woran es liegt.


Habe hier erstmal meine Lösung durch die Hilfe von Felix und einem anderem Thread
Erstmal das Speichern:
Delphi-Quellcode:
procedure TForm2.Button11Click(Sender: TObject);
begin
   spielstand.level:= erf;
  spielstand.str := str;
  spielstand.geschick := geschick;
  spielstand.konsti := konsti;
  spielstand.inti := inti;
  spielstand.ausdauer := ausdauer;

  assignfile (datei,'C:\Dokumente und Einstellungen\Max\Eigene Dateien\Lazarus Programme\Lunchworld\Speichern\Sicherung');
  {$I-}rewrite(Datei); {$I+}
  if IOResult <> 0 then ShowMessage('Neue Datei nicht angelegt');
  writeln (datei,spielstand.level);
  writeln (datei,spielstand.str);
  writeln (datei,spielstand.geschick);
  writeln (datei,spielstand.konsti);
  writeln (datei,spielstand.inti);
  writeln (datei,spielstand.ausdauer);
  writeln(datei,'spielstand.test');
  closefile(datei);

end;
und hier das Laden:
Delphi-Quellcode:
procedure TForm2.Button16Click(Sender: TObject);
begin
   assignfile (datei,'C:\Dokumente und Einstellungen\Max\Eigene Dateien\Lazarus Programme\Lunchworld\Speichern\Sicherung');
   {$I-}reset(Datei); {$I+}
  if IOResult <> 0 then ShowMessage('Nicht vorhanden');
   read (datei,spielstand.level);
   read (datei,spielstand.str);
   read(datei,spielstand.konsti);
   read (datei,spielstand.ausdauer);
   read (datei,spielstand.inti);
   read (datei,spielstand.geschick);
   closefile(datei);
   erf := (spielstand.level);
   str := (spielstand.str);
   konsti := (spielstand.konsti);
   ausdauer:= (spielstand.ausdauer);
   geschick := (spielstand.geschick);
   inti := (spielstand.inti);
end;
Danke an alle die mir beim Lösen meines Problems geholfen haben !
Hoffe mit diesem Thread und meiner kleinen Zusammenfassung der Lösung können wir noch anderen helfen

Gruß Max
  Mit Zitat antworten Zitat