Also ersteinmal Danke für die schnellen Antworten Ich habe mir mal das FindAllFilesProgress_Demo.zip angesehen bei diesem Beispiel wird ja die ganze Festplatte nach allen Dateien durchsucht mit Fortschritt. Meine Frage warum das ganze neu erfinden könnte man diese Funktion nich umbauen so das nicht alle Files aufgelistet werden sondern nur bestimmte die gesucht (DriveComboBox1.Drive+':\','*'+eSearch.Text +'*.mp3') werden ?
also nicht ThreadParams.Mask := '*.*';
sondern ThreadParams.Mask :=DriveComboBox1.Drive+':\','*'+eSearch.Text +'*.mp3'
Ich habe es schon so versucht erst wird die Platte durchsucht und alles in eine ListBox eingetragen mit dem Code aus dem Demo und danach übergebe ich Count dieser ListBox der Progressbar.Max und führe anschließend meinen Code aus und suche bestimmte dateien Das funktioniet ist aber nicht besonders schön da die Aktion (Suchen) nicht genau zeitgleich mit der Aktion (Fortschritt) ist
//Auszug aus dem Demo
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
ThreadParams : PThreadParams;
begin
RichEdit1.Clear;
New(ThreadParams);
try
ThreadParams.Handle :=
Handle;
ThreadParams.RootFolder := Edit1.Text;
ThreadParams.Mask := '
*.*';
ThreadParams.Recurse := True;
ThreadParams.Progress := True;
WaitForThread(@ThreadFunc, ThreadParams);
except
on E:
Exception do ShowMessage(E.
Message);
end;
end;
Grüße
Holger