Hallo
Ich habe es ersteinmal so gelöst das in der Prozedur der Ordnername an Form1.Caption übergeben wird damit hätte man eine kleine Statusanzeige zumindetst sieht man das was passiert. Der Nachteil ist das die Suchaktion dadurch doppelt so lange dauert
Delphi-Quellcode:
procedure GetFilesInDirectory(ADirectory: string; AMask: String; AList: TStrings; ARekursiv: Boolean);
var
SR: TSearchRec;
begin
if (ADirectory<>'') and (ADirectory[length(ADirectory)]<>'\') then
ADirectory:=ADirectory+'\';
if (FindFirst(ADirectory+AMask,faAnyFile-faDirectory,SR)=0) then begin
repeat
if (SR.Name<>'.') and (SR.Name<>'..') and (SR.Attr<>faDirectory) then
AList.Add(ADirectory+SR.Name)
until FindNext(SR)<>0;
FindClose(SR);
end;
if ARekursiv then
if (FindFirst(ADirectory+'*.*',faDirectory,SR)=0) then
begin
repeat
if (SR.Name<>'.') and (SR.Name<>'..') then
GetFilesInDirectory(ADirectory+SR.Name,AMask,AList,True);
Form1.Caption := ADirectory; //Aktuelle Ordnername wird an Caption übergeben
until FindNext(SR)<>0;
FindClose(SR);
end;
end;
procedure TForm1.btnSearchClick(Sender: TObject);
begi
lbAusgabe.Clear;
GetFilesInDirectory(DriveComboBox1.Drive+':\','*'+eSearch.Text+'*.mp3',lbAusgabe.Items,True);
end;
Gruß
Holger