Also meine aktuelle Routine sieht so aus:
Delphi-Quellcode:
procedure TForm1.scan(path: string; parent: TTreeNode = nil;Maske:String='*.*';DateiendungAnzeigen:Boolean=true);
var SR: TSearchRec;
s:string;
tmparray: array of string;
begin
path := IncludeTrailingPathDelimiter(path);
SetLength(tmparray,0);
if FindFirst(path + '*', faAnyFile, SR) = 0 then
try
repeat
if (SR.Name <> '.') and (SR.Name <> '..') then
if SR.Attr and faDirectory = 0 then
begin
//TreeView1.Items.AddChild(parent, SR.Name);
s := SR.Name;
if not DateiendungAnzeigen then
s := ChangeFileExt(s, '');
TreeView1.Items.AddChild(parent, S);
end
else
scan(path + SR.Name, TreeView1.Items.AddChild(parent, SR.Name),Maske,DateiendungAnzeigen);
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
Und so rufe ich auf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
scan(Edit1.Text,TreeView1.Items.Item[0],'*.txt',false);
end;
Ich hab einfach mal ein Testprojekt gemacht, indem ich ein Editfeld (für den Pfad), ein Button und das TreeView hab. Ich klick auf den Button und dann liest der den Ordner vom Editfeld in das TreeView ein.