Autor Beitrag
guitarhero187
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 27.09.09 18:33 
Hallo Forum!
Ich bin gerade dabei, ein Programm namens "chuck a luck" zu schreiben, was kurz gesagt ein Casino-Spiel ist. Das Programm selbst funktioniert soweit einwandfrei, nur hatte ich mir als eine kleine Sonderfunktion das Speichern des aktuellen Kontostands ausgedacht. Das funktioniert leider nicht so gut; er kann zwar den Eintrag aus der .ini Datei lesen, allerdings selbst nichts schreiben.
Hier erst einmal der Code, welcher das Speichern/Laden beeinhaltet:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.MenuItem3Click(Sender: TObject); //speichern

var ini: TIniFile;
begin
  ini:=TIniFile.create('c:\speicherstand.ini');
    try
    ini.WriteString('kontostand','pkontostand','23');
    finally
    ini.free;
    end;
end;
procedure TForm1.MenuItem4Click(Sender: TObject); //laden

var ini: TIniFile;
begin
  ini:=TIniFile.Create('c:\speicherstand.ini');
  try
    pkontostand.caption:=ini.Readstring('kontostand','pkontostand','failed');
  finally
    ini.free;
  end;
end;


Die Zahl 23 beim schreiben ist zur Zeit nur zum Testen.
Der Inhalt, der von mir geschriebenen .ini Datei, sieht so aus:
[kontostand]
pkontostand=4830

Wenn ich nun auf laden im Programm klicke, ändert sich der Kontostand auf 4830, wenn ich auf speichern klicke, passiert rein garnichts.
1. Frage: Warum schreibt das Programm nichts in die .ini Datei?
2. Frage: Wie kann ich den sich variierenden Kontostand abspeichern? Einfach statt der momentanen Zahl 23 z.B. pKontostand.caption?

Danke im Voraus!


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 27.09.2009 um 22:33
anbest
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 17

Win XP Prof. SP 3
Delphi 2006 Arch.
BeitragVerfasst: So 27.09.09 18:44 
Benutz eine Variable vom Type Integer worin dein Kontostand deines aktuellen Spiels gesichert wird.
guitarhero187 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 27.09.09 18:57 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.MenuItem3Click(Sender: TObject); //speichern
begin
     k4:=strtoint(pkontostand.caption);
end;
procedure TForm1.MenuItem4Click(Sender: TObject); //laden
begin
     pkontostand.caption:=inttostr(k4);
end;


Die Variable ist oben deklariert, allerdings schreibt er mir nun, wenn ich laden drücke, 0 beim Kontostand Oo
Außerdem: würde die Variable gespeichert bleiben, wenn ich das Programm beende und dann wieder neu starte? Nein, oder?
anbest
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 17

Win XP Prof. SP 3
Delphi 2006 Arch.
BeitragVerfasst: So 27.09.09 19:16 
Nein, die Variable bleibt nicht gespeichert, sonst bräuchte man keine INI's oder sonstiges.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: So 27.09.09 19:52 

_________________
PROGRAMMER: A device for converting coffee into software.