Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Kein Zugriff auf INI-File (https://www.delphipraxis.net/91221-kein-zugriff-auf-ini-file.html)

neus 1. Mai 2007 18:57


Kein Zugriff auf INI-File
 
Hallo,

ich lasse ein Programm laufen und möchte Userinfos speichern. Unbedingt außerhalb der Registry, da die Ini für Logfunktionen genutzt wird und auf einen Netzlaufwerk geshared wird (es ist nur ein seh rsehr kleines Programm).

Ich möchte die ganzen sache in einen tree ausgeben.

+ Bereich 1
- Auto = Opel
- Preis = 10000
+ Bereich 2
- Fahrer = Steffen
- Beifahrer = Anke

Normal gehts mit Listboxen:
ini.ReadSections(Listbox1.Items);

Aber wie mit den Bäumen, ich blicks überhaupt nicht, weil da natürlich die Ebenen rein müssen ?
ini.ReadSections(Treeview1.Items);

mkinzler 1. Mai 2007 19:02

Re: Kein Zugriff auf INI-File
 
Hier würde sich eine XML-Datei anbieten

neus 1. Mai 2007 19:14

Re: Kein Zugriff auf INI-File
 
Zitat:

Zitat von mkinzler
Hier würde sich eine XML-Datei anbieten

Ja ich dachte es mir fast, ziemlich heftig wenn man grade erst am erlernen ist :-(.
Kannst du mir eine Bibliothek/Tutorial empfehlen (möchte kein .NET verwenden) ?

BenjaminH 1. Mai 2007 19:18

Re: Kein Zugriff auf INI-File
 
Welche Delphi Version hast du?
Turbo Delphi kann dir aus einer vorliegenden Datei ganz praktische Klassen erstellen. Damit geht das ziemlich flott.

_frank_ 2. Mai 2007 14:45

Re: Kein Zugriff auf INI-File
 
meinst du eine einfache Anzeige der "normalen" ini-datei (also nur 2 ebenen)?

wenn ja, dann hab ich das mal fix zusammengeschrieben:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ini:TIniFile;
  sl_s,sl_v:TStringlist;
  i,j: integer;
  tn:TTreenode;
begin
  ini:=TIniFile.create('C:\windows\Win.ini');
  sl_s:=TStringlist.create;
  sl_v:=TStringlist.create;
  ini.ReadSections(sl_s);
  for i:=0 to sl_s.Count-1 do
  begin
    tn:=Treeview1.items.add(nil,sl_s.strings[i]);
    ini.ReadSection(sl_s.strings[i],sl_v);
    for j:=0 to sl_v.Count-1 do
    begin
      Treeview1.Items.AddChild(tn,sl_v.strings[j]+' = '+ini.ReadString(sl_s.strings[i],sl_v.Strings[j],'<undefiniert>'));
    end;
  end;
  sl_v.free;
  sl_s.free;
  ini.free;
end;
wenn du mehr Ebenen brauchst, solltest du xml dem ini-Format vorziehen.

HTH Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 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