Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.214 Beiträge
 
Delphi 12 Athens
 
#13

Re: Fortschrittsanzeige beim Durchsuchen der Festplatte

  Alt 4. Sep 2006, 14:07
Das liegt daran, das du jedes erzeichnis anzeigst, welches ganz schön bremst.

Entweder du zeigst das nur alle 'ner gewissen Zeit (welches is inzwischen bevorzuge),
oder nur jedes x-te Verzeichnis an.


per Zeitintervall:
-Vorteil: unterumständen schwerer zu implementieren
-Nachteil: überall etwa gleiches Anzeigeverhalten

jedes x-te:
-Vorteil: ganz leichte Implementierung
Delphi-Quellcode:
// zu Begin
X := 0;

// bei jedem Durchgang
Inc(X);
If X and $1F = 0 Then anzeigen; // jedes 32. Mal
-Nachteil:
auf schnellen Rechnern kann das Intervall zu kurz sein und die Anzeige bremst dennoch aus.
Und auf langsamen PCs, oder anderweiligen Verzögerungen kann die Aktualisierung der Anzeige schonmal recht große Pausen einlegen.


Hab mal ein bissl rumkompiliert..
Die Sync-Version zeigt auch jede Kleinigkeit an und ist daher langsamer.
Bei der Timer wird nur nach mindestens 100ms angezeigt (außerdem wurde dort für den ZählThread die CPU-Zeit und der Laufwerkszugriff optimiert).
Und in der Timer_ sind keine Optimierungen und die ProgressBar wird als solche angezeigt ... man wird da schonal leicht sehen können, daß da die ProgressBar rückwärts gehen und auch gewaltige Sprünge machen kann. (weßhalb ich wärend des Zählens die Bar eigentlich "ausblende")

Zum Test reicht es, wie schonmal erwähnt, wenn man beide Male das selbe Laufwerk angibt ... z.B. "C:\"
Angehängte Dateien
Dateityp: exe directorycompare_lockandtimer__132.exe (163,0 KB, 10x aufgerufen)
Dateityp: exe directorycompare_lockandtimer_298.exe (163,0 KB, 10x aufgerufen)
Dateityp: exe directorycompare_sync_184.exe (163,0 KB, 11x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat