Oder einfach diesen Parameter nach hinten verlagern.
Bei Verwendung einer Maske wird es schwieriger,
denn die Verzeichnisse dürfen ja nicht über die Maskte gesucht werden.
Also muß man entweder selber den Dateinamen mit der Maske vergleichen oder man sucht in zwei Schritten.
Delphi-Quellcode:
procedure TForm1.scan(path: string; Maske:String;DateiendungAnzeigen:Boolean=true;parent:TTreeNode=nil);
var SR: TSearchRec;
s:string;
begin
path := IncludeTrailingPathDelimiter(path);
if FindFirst(path + '*', faAnyFile, SR) = 0 then
try
repeat
if (SR.Name <> '.') and (SR.Name <> '..')
and (SR.Attr and faDirectory <> 0) then
scan(path + SR.Name, Maske, DateiendungAnzeigen,
TreeView1.Items.AddChild(parent, SR.Name));
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if FindFirst(path + Maske, faAnyFile, SR) = 0 then
try
repeat
if SR.Attr and faDirectory = 0 then
begin
s := SR.Name;
if not DateiendungAnzeigen then
s := ChangeFileExt(s, '');
TreeView1.Items.AddChild(parent, S);
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;