Einzelnen Beitrag anzeigen

newuser01

Registriert seit: 30. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#1

Fortschrittsanzeige beim Durchsuchen der Festplatte

  Alt 1. Sep 2006, 11:39
Hallo ich bins mal wieder Ich habe diesmal folgendes Problem. Ich möchte wärend die Festplatte nach bestimmten mp3 Dateien durchsucht wird diesen Vorgang auch anzeigen lassen (Progressbar)den Code wie ich nach den Dateien suche habe ich siehe unten. Nun muss das ganze nur noch Zeitgleich mit der Progressbar zusammenarbeiten um den Fortschritt anzuzeigen. Dazu brauche ich ja den Max-Wert der Progressbar den könnte ich ja übergeben in dem ich die ganze Festplatte ersteinmal nach allen mp3 Dateien durchsuchen lasse und dieses dann in eine Stringlist schreibe um dann Count der Stringlist der Progressbar zu übergeben. Danach brauch ich ja dann nur noch über eine Schleife der Progressbar.Position i übergeben soweit meine Idee nur bekomm ich das nicht ganz hin

//hier der Code um bestimmte mp3 Dateien zu suchen

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);
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
end;

procedure TForm1.btnSearchClick(Sender: TObject);
begin

lbAusgabe.Clear;
GetFilesInDirectory(DriveComboBox1.Drive+':\','*'+eSearch.Text+'*.mp3',lbAusgabe.Items,True);


end;
Grüße
Holger
  Mit Zitat antworten Zitat