Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi .ini wird nicht geladen (https://www.delphipraxis.net/47042-ini-wird-nicht-geladen.html)

tinibeenie 5. Jun 2005 16:45


.ini wird nicht geladen
 
Hallo zusammen!

Ich möchte bestimmte Angaben aus Edits speichern und beim nächsten Laden wieder anzeigen lassen. Leider habe ich mit Inis noch nicht so viel Erfahrung. Rausgefunden hab ich immerhin schonmal, dass die Daten richtig in der Ini gespeichert werden, nur werden sie beim Öffnen des Programms nicht geladen oder stehen zumindest nicht in den Edits drin. Also liegt der Fehler wahrscheinlich in der Create-Procedure.

Hier der Code:

Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
  var IniDat:TIniFile;
begin
  IniDat:=TIniFile.Create('.\Text.Ini');
  with IniDat do
  begin
    WriteString('Text', 'Edit1', Edit1.Text);
    WriteString('Text', 'Edit2', Edit2.Text);
    WriteString('Text', 'Edit3', Edit3.Text);
    WriteString('Text', 'Edit4', Edit4.Text);
    WriteString('Text', 'Edit5', Edit5.Text);
    WriteString('Text', 'Edit6', Edit6.Text);
    WriteString('Text', 'Edit7', Edit7.Text);
    WriteString('Text', 'Edit8', Edit8.Text);
    WriteString('Text', 'Edit9', Edit9.Text);
    WriteString('Text', 'Edit10', Edit10.Text);
    WriteString('Text', 'Edit11', Edit11.Text);
    WriteString('Text', 'Edit12', Edit12.Text);
    WriteString('Text', 'Edit13', Edit13.Text);
    WriteString('Text', 'Edit14', Edit14.Text);
    WriteString('Text', 'Edit15', Edit15.Text);
    WriteString('Text', 'Edit16', Edit16.Text);
    WriteString('Text', 'Edit17', Edit17.Text);
    WriteString('Text', 'Edit18', Edit18.Text);
    WriteString('Text', 'Edit19', Edit19.Text);
  end;
  IniDat.Free;
end;
und

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
  var IniDat:TIniFile;
begin
  IniDat:=TIniFile.Create('.\Text.Ini');
  with IniDat do
  begin
    Edit1.Text := ReadString('Text', 'Edit1', Edit1.Text);
    Edit2.Text := ReadString('Text', 'Edit2', Edit2.Text);
    Edit3.Text := ReadString('Text', 'Edit3', Edit3.Text);
    Edit4.Text := ReadString('Text', 'Edit4', Edit4.Text);
    Edit5.Text := ReadString('Text', 'Edit5', Edit5.Text);
    Edit6.Text := ReadString('Text', 'Edit6', Edit6.Text);
    Edit7.Text := ReadString('Text', 'Edit7', Edit7.Text);
    Edit8.Text := ReadString('Text', 'Edit8', Edit8.Text);
    Edit9.Text := ReadString('Text', 'Edit9', Edit9.Text);
    Edit10.Text := ReadString('Text', 'Edit10', Edit10.Text);
    Edit11.Text := ReadString('Text', 'Edit11', Edit11.Text);
    Edit12.Text := ReadString('Text', 'Edit12', Edit12.Text);
    Edit13.Text := ReadString('Text', 'Edit13', Edit13.Text);
    Edit14.Text := ReadString('Text', 'Edit14', Edit14.Text);
    Edit15.Text := ReadString('Text', 'Edit15', Edit15.Text);
    Edit16.Text := ReadString('Text', 'Edit16', Edit16.Text);
    Edit17.Text := ReadString('Text', 'Edit17', Edit17.Text);
    Edit18.Text := ReadString('Text', 'Edit18', Edit18.Text);
    Edit19.Text := ReadString('Text', 'Edit19', Edit19.Text);
  end;
  IniDat.Free;
end;
Kann mir jemand sagen, was ich da falsch gemacht habe? Irgendwie finde ich den Fehler nicht. :(

Vielen Dank schonmal!

100nF 5. Jun 2005 16:49

Re: .ini wird nicht geladen
 
hi,

Zitat:

IniDat:=TIniFile.Create('.\Text.Ini');
entweder müsste das so heissen:
Delphi-Quellcode:
IniDat:=TIniFile.Create('..\Text.Ini');
oder so:
Delphi-Quellcode:
IniDat:=TIniFile.Create('Text.Ini');
musst du bei beiden proceduren ändern

ich frage mich aber, wiso die ini datei trotzdem beschrieben wird :gruebel:

gruss
urbanbruhin

malo 5. Jun 2005 16:52

Re: .ini wird nicht geladen
 
Also, bei mir funktionieren beide Codes einwandfrei :gruebel:

Luckie 5. Jun 2005 16:53

Re: .ini wird nicht geladen
 
Zitat:

Zitat von malo
Also, bei mir funktionieren beide Codes einwandfrei :gruebel:

Aber nur, weil das Arbeitsverzeichnis nicht geändeert wird im Laufe des Programmesm, deswegen immer den kompletten absoluten Pafd angeben.

Speedmaster 5. Jun 2005 16:54

Re: .ini wird nicht geladen
 
Delphi-Quellcode:
IniDat:=TIniFile.Create('.\Text.Ini');
Sollte funktionieren!

Sharky 5. Jun 2005 16:55

Re: .ini wird nicht geladen
 
Wenn schon dann richtig ;-)
Ich denke mal die Text.Ini soll im selben Verzeichniss wie das Programm liegen. Da reicht es aber nicht einfach nur 'Text.Ini' zu schreiben. Das aktuelle Verzeichniss kann nämlich ein ganz anderes als das Programmverzeichniss sein.

Ergo:
Delphi-Quellcode:
  IniDat:=TIniFile.Create(ExtractFileDir(ParamStr(0)) + '\Text.Ini');

100nF 5. Jun 2005 17:02

Re: .ini wird nicht geladen
 
Zitat:

Das aktuelle Verzeichniss kann nämlich ein ganz anderes als das Programmverzeichniss sein.
aber ich denke nicht, dass es schon beim oncreate geändert wurde...

alcaeus 5. Jun 2005 17:05

Re: .ini wird nicht geladen
 
Zitat:

Zitat von urbanbruhin
aber ich denke nicht, dass es schon beim oncreate geändert wurde...

Denkste. Verknuepfung aufs Programm erstellen, dort beim Ausfuehrungsverzeichnis ein anderes Verzeichnis angeben, und fertig ;)

Greetz
alcaeus

Luckie 5. Jun 2005 17:05

Re: .ini wird nicht geladen
 
Bei einer Verknüpfun, wo ich das Arbeitsverzeicnis geändert habe schon.

100nF 5. Jun 2005 17:08

Re: .ini wird nicht geladen
 
Zitat:

Bei einer Verknüpfun, wo ich das Arbeitsverzeicnis geändert habe schon.
stimmt... da habe ich mal wieder einen schönen blödsinn geschrieben...


aber es ist schon komisch dass der code bei tinibeenie nicht läuft... :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Seite 1 von 2  1 2      

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