Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einlesen von Integer / Float aus ini Files Probleme (https://www.delphipraxis.net/135287-einlesen-von-integer-float-aus-ini-files-probleme.html)

deTobi 8. Jun 2009 15:54


Einlesen von Integer / Float aus ini Files Probleme
 
Guten Abend,

Ich bin relativ neu im Umgang mit Delphi und wollte heute mal Grundeinstellungen per ini File beibehalten.

Das Schreiben in die Files funktioniert bestens,
Delphi-Quellcode:
procedure TForm4.FormDestroy(Sender: TObject);
var ini: TIniFile;
begin
  ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'savegame.ini');
  ini.WriteInteger('Settings','Round',Round);
  ini.WriteFloat('Settings','Cash',Cash);
  ini.free
end;
wenn ich jedoch die Daten wieder auslesen will, generiert er nur Nullen (defaultwert):
Delphi-Quellcode:
procedure TForm4.FormCreate(Sender: TObject);
  var ini: TIniFile;
begin

  ini:=TIniFile.Create('savegame.ini');
try
  Round:=ini.ReadInteger('Settings','Round',0);
  Cash:=ini.readFloat('Settings','Cash',0);
finally
  ini.free;
  end;

  Edit1.Text:=FloatToStr(Cash);
  Edit2.Text:=IntToStr(Round);


end;
Falls ich nun die Defaultwerte ändern werden automatisch die genommen anstelle des Wertes aus dem ini File.

Freundliche Grüsse & besten Dank im voraus für eure Hilfe

Klaus01 8. Jun 2009 15:58

Re: Einlesen von Integer / Float aus ini Files Probleme
 
Hallo,

bei Einlesen hast Du keinen Pfad zur IniDatei angegeben.

Grüße
Klaus

nat 8. Jun 2009 17:02

Re: Einlesen von Integer / Float aus ini Files Probleme
 
genau. was bedeutet, dass die datei im windows-verzeichnis gesucht wird (nur so zur info) :)

DeddyH 8. Jun 2009 17:03

Re: Einlesen von Integer / Float aus ini Files Probleme
 
Zitat:

Zitat von nat
genau. was bedeutet, dass die datei im windows-verzeichnis gesucht wird (nur so zur info) :)

Nein, das bedeutet, dass sie im aktuellen Verzeichnis gesucht wird.

Desmulator 8. Jun 2009 17:37

Re: Einlesen von Integer / Float aus ini Files Probleme
 
Zitat:

Zitat von DeddyH
Zitat:

Zitat von nat
genau. was bedeutet, dass die datei im windows-verzeichnis gesucht wird (nur so zur info) :)

Nein, das bedeutet, dass sie im aktuellen Verzeichnis gesucht wird.

Bedeutet es nicht, dass in allen Ordnern die in PATH stehen gesucht wird?

Uwe Raabe 8. Jun 2009 17:39

Re: Einlesen von Integer / Float aus ini Files Probleme
 
Zitat:

Zitat von Desmulator
Zitat:

Zitat von DeddyH
Zitat:

Zitat von nat
genau. was bedeutet, dass die datei im windows-verzeichnis gesucht wird (nur so zur info) :)

Nein, das bedeutet, dass sie im aktuellen Verzeichnis gesucht wird.

Bedeutet es nicht, dass in allen Ordnern die in PATH stehen gesucht wird?

Nein!

BUG 8. Jun 2009 17:41

Re: Einlesen von Integer / Float aus ini Files Probleme
 
Zitat:

Zitat von DeddyH
Nein, das bedeutet, dass sie im aktuellen Verzeichnis gesucht wird.

Sicher?
Delphi3-Hilfe
Hinweis

Normalerweise werden INI-Dateien im Verzeichnis \WINDOWS gespeichert. Wenn sich die INI-Datei an einem anderen Ort befindet, geben Sie in FileName den vollständigen Pfadnamen an.


MfG,
Bug

nat 8. Jun 2009 18:48

Re: Einlesen von Integer / Float aus ini Files Probleme
 
Zitat:

Zitat von DeddyH
Nein, das bedeutet, dass sie im aktuellen Verzeichnis gesucht wird.

das stimmt nicht. denn, wenn man sich TIniFile mal anguckt, benutzt es intern
GetPrivateProfileString/WritePrivateProfileString und die hilfe sagt hierzu ganz klar:
Zitat:

If the lpFileName parameter does not contain a full path and filename for the file, WritePrivateProfileString searches the Windows directory for the file. If the file does not exist, this function creates the file in the Windows directory.
bzw
Zitat:

lpFileName

Pointer to a null-terminated string that names the initialization file. If this parameter does not contain a full path to the file, Windows searches for the file in the Windows directory.

DeddyH 8. Jun 2009 18:56

Re: Einlesen von Integer / Float aus ini Files Probleme
 
In meiner Hilfe steht das zwar nicht, aber es scheint zu stimmen. Immerhin hatten wir recht, dass es sich um 2 verschiedene Pfade handelt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr.

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