hi leute ich habe einen code zusammengebastelt der mir erlaubt auf meinem pc mittels FindAllfiles rekursiv nach datein zu suchen, die links der gefundenen dateien werden bei mir in einer combobox ausgegeben und ich möchte diesen vorgang gerne entweder in einer progressbar darstellen oder zumindest den fortschritt angezeigt bekommen wie viele dateien schon gefunden wurden wobei ich das finden der dateien life miterleben will. ich möchte nicht nur das endergebnis wissen wie viele datein gefunden wurde, sondern beim programmlauf sehen dass die zahl der gefundenen dateien größer wird.über eine der beiden mögligkeiten würd ich mich freuen am besten natürlich über beide. Ich bin noch ein programmieranfänger deshalb wäre ein codeschnipsel nicht schlecht. am besten gleich mit erklärung wie ich das auszuführen habe und welche sachen ich dafür brauch
delphi code:
Delphi-Quellcode:
procedure GetFilesInDirectory(Directory: string; const Mask: string;
List: TStrings;
WithSubDirs, ClearList: Boolean);
procedure ScanDir(const Directory: string);
var
SR: TSearchRec;
begin
if FindFirst(Directory + Mask, faAnyFile and not faDirectory, SR) = 0 then try
repeat
counter := counter +1;
List.Add(Directory + SR.Name)
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if WithSubDirs then begin
if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then try
repeat
if ((SR.attr and faDirectory) = faDirectory) and
(SR.Name <> '.') and (SR.Name <> '..') then
ScanDir(Directory + SR.Name + '\');
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end;
begin
List.BeginUpdate;
try
if ClearList then
List.Clear;
if Directory = '' then Exit;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
ScanDir(Directory);
finally
List.EndUpdate;
end;
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
GetFilesInDirectory(edit1.text, '*.'+edit2.text, Listbox1.Items, checkbox1.Checked, True);
if counter >1 then
begin
label1.caption := 'Es wurden '+inttostr(counter)+' '+edit2.text+' Dateien gefunden.';
end
else
label1.caption := 'Es wurde '+inttostr(counter)+' '+edit2.text+' Datei gefunden.';
counter:=0;
end;