Autor Beitrag
elduchte
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 199

Win 2000, Win XP
Delphi 7
BeitragVerfasst: Mo 23.06.03 15:34 
Hi Leute,
ich möchte meine selbstgeschrieben ini-Datei auslesen. Die ini-Datei ist folgender maßen aufgebaut:

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


Mein Programm habe ich wie folgt aufgebaut:

ausblenden 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 23.06.03 15:44 
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mo 23.06.03 15:46 
Hi,

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


Oder irre ich mich?

AXMD
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Mo 23.06.03 18:02 
AXMD hat folgendes geschrieben:
Hi,

ausblenden 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)

_________________
Alfons Grünewald
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: 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.

_________________
Viele Wege führen nach Rom.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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ß. :)