Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Große Ini-Datei in TreeView einlesen (https://www.delphipraxis.net/114932-grosse-ini-datei-treeview-einlesen.html)

Aurelius 3. Jun 2008 18:11

Re: Große Ini-Datei in TreeView einlesen
 
Ich hab das jetzt mal mit TMemIniFile getestet, allerdings ist meine Section-Stringlist dann komplett leer. Ändere ich das aber in TIniFile "funktioniert" es wieder...

edit: Auch TMemIni kann nicht mit diesen großen Inis umgehen, ich habs mal mit einer kleinen getestet --> hat geklappt. Langsam verzwifel ich hier

bitsetter 3. Jun 2008 20:06

Re: Große Ini-Datei in TreeView einlesen
 
Hast du es nun inzwischen schon mal mit TBigIniFile von Torry.net versucht?

Aurelius 4. Jun 2008 10:24

Re: Große Ini-Datei in TreeView einlesen
 
Habe es gerade getestet, geht leider auch nicht...

alzaimar 4. Jun 2008 10:29

Re: Große Ini-Datei in TreeView einlesen
 
Gehts damit?

Aurelius 4. Jun 2008 10:39

Re: Große Ini-Datei in TreeView einlesen
 
Nein, geht nicht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ini : TFIniFile;
    Sections, Werte : TStrings;
    i, j : integer;
    Knoten : TTreeNode;
begin
  Ini := TFIniFile.Create('C:\Test.reg');
  Sections := TStringList.Create;
  Werte := TStringList.Create;
  try
    Ini.ListSections(Sections);
    for i := 0 to Sections.Count - 1 do
    begin
      Knoten := rtv.Items.AddChild(nil,Sections[i]);
      {Ini.ReadSectionValues(Sections[i],Werte);
      for j := 0 to Werte.Count - 1 do
      begin
        rtv.Items.AddChild(Knoten,Werte[j])
      end;}
    end;
  finally
    Ini.Free;
    Sections.Free;
    Werte.Free;
  end;
end;

alzaimar 4. Jun 2008 10:49

Re: Große Ini-Datei in TreeView einlesen
 
Kann ich nicht nachvollziehen:
Delphi-Quellcode:
Var
  s : TStringlist;
  i,j : Integer;
  x : String;
  m : TMemIniFile;

begin
  s :=Tstringlist.create;
  For i:=0 to 1000 do begin
    x := Format('Section_%d',[i]);
    s.add('['+x+']');
    For j:=1 to 100 do
    s.add('Value_'+x+'_'+IntToStr(j));
    End;
  s.savetofile ('c:\test.reg');
  s.clear;
  m := TMemIniFile.Create('c:\test.reg');
  m.ReadSections(s);
  Showmessage(IntToStr(s.count));
  m.free;
  s.Free;
end;
Hingerotzt, liefert aber korrekte '1001'.

Aurelius 4. Jun 2008 11:17

Re: Große Ini-Datei in TreeView einlesen
 
Ich habe die Vermutung dass es WideStrings sein müssen. Dazu habe ich bei TFIniFile.ListSections(Dest: TWStrings); die WStrings aus JclWideStrings hinzugefügt. Jetzt arbeitet er auch, allerdings ist meine Liste immer noch leer...

Aurelius 5. Jun 2008 13:47

Re: Große Ini-Datei in TreeView einlesen
 
*uff* Thread nach oben schieb *stöhn*

itashadow 2. Okt 2008 13:47

Re: Große Ini-Datei in TreeView einlesen
 
gibts hier inzwischen ne lösung?:(

ok hat sich glaub ich erledigt...

(hatte ein paar leerzeilen in der ini und da ist er bei readsections rausgesprungen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 Uhr.
Seite 2 von 2     12   

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