Kontakt
DSVGO
Historie | |
---|---|
25.11.2002 | Nutzung der API-Routine Sleep, um die prozentuale CPU-Nutzung (s. Task-Manager) niedrig zu halten. |
Zeitmessungen können entweder mit Timer oder mit Now durchgeführt werden. Beide haben ihre Vor- und Nachteile:
Während Timer die Zeit auf Sekundenbruchteile genau angibt (allerdings maximal bis Mitternacht, da es dann wieder bei 0 losgeht), läuft Now durchgehend bis ins Jahr 9999 (allerdings nur auf eine Sekunde genau).
Die folgende Funktion gibt einen Zeitstempel zurück (analog zu Now), der jedoch auf Sekundenbruchteile genau ist, also die Vorteile der beiden o.g. Varianten verbindet:
Public Function TimeStamp( _ Optional ByVal Seconds As Double _ ) As Double TimeStamp = Int(Now) + (Timer + Seconds) / 86400 End Function
Man beachte, dass optional ein Zeit-Offset in Sekunden angegeben werden kann. Dadurch ist z.B. die Realisierung einer Pausen-Routine sehr einfach:
'Im Deklarationsteil: Private Declare Sub Sleep Lib "kernel32" ( _ ByVal dwMilliseconds As Long)
'Die Prozedur: Public Sub Pause( _ ByVal Seconds As Double, _ Optional ByVal Events As Boolean = False _ ) Dim t As Double t = TimeStamp(Seconds) Do Until TimeStamp >= t Sleep 1 If Events Then DoEvents Loop End Sub
© Jost Schwider, 20.05.2000-25.11.2002 - http://vb-tec.de/timestmp.htm