Delphi Speicherstände

fdbfgh

Cadet 4th Year
Dabei seit
Nov. 2006
Beiträge
115
Hallo Ihr!

Ich bin ein ziemlich Anfänger in Delphi, bin jedoch gerade dabei ein Spiel zu programmieren. Mein Problem ist, dass ich Randomzahlen "erstelle" und diese dann einem Einfach Label eben zuweise.
Jetzt will ich, dass es so wie in einem echten richtigen Spiel es funktioniert, dass ich auf
SPIEL SPEICHERN klicke und alles gespeichert wird.

Später wieder auf SPIEL LADEN klicken und alle Werte werden übernommen...

Wie kriege ich das möglichst einfach hin?

Liebe Grüße
 
Wie kriege ich das möglichst einfach hin?
Grob gesagt: Bei Speichern die Label-Werte auslesen, sinnvoll in einen String packen (Zahlen durch Kommata oder ähnliches getrennt - siehe CSV-Format), diesen String in eine Datei speichern. Beim Laden die Datei öffnen, String auslesen, in die einzelnen Werte zerlegen (iirc bietet Delphi einen eingebauten Befehl an, mit denen Strings an vorgegebenen Zeichen wie Kommata aufgetrennt werden können) und die Werte den Labels zuweisen.
 
Ich hab jetzt mal was geschrieben, hab aber immer noch ein Problem...

Ein Programm was eine Zufallszahl herstellt und dann das in eine Inidatei schreibt.
Wenn ich das Programm das nächste Mal starte, soll genau diese Zahl wieder zu sehen sein...



procedure TUebersicht.BuGeldClick(Sender: TObject);
var Geld : Integer ;
ini : TIniFile;
begin
BuGeld.Enabled := false;
Geld := random(2000);
ini := TIniFile.Create('Speichern.ini');
ini.WriteInteger('Uebersicht','Geld',Geld);
LaGeld.Caption := IntToStr(ini.ReadInteger('Uebersicht','Geld',0));
LaGeld.Visible := true;
ini.free;
 
Niemand ne Ahnung?
 
Auch wenns ein bischen länger gedauert hat: hier mal der grundlegende Code
zuerst einmal unter USES eintragen:
Code:
IniFiles
Dann als GLOBALE Variable das Ini Format definieren:
Code:
var
  ini:TIniFile;
Erst jetzt gehts zum speichern:

Code:
procedure TForm1.Button1Click(Sender: TObject);             
begin

  ini:= TIniFile.Create('C:\blalbalbl.txt');
    try
      ini.writeinteger('Uebersicht','Geld',Geld);
       finally
       ini.free;
end;
So jetzt zum Laden der Dateien:

Code:
procedure TForm1.Button1Click(Sender: TObject);               
  var
  Geld: Integer;

begin
  ini:= TIniFile.Create('C:\blalbalbl.txt');
   try
    Geld:= Ini.ReadInteger('Uebersicht','Geld',0);
     finally
      ini.free;
      Label1.caption := inttostr(Geld) // oder so ähnlich ^^
 end;
Ich hab den Code jetzt zwar nicht genauso getestet sondern aus einem meiner Projekte übernommen, sollte aber so stimmen.
 
Danke!!!
 
Zurück
Top