Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit dem abspeichern in einer Ini (https://www.delphipraxis.net/11614-problem-mit-dem-abspeichern-einer-ini.html)

Wormid 10. Nov 2003 19:01

Re: Problem mit dem abspeichern in einer Ini
 
Hast Du die Ini mal mit einem Texteditor geöffnet? Stehen die Werte da auch wirklich nicht drin?

Nicht das das speichern funktioniert, aber das einlesen nicht... :mrgreen:


Gruß

Wormid

scp 10. Nov 2003 19:08

Re: Problem mit dem abspeichern in einer Ini
 
Zitat:

Zitat von MrKnogge
schreib das ganze mal in try-finally block rein !

Delphi-Quellcode:
try
 Ini.create....
 Ini.write...
finally
 Ini.free;
gruss

Stimmt, create allerdings ausserhalb:

Delphi-Quellcode:
Ini := TIniFile.create....
try
 Ini.write...
finally
 Ini.free;
end;
[edit]Immer diese Flücktigkeitsfehler :-)[/edit]

citybreaker 10. Nov 2003 19:31

Re: Problem mit dem abspeichern in einer Ini
 
Zitat:

Nicht das das speichern funktioniert, aber das einlesen nicht...
Funny! :-D

In der Ini File steht:

Code:
[Optionen]
Name=Citybreaker
Punkte=5
Die If Abfrage sieht folgendermaßen aus!
Delphi-Quellcode:
  begin
    Dead;
    Spiel.Power.Progress := Spiel.Power.Progress-10;
    if Spiel.Power.Progress = 0 then
    begin
      Player.Dead;
      Spiel.Timer.Enabled := false;
      Spiel.Draw.Visible := false;
      Spiel.GameOver.Visible := true;
      if Spiel.Punkte.Position > StrToInt(Spiel.Highscore.Text) then
      begin
        Spiel.Label3.Visible := true;
        Spiel.Edit2.Visible := true;
        Spiel.Button1.Visible := true;
      end;
    end;
  end;

Es wird ein Editfeld für den Namen und ein Button zum bestätigen sichtbar!
Wenn man auf den Button klickt. Soll der Name gespeichert werden!

Delphi-Quellcode:
var Ini: TInifile;
begin
  // Speichern
  Ini:=TIniFile.Create(ExtractFilePath(application.Exename)+'data.dat');
  Ini.WriteString('Optionen', 'Name', Spiel.Edit2.Text);
  Ini.WriteString('Optionen', 'Punkte', Spiel.Highscore.Text);
  Ini.Free;
  // Ende
  Spiel.Close;

sonic 10. Nov 2003 19:44

Re: Problem mit dem abspeichern in einer Ini
 
Also ehrlich bin ich zu blöd?

Du hast doch eh alles drin in deiner Ini Datei!
[Optionen]
Name=Citybreaker
Punkte=5

Optionen steht nicht zweimal da, weils ja die selbe Gruppe ist.

Oder willst du vielleicht mehrere namen mit zugehörigen Punkten speichern?

Da müsstest du dann nämlich genau sowas machen wie ich dir vorher geschrieben habe...

Zum Schreiben...
Code:
   // Sonstiges

var Name, Punkte  : String;
  Name := 'Hallo';
  Punkte := '0';
   
   c := strtoint(ReadString('Allgemein', 'count', '0'));
   WriteString('Allgemein', 'count', inttostr(c+1));
 
     WriteString('Name', inttostr(c), Name);
     WriteString('Punkte', inttostr(c), Punkte);



Zum Lesen...
Code:
 
   c := 0;
   max := strtoint(ReadString('Allgemein', 'count', '0'));
   while (c<max) do
   begin
     Liste.Lines.Add(ReadString('Name', inttostr(c), '') + ':' +
                         ReadString('Punkte', inttostr(c), '')
     );
     c := c + 1;
   end;
Mfg Sonic :-D

citybreaker 10. Nov 2003 19:52

Re: Problem mit dem abspeichern in einer Ini
 
Ne, soll immer nur der höchste Score mit Namen gespeichert werden. :|


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

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