Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Laufendes Programm Speichern (savetofile) (https://www.delphipraxis.net/130380-laufendes-programm-speichern-savetofile.html)

Teekeks 7. Mär 2009 19:42

Re: Laufendes Programm Speichern (savetofile)
 
Und wie ist es mit:
Delphi-Quellcode:
var spst:tspielstand;
    spstdt:file of tspielstand;
begin
  assignfile(spstdt,{pfad});
  rewrite(spstdt);
  writeln(spstdt,spst);
  closefile(spstdt);
end;
Das speichert das ganze in einer Binären Datei ab.

gruß Teekeks

Namenloser 7. Mär 2009 19:58

Re: Laufendes Programm Speichern (savetofile)
 
Zitat:

Zitat von Teekeks
Und wie ist es mit:
Delphi-Quellcode:
var spst:tspielstand;
    spstdt:file of tspielstand;
begin
  assignfile(spstdt,{pfad});
  rewrite(spstdt);
  writeln(spstdt,spst);
  closefile(spstdt);
end;
Das speichert das ganze in einer Binären Datei ab.

gruß Teekeks

Das gibt allerdings bei Strings Probleme.

Sirlunchalot 7. Mär 2009 20:08

Re: Laufendes Programm Speichern (savetofile)
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz