Einzelnen Beitrag anzeigen

Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#1

TTreeView: Verzeichnisliste

  Alt 5. Okt 2005, 16:28
Hallöchen,

ich kann mir vorstellen, dass das hier schon 100 mal gefragt wurde, aber mit einschlägigen Suchbegriffen bin ich nicht weit gekommen

Ich möchte einfach nur gerne, dass in einem TTreeView die Verzeichnisse eines Laufwerks aufgelistet werden. Gerne dürfen die Laufwerke auch die ersten Knotenpunkte im TreeView sein. Nachdem ein Ordner angeklickt wurde, sollte dann in einem Listview (oder Listbox?) die Dateien angezeigt werden, die in diesem Ordner liegen. *Rauft sich die Haare* Das kann doch so schwer nicht sein

Ich habe schon was gefunden (Link), aber das dauert ziemlich lange und ich möchte keine 60sek warten, bis meine 10GB-Platte aufgelistet wurde :-/ Der Code von dort sieht so aus:
Delphi-Quellcode:
public
    procedure FillTreeView(Path: String; RootNode: TTreeNode);
  end;

var
  Form1: TForm1;

implementation

procedure TForm1.FillTreeView(Path: String; RootNode: TTreeNode);
var sResult: Integer;
    SearchRec: TSearchRec;
    TempNode: TTreeNode;
begin
  sResult := FindFirst(Path+'\*.*',faDirectory,SearchRec);
  while sResult = 0 do
  begin
    if (SearchRec.Name = '.') or (SearchRec.Name = '..') then
    begin
      sResult := FindNext(SearchRec);
      Continue;
    end;
  
    if SearchRec.Attr and faDirectory = faDirectory then
    begin
      TempNode := TreeView1.Items.AddChild(RootNode,SearchRec.Name);
      FillTreeView(Path+'\'+SearchRec.Name,TempNode);
    end;
    
    sResult := FindNext(SearchRec);
  end;
  FindClose(SearchRec);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  FillTreeView(Edit1.Text,TreeView1.Items.Add(nil,Edit1.Text));
end;
Ich wäre für Hilfe/Links echt dankbar!

Grüße,
Aike
Achim
  Mit Zitat antworten Zitat