Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI Dateien auslesen (https://www.delphipraxis.net/3206-ini-dateien-auslesen.html)

Pseudemys Nelsoni 28. Feb 2003 16:13


INI Dateien auslesen
 
moinmoin

siehe topic, hab danah auch schon im forum gesucht und alles gelesen kompilieren lässt sich das ganze zwar aber irgendwie funzt der code nicht:

Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
var settings: TIniFile;
begin
  settings := TIniFile.Create('settings.ini');
  settings.ReadString('Nick', 'nickname', edit1.Text);
end;
möchte aus der datei was auslesen und es in einer editbox anzeigen lassen

...btw isses normal das ich bei "uses" das "inifiles" selbst eintragen musste? sonst geht das doch immer von selbst

gruss mario

Daniel B 28. Feb 2003 16:31

Moin silent,

Du musst noch die INI freigeben.
Das geht mit
settings.Free;
oder besser:
FreeAndNil(settings);
Und aussehen sollte es eh ein bisschen anders. //Sicherheitshalber

Delphi-Quellcode:
begin
  Ini := TIniFile.Create('Meine.ini');
  try
    Ini.ReadIrgendwas();
  finally
    FreeAndNil(Ini);
  end;
end;
Grüsse, Daniel :hi:

nailor 28. Feb 2003 16:54

das try braucht man eigentlich nicht. Falls es misslingt, wird ja ein default genommen...

Daniel B 28. Feb 2003 17:00

Zitat:

Zitat von Nailor
das try braucht man eigentlich nicht.

Ich hab ja auch "Sicherheitshalber" geschrieben. Es geht auch ohne.
Dennoch sollte man es verwenden.

Grüsse, Daniel :hi:

sakura 28. Feb 2003 17:09

Zitat:

Zitat von Nailor
das try braucht man eigentlich nicht. Falls es misslingt, wird ja ein default genommen...

Das System kann auch aus ganz anderen Gründen abstürzen. Den try...finally...end sollte man fast immer nutzen, auch wenn es auf den ersten Blick überflüssig erscheint.

...:cat:...

Pseudemys Nelsoni 28. Feb 2003 18:13

huhu, danke für die antworten, funzt aber immer noch nicht.
hab das jetzt so:

Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
var settings: TIniFile;
begin
  settings := TIniFile.Create('settings.ini');
  Try
    settings.ReadString('Nick', 'nickname', edit1.Text);
  finally
    FreeAndNil(settings);
  end;
end;
aber das edit feld bleibt beim onactivate und oncreate leer

meine ini sieht so aus:

[nick]
nickname=test
passwort=test

gruss ^^

Daniel B 28. Feb 2003 18:15

:mrgreen:
Du hast da was missverstanden.
Sollte so aussehen:
Delphi-Quellcode:
Edit1.Text := Settings.ReadString('Nick', 'NickName', '');
Du willst ja das was in der ini ist, dem Edit zuweisen!

Grüsse, Daniel :hi:

Christian Seehase 28. Feb 2003 18:52

Moin Mario,

was Du auch noch auf jeden Fall bedenken solltest:

Wenn Du

Delphi-Quellcode:
 TIniFile.Create('Settings.ini');
benutzt, muss sich die Datei beim Create im Windos Verzeichnis befinden, was aber etwas unpraktisch ist (das irgendein anderes Programm den gleichen Namen für seine INI verwendet ist ja nicht ganz unwahrscheinlich.
Besser wäre es immer einen genauen Pfad anzugeben, wo sich die INI befindet z.B.

Delphi-Quellcode:
TIniFile.Create(ExtractFilePath(paramstr(0))+'settings.ini');
für das Programmverzeichnis.

Daniel B 28. Feb 2003 18:57

Moin Christian, reh :mrgreen:
Zitat:

Zitat von Christian Seehase
benutzt, muss sich die Datei beim Create im Windos Verzeichnis befinden, was aber etwas unpraktisch ist (das irgendein anderes Programm den gleichen Namen für seine INI verwendet ist ja nicht ganz unwahrscheinlich.

Zustimm.
Man könnte aber auch noch gleich den Dateinamen einfach übernehmen. Die liegt im gleichen Verzeichniss und hat den gleichen Dateinamen.
Delphi-Quellcode:
ini := TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
Grüsse, Daniel :hi:

Pseudemys Nelsoni 28. Feb 2003 18:59

hoi,

jo danke nun klappts, aber kann ichs noch so machen das ich das so angeben kann das die ini da ist wo auch die exe ist, statt "C:\Programme\Borland\Delphi6\bla\settings.ini " ??


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.
Seite 1 von 3  1 23      

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