Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Gelöst] Ini-Datei wird nicht erzeugt/ausgelesen (https://www.delphipraxis.net/93317-%5Bgeloest%5D-ini-datei-wird-nicht-erzeugt-ausgelesen.html)

Benji87 4. Jun 2007 12:21


[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:
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 jetzt das Programm laufen lasse, legt er keine ini-Datei an. Wenn die Datei schon existiert (mit allen Werten!) liest er sie nicht aus.

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

Bernhard Geyer 4. Jun 2007 12:23

Re: Ini-Datei wird nicht erzeugt/ausgelesen
 
Ich vermute es fehlt ein '\' vor deinem Dateinamen.

Benji87 4. Jun 2007 12:25

Re: Ini-Datei wird nicht erzeugt/ausgelesen
 
Daran liegt es leider nicht. Kann es vlt. an der PE von Delphi 2005 liegen?

Luckie 4. Jun 2007 12:51

Re: Ini-Datei wird nicht erzeugt/ausgelesen
 
Wenn du nichts reinschreibst, wird die Ini-Datei auch nicht angelegt.

ringli 4. Jun 2007 12:53

Re: Ini-Datei wird nicht erzeugt/ausgelesen
 
Probier es mal so (also immer ohne das Form2 davor):

Code:
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;
Das er in der Prozedur nichts schreiben kann ist ja klar, denn dafür müsstest du WriteString und WriteBool verwenden.

[Edit]Ups, Luckie war schneller...[/Edit]

hoika 4. Jun 2007 12:56

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:
var
  sIniName: String;
begin
  sIniName:= ExtractFilePath(Application.ExeName)+'data.ini');
 // ParamStr(0) geht auch
  Inid:= TIniFile.Create(sIniName);
Wenn du sagst, "eine existierende Ini-Datei wird nicht gelesen",
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

Benji87 4. Jun 2007 13:13

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 17:41 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