Verschiebt oder kopiert man im Windows-Explorer mehrere Dateien, zeigt ein Dialog den Fortschritt und die verbleibende Zeit. Mit dem Tip Was aber, wenn man aus bestimmten Gründen diese Dialoge nicht nutzen kann (oder möchte), aber trotzdem die verbleibende Zeit benötigt? Hier hilft der von vielen geliebte Dreisatz. Benötigt wird:
Die im folgenden vogestellte Funktion TimeRemain benötigt:
Daraus wird zunächst die Zeit, die für eine Dateioperation benötigt wurde ermittelt. Dieser Wert wird dann auf die noch übrig gebliebenen Dateien hochgerechnet. In der Praxis sieht das so aus: ' Für das Beispiel sei angenommen, dass Dateien kopiert werden sollen ' und die zu kopierenden Dateien im Array arrFiles() liegen. Private Sub cmdCopy_Click() Dim Start As Single Dim Dateien As Long Dim i As Long ' Startzeit festlegen Start = Timer ' Anzahl der zu kopierenden Dateien bestimmen ' (da das Array bei 0 (Null) beginnt, ist die Anzahl der Dateien der ' obere Index des Arrays + 1) Dateien = UBound(arrFiles) + 1 For i = LBound(arrFiles) To UBound(arrFiles) ' Datei kopieren FileCopy "C:\temp\" & arrFiles(i), "C:\Temp1\" & arrFiles(i) ' Restzeit anzeigen ' (da das Array bei 0 (Null) beginnt, ist die Anzahl der bereits ' kopierten Dateien i + 1) Label1.Caption = "Verbleibende Zeit: " & TimeRemain(Start, Dateien, i + 1) & " Sekunden" Next i End Sub Private Function TimeRemain(Start As Single, Dateien As Long, _ Kopiert As Long) As Long Dim Vergangen As Single Dim Rest As Long Dim Tmp As Double ' Start: Zeit, wann mit der Operation begonnen wurde ' Dateien: Anzahl aller Dateien ' Kopiert: Anzahl der bereits kopierten Dateien ' Vergangen: Zeit, die seit dem Start der Operation verstrichen ist ' Rest: Zeit, die für die restlichen Dateien benötigt wird ' Tmp: Zeit, die für eine Datei benötigt wurde (Durchschnitt) ' Zeit, die seit dem Start der Operation verstrichen ist Vergangen = Timer - Start ' Zeit, die für eine Datei benötigt wird (Durchschnitt) Tmp = Vergangen / Kopiert ' Zeit, die für die restlichen Dateien benötigt wird ' restliche Dateien = Dateien - Kopiert Rest = (Dateien - Kopiert) * Tmp TimeRemain = Rest End Function Dieser Tipp wurde bereits 16.641 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Heinz Prelle Datei-Mehrfachauswahl an eine ListBox übergeben Dieser Tipp zeigt, wie Sie über den Windows-CommonDialog eine Mehrfach-Dateiauswal realisieren... sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


Restzeit für Dateioperationen ermitteln


