Entwickler-Ecke

Dateizugriff - selbsgeschrieben Ini auslesen --> Fehler nur wo??


elduchte - Mo 23.06.03 15:34
Titel: selbsgeschrieben Ini auslesen --> Fehler nur wo??
Hi Leute,
ich möchte meine selbstgeschrieben ini-Datei auslesen. Die ini-Datei ist folgender maßen aufgebaut:


Delphi-Quelltext
1:
2:
3:
[Daten]
Wert1=10
Wert2=20


Mein Programm habe ich wie folgt aufgebaut:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var
  IniDat : TIniFile;
  wert1 : integer;
  wert2 : integer;

procedure .......
begin
IniDat := TIniFile.Create('versuch.ini');
     with IniDat do begin
     ReadInteger('Daten''Wert1', wert1);
     ReadInteger('Daten''Wert2', wert2);
     end;
     Memo1.Lines.Add(IntToStr(wert1));
     Memo1.Lines.Add(IntToStr(wert2));
     IniDat.Free
end;


IniFiles habe ich unter uses eingetragen.

Warum bekomme ich als Ergebnis nur jeweils eine 0 ??

Wäre toll, wenn mir jemand helfen könnte

Danke
Andreas

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt


Delete - Mo 23.06.03 15:44


Delphi-Quelltext
1:
IniDat := TIniFile.Create('versuch.ini');                    

Öhm, bist du sicher, dass er die Datei findet?

Zweitens ist ReadInteger eine Funktion.

Und drittens kuck mal in der Hilfe, was die zum dritten Parameter sagt.


AXMD - Mo 23.06.03 15:46

Hi,


Quelltext
1:
Variable := ReadInteger('Daten', 'Test1', 0);                    


Oder irre ich mich?

AXMD


Alfons-G - Mo 23.06.03 18:02

AXMD hat folgendes geschrieben:
Hi,


Quelltext
1:
Variable := ReadInteger('Daten', 'Test1', 0);                    


Oder irre ich mich?

AXMD

Nein, Du irrst Dich nicht :)

Der letzte Parameter ist die Vorgabe, wenn der Wert nicht gefunden werden kann.
Den sollte man entweder auf eine tatsächlich sinnvolle Voreinstellung setzen, oder wenn das nicht möglich ist, auf einen Wert, der den Fehler signalisiert. In diesem Fall kann man dann im Programm entsprechend reagieren.

8)


MAlsleben - Di 24.06.03 09:38

Hi,

ich würde auch mal vermuten, das die Ini Datei nicht gefunden wird. Geh doch mal mit dem Debugger drauf, und schaue damit, in welchem Verzeichnis er die Datei sucht oder stelle den Pfadnamen nur zum Testen fest ein.

Gruß
Micha.


Delete - Di 24.06.03 20:30

MAlsleben hat folgendes geschrieben:
ich würde auch mal vermuten, das die Ini Datei nicht gefunden wird.

Na ja, in erster Linie liegt der Fehler aber an der Unkenntnis zur Funktion ReadInteger. Dass man einen korrekten und ausführlichen Dateinamen samt Ordner angeben sollte, ist natürlich auch ein Grund - wenn aber das aktuelle Arbeitsverzeichnis zufälligerweise mit dem Ordner der INI identisch ist, dann klappt das Einlesen ja auch.

Sofern man die Funktionen richtig anzuwenden weiß. :)