Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wo ist der Fehler? (ini datei auslesen) (https://www.delphipraxis.net/66688-wo-ist-der-fehler-ini-datei-auslesen.html)

Amo 2. Apr 2006 17:23


Wo ist der Fehler? (ini datei auslesen)
 
In Settings.ini zu schreiben klappt wunderbar, nur auslesen kann ich nicht. hier ist mein code bei OnFormCreate:
Delphi-Quellcode:
  try
  SettingsIni := TIniFile.Create(
              extractfilepath(ParamStr(0)+'Settings.ini'));
  SetName.Text := SettingsIni.ReadString('name',
                    'name','');
  SetPW1.Text := SettingsIni.ReadString('password',
                  'password','');
  SetPW2.Text := SetPW1.Text;
  SetReason.Text := SettingsIni.ReadString('reason',
                      'reason','');
  except
  messagedlg('Settings could not be loaded!',mterror,
                  [mbOK],0);
  end;
  SettingsIni.Free;
Was passiert? -Die Eingabefelder bleiben leer, obwohl die werte in der inidatei richtig gespeichert sind!

danke im Voraus :-)

alcaeus 2. Apr 2006 17:25

Re: Wo ist der Fehler? (ini datei auslesen)
 
Moin,

wie sieht die Ini-Datei aus?
So:
Code:
[name]
name=foobar
[password]
password=foobar
[reason]
reason=foobar
Wenn nicht, dann solltest du dir mal die Hilfe zu TIniFile.ReadString() ansehn. ;)

Greetz
alcaeus

SirThornberry 2. Apr 2006 17:27

Re: Wo ist der Fehler? (ini datei auslesen)
 
um den fehler zu finden müsste man den speichern-source auch haben. Denn offenbar stimmt der Speichernsource und der Ladensource nicht überein in bezug auf das laden.

Amo 2. Apr 2006 17:27

Re: Wo ist der Fehler? (ini datei auslesen)
 
Hier die gesamte INI-Datei:

[name]
name=Amaury
[reason]
reason=cause i am tnt
[password]
password=12345

Amo 2. Apr 2006 17:28

Re: Wo ist der Fehler? (ini datei auslesen)
 
Und hier der Speichern-Source :wink:

Delphi-Quellcode:
try
  SettingsIni := TIniFile.create(
    ExtractFilePath(ParamStr(0)) + 'Settings.ini');
  SettingsIni.WriteString('name','name',SetName.Text);
  if SetPW1.Text = SetPw2.Text then
  SettingsIni.WriteString('password','password',SetPW1.Text)
  else messagedlg('Please verify the entered passwords!',
                        mterror, [mbOK],0);
  SettingsIni.WriteString('reason','reason',SetReason.Text);
  messagedlg('Settings saved successfully!',
                mtinformation, [mbOK],0);
  except
  messagedlg('Settings could not be saved!',
                        mterror, [mbOK],0);
  end;
  SettingsIni.Free;

SirThornberry 2. Apr 2006 17:30

Re: Wo ist der Fehler? (ini datei auslesen)
 
ich denk ich hab den Fehler:
Delphi-Quellcode:
 SettingsIni := TIniFile.Create( 
              extractfilepath(ParamStr(0)+'Settings.ini'));
du fügst an den aktuellen ExePfad "settings.ini" an und extrahierst dann davon den Pfad. Du hast wohl die eine Klammer falsch gesetzt.
richtig:
Delphi-Quellcode:
 SettingsIni := TIniFile.Create( 
              extractfilepath(ParamStr(0))+'Settings.ini');
Beim speichern hast du die klammer richtig gesetzt, daher klappt es dort auch.

Nicolai1234 2. Apr 2006 17:30

Re: Wo ist der Fehler? (ini datei auslesen)
 
Müsste es nicht statt
Delphi-Quellcode:
SettingsIni := TIniFile.Create(extractfilepath(ParamStr(0)+'Settings.ini'));
eher
Delphi-Quellcode:
SettingsIni := TIniFile.Create(extractfilepath(ParamStr(0))+'Settings.ini');
heißen?

Edit: Mist, ich zu langsam und roter Kasten im Urlaub...

Ralf Kaiser 2. Apr 2006 17:30

Re: Wo ist der Fehler? (ini datei auslesen)
 
Hallo,

diese Zeile:

Delphi-Quellcode:
  SettingsIni := TIniFile.Create(extractfilepath(ParamStr(0)+'Settings.ini'));
sollte so lauten:

Delphi-Quellcode:
  SettingsIni := TIniFile.Create(extractfilepath(ParamStr(0))+'Settings.ini');
Bitte die Position der Klammern beachten! Du hattest den gesamten Ausdruck "Paramstr(0)+Settings.ini" geklammert. Du wlltest allerding den Pfad von ParamStr(0) haben und dann "Settings.ini" dranhängen.

Ciao,
Ralf

Amo 2. Apr 2006 17:33

Re: Wo ist der Fehler? (ini datei auslesen)
 
cooles echo :lol:

also die datei speichert er ja problemlos ab, aber da der fehler ja immer alles mögliche sein kann, probiere ich es aus.

.
.
.

ich fasse es nicht :roll: es lag wirklich an dieser einen dähmlichen klammer...

Vielen Dank !!! :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 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-2025 by Thomas Breitkreuz