Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ProgressBar bei der Festplattensuche einbringen (https://www.delphipraxis.net/40828-progressbar-bei-der-festplattensuche-einbringen.html)

St.Pauli 21. Feb 2005 18:00


ProgressBar bei der Festplattensuche einbringen
 
Hi, ich will eine ProgressBar bei der Festplattensuche einbringen,
habe aber absolut keine Idee wie ich das machen sollte. Ich verwende die Funktion hier:

Delphi-Quellcode:
procedure GetFilesInDirectory(Directory: String; const m1 : String; List: TStrings; WithSubDirs, ClearList: Boolean);

procedure ScanDir(const Directory: String);
var
  SR: TSearchRec;
begin
  IF FindFirst(Directory + m1, faAnyFile and not faDirectory, SR) = 0 THEN TRY
    REPEAT
            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) <> 0) 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;
Bis jetzt hatte ich das immer so gemacht, das ich suche (GetFiles...), dann die ProgressBar bewege, und dann das nächste suche, dann wieder die ProgressBar bewege.....
So stockt das aber immer ganzschön!
Dann hatte ich mal Probiert das ich erst alle Dateien auf der Festplatte in eine ListBox lade und dann diese ListBox nach den Dateien durchsuche. Bei der Suche in der ListBox konnte ich ListBox1.Items.Count verwenden. Dauerte aber sehr sehr lange, deswegen suche ich nach einer anderen Lösung.

Hoffentlich hat einer von euch ne Idee :-D :-D

gekmihesg 21. Feb 2005 18:21

Re: ProgressBar bei der Festplattensuche einbringen
 
Hier


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz