vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datum/Zeit und Timer · Timer   |   VB-Versionen: VB4, VB5, VB610.03.04
Stopuhr im Mini-Format

Eine Stopuhr mit geringen Systemressourcen

Autor:   Roland WutzkeBewertung:  Views:  22.921 
www.vb-power.netSystem:  Win9x, Win2k, Win8, Win10, Win11 Beispielprojekt auf CD 

Man braucht sie mal immer wieder - eine Stopuhr. Sei es um den Ladelauf einer Tabelle zu messen, die gerade geschriebene Funktion zu optimieren, den Datendurchsatz im LAN zu prüfen und und und... Es gibt viele Möglichkeiten für den Einsatz einer Stopuhr.

Heute möchten wir Ihnen eine Stopuhr vorstellen, deren Code nicht nur sehr klein ist, sondern auch noch direkt die nötige Formatierung vornimmt.

Fügen Sie den nachfolgenden Code in ein Modul ein:

Public Function StopWatch( _
  Optional RunWatch As Boolean = True, _
  Optional TimeMask As String = "nn:ss") As String
 
  Static Start As Single
 
  Select Case RunWatch
    Case True
      ' Beginn der Zeitmessung
      Start = Timer: StopWatch = "0"
 
    Case Else
      ' Ende der Zeitmessung
      StopWatch = Format$(Int(Timer - Start) * _
        (1 / 86400), TimeMask & ":") & _
        Format$(((Timer - Start) - Int(Timer - Start)) * 1000, "000")
   End Select
End Function

Gestartet wir die Stopuhr ganz einfach mit...

' Zeitmessung starten
Call StopWatch

... und beendet dann so:

' Zeitmessung beenden und Ergebnis 
' in einem Label-Control anzeigen
Label1.Caption = StopWatch(False)

Die dabei gemessene Zeit wird in "Minuten, Sekunden, Millisekunden" zurückgegeben. Über den optionalen Parameter TimeMask kann die Formatierung auch angepasst werden. Die Millisekunden finden dabei keine Berücksichtigung und werden immer zurückgegeben.

Kleines Beispiel:
Ein Recordset soll vollständig ausgelesen und in eine ListBox übertragen werden. Die dafür benötigte Zeit soll in einem Label-Control ausgegeben werden.

' Zeitmessung starten
Call StopWatch
 
' Recordset durchlaufen und Daten in ListBox übertragen
Do Until oRs.Eof
  List1.AddItem oRs.Fields("Name").Value
  oRs.MoveNext
Loop
 
' Benötigte Zeit:
Label1.Caption StopWatch(False)



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(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.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


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.