Einzelnen Beitrag anzeigen

Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Spielstand speichern mit ini(s)!

  Alt 15. Mär 2008, 20:26
Ich würds mit nem Key machen, in dem Steht, wieviele Speicherstände es gibt:
Code:
[general]
savedgames=2
save1=Hans
save2=Peter

[Hans]
Points=1
Money=0

[Peter]
Point=7
Money=3
Beim Laden des Spielstände machst du eine Schleife von 1 bis savedgames. Wenn du einen neuen hinzufügen willst, erhöhst du savedgames um 1 und fügst entsprechend eine neue Section hinzu.

Der Code würde dann z.B. so aussehen: (UNGETESTET)
Delphi-Quellcode:
//Laden der Spielstände
Var i:Integer;
Begin
  ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'..\DATA\save.ini');
  Try
    For i:=1 To Ini.Readinteger('general','savedgames',1) Do
    Begin
      ListBox1.Items.Add(Ini.ReadString('general','save'+IntToStr(i),'ERROR'));
    End;
  Finally
    Ini.Free;
  end;
end;

//Speichern eines Spielstandes
Begin
  if ListBox1.ItemIndex>-1 Then
  Begin
    ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'..\DATA\save.ini');
    Try
      If not SectionExists('NAME') Then
      Begin
        Ini.WriteInteger('general','savedgames',Ini.ReadInteger('general','savedgames',0)+1);
        Ini.WriteString('general','save'+inttostr(Ini.ReadInteger('general','savedgames',0)),'NAME');
      End;
      Ini.WriteInteger('NAME','Points',Points);
      Ini.WriteInteger('NAME','Money',Money);
    End;
  Finally
    ini.free;
  End;
End;
Wobei du NAME durch den Namen des Spielers ersetzen musst, der gerade speichert.

Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat