![]() |
Problem mit dem abspeichern in einer Ini
Hallo,
bei folgendem Code abschnitt wird immer nur der Name gespeichert, obowhl eigentlich beides gespeichert werden soll.
Delphi-Quellcode:
// Speichern
Ini:=TIniFile.Create(ExtractFilePath(application.Exename)+'data.ini'); Ini.WriteString('Optionen', 'Name', Spiel.Edit2.Text); Ini.WriteString('Optionen', 'Punkte', Spiel.Highscore.Text); Ini.Free; |
Re: Problem mit dem abspeichern in einer Ini
Delphi-Quellcode:
Sorry, hab was verwechselt. :wall:
Ini.SaveToFile('...\...ini');
|
Re: Problem mit dem abspeichern in einer Ini
Du machst schon alles richtig, so wird normalerweise beides gespeichert, ich hab's getestet, bei mir geht's.
Sorry, nochmal für obigen Post. :oops: |
Re: Problem mit dem abspeichern in einer Ini
Des ist ja doof, bei allen klappt es wieder nur bei mir nicht,
kann es vielleicht daran liegen wie ich es überprüfe?
Delphi-Quellcode:
(* Punkte = UpDown an einem Edit feld *)
if Punkte.Position > StrToInt(Highscore.Text) then // Speichern .... |
Re: Problem mit dem abspeichern in einer Ini
Also eigentlich sollte das gehen.
Wenn du dir nicht sicher bist, ob die If Abfrage hinhaut, dann gib sie doch mal raus?! Ich arbeite viel mit den Ini Files, weils ne einfache und schnelle Lösung ist, Configs usw. zu speichern. Ich verwende sie sogar um kleine Memo-Felder abzuspeichern. zum Schreiben:
Code:
zum Lesen:
c := 0;
WriteString('Sonstige Infos', 'count', inttostr(sonstiges.Lines.Count)); while (c<(sonstiges.Lines.Count)) do begin WriteString('Sonstige Infos', 'sonstiges'+inttostr(c), sonstiges.Lines.Strings[c]); c := c + 1; end;
Code:
Mfg Sonic :-D
sonstiges.Lines.Clear;
c := 0; max := strtoint(ReadString('Sonstige Infos', 'count', '0')); while (c<max) do begin sonstiges.Lines.Add(ReadString('Sonstige Infos', 'sonstiges'+inttostr(c), '')); c := c + 1; end; |
Re: Problem mit dem abspeichern in einer Ini
Probier mal statt:
Delphi-Quellcode:
das hier:
ExtractFilePath(application.Exename)
Delphi-Quellcode:
ExtractFilePath(Paramstr(0))
|
Re: Problem mit dem abspeichern in einer Ini
@alex: Wenn seine Ini im Projekt-Ordner ist, dann kann's daran wohl nicht liegen. ;)
|
Re: Problem mit dem abspeichern in einer Ini
Nuja, die if abfrage muss ja eigentlich klappen,
schließlich wird ja der Name schon gespeichert. :| @Matze Ist im Programm Ordner. ---->> Edit <<---- Dies ist mein Dreihunderster beitrag! *froi* :dance: |
Re: Problem mit dem abspeichern in einer Ini
schreib das ganze mal in try-finally block rein !
Delphi-Quellcode:
gruss
try
Ini.create.... Ini.write... finally Ini.free; |
Re: Problem mit dem abspeichern in einer Ini
Zeig mal alles. Also auch den kompleztten if-Block drumrum, so hat das keinen Sinn.
|
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 |
Re: Problem mit dem abspeichern in einer Ini
Zitat:
Delphi-Quellcode:
[edit]Immer diese Flücktigkeitsfehler :-)[/edit]
Ini := TIniFile.create....
try Ini.write... finally Ini.free; end; |
Re: Problem mit dem abspeichern in einer Ini
Zitat:
In der Ini File steht:
Code:
Die If Abfrage sieht folgendermaßen aus!
[Optionen]
Name=Citybreaker Punkte=5
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; |
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:
Mfg Sonic :-Dc := 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; |
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 13:57 Uhr. |
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