![]() |
[Gelöst] Ini-Datei wird nicht erzeugt/ausgelesen
Ich habe ein Problem mit der TIniFile-Komponente.
Vorweg: Ich arbeite mit Delphi 2005 PE und Windows XP. Mein Entwicklungsverzeichnis liegt auf dem Desktop. Mein Quellcode in dem Abschnitt sieht so aus:
Code:
Wenn ich jetzt das Programm laufen lasse, legt er keine ini-Datei an. Wenn die Datei schon existiert (mit allen Werten!) liest er sie nicht aus.
procedure TForm2.FormCreate(Sender: TObject);
var inid: TIniFile; begin inid:=TIniFile.Create(ExtractFilePath(paramstr(0))+'data.ini'); try Form2.Edit1.Text:=inid.ReadString('Anmeldung','Name',''); Form2.Edit2.Text:=inid.ReadString('Anmeldung','Pwd',''); Form2.CheckBox1.Checked:=inid.ReadBool('Anmeldung','PwdSv',False); Form2.CheckBox2.Checked:=inid.ReadBool('Anmeldung','AutoAnm',False); finally inid.free; end; Form2.AlphaBlendValue := 0; Form2.Timer1.Enabled := True; end; Wenn ich im Debugger mit der Maus auf die Variable inid fahre, sagt er "inid = ()". So langsam fühle ioch mich ver.......t :wall: Ich hoffe, ihr wisst eine Lösung für mein Problem, da ich mit meinem Latein am Ende bin! Gruß Benji87 |
Re: Ini-Datei wird nicht erzeugt/ausgelesen
Ich vermute es fehlt ein '\' vor deinem Dateinamen.
|
Re: Ini-Datei wird nicht erzeugt/ausgelesen
Daran liegt es leider nicht. Kann es vlt. an der PE von Delphi 2005 liegen?
|
Re: Ini-Datei wird nicht erzeugt/ausgelesen
Wenn du nichts reinschreibst, wird die Ini-Datei auch nicht angelegt.
|
Re: Ini-Datei wird nicht erzeugt/ausgelesen
Probier es mal so (also immer ohne das Form2 davor):
Code:
Das er in der Prozedur nichts schreiben kann ist ja klar, denn dafür müsstest du WriteString und WriteBool verwenden.
procedure TForm2.FormCreate(Sender: TObject);
var inid: TIniFile; begin inid:=TIniFile.Create(ExtractFilePath(paramstr(0))+'data.ini'); try Edit1.Text:=inid.ReadString('Anmeldung','Name',''); Edit2.Text:=inid.ReadString('Anmeldung','Pwd',''); CheckBox1.Checked:=inid.ReadBool('Anmeldung','PwdSv',False); CheckBox2.Checked:=inid.ReadBool('Anmeldung','AutoAnm',False); finally inid.free; end; AlphaBlendValue := 0; Timer1.Enabled := True; end; [Edit]Ups, Luckie war schneller...[/Edit] |
Re: Ini-Datei wird nicht erzeugt/ausgelesen
Hallo,
ich denke nicht, dass es an Delphi liegt, meistens sitzt der Fehler vor dem Monitor ;) Angelegt wird eine Ini nur, wenn in sie geschrieben wird. Nimm mal eine lokale String-Variable für den Pfad, in etwa so
Delphi-Quellcode:
Wenn du sagst, "eine existierende Ini-Datei wird nicht gelesen",
var
sIniName: String; begin sIniName:= ExtractFilePath(Application.ExeName)+'data.ini'); // ParamStr(0) geht auch Inid:= TIniFile.Create(sIniName); dann liegt sie entweder im falschen Verzeichnis oder entspricht nicht dem, was du erwartest. Lade doch mal deine Ini hier hoch. Noch ein letztes, das Windows ist nicht zufällig schon Vista ? Heiko |
Re: Ini-Datei wird nicht erzeugt/ausgelesen
Danke Leute, Das Problem war Ich :wall: !
Ich hatte, als die Datei noch existierte, keinen Pfad angegeben. Danach hab ich die ini gelöscht und gedacht, mit dem TInifile.Create wird die neu angelegt. :gruebel: Naja , nun läuft alles so wie es soll! Danke nochmal! Gruß Benji87 :bouncing4: :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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-2025 by Thomas Breitkreuz