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 14.944 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |