NowTimer




#If Win16 Then
Private Declare Function timeGetTime Lib _
"MMSYSTEM.DLL" () As Long
#Else
Private Declare Function timeGetTime Lib "winmm.dll" _
() As Long
#End If
Function BetterNow() As Date
Static offset As Date
Static uptimeMsOld As Long
Dim uptimeMsNew As Long
Const oneSecond = 1 / (24# * 60 * 60)
Const oneMs = 1 / (24# * 60 * 60 * 1000)
uptimeMsNew = timeGetTime()

' check to see if it is first time function called or

' if timeGetTime rolled over (happens every 47 days)

If offset = 0 Or uptimeMsNew < uptimeMsOld Then
offset = Date - uptimeMsNew * oneMs + CDbl(Timer) * _
oneSecond
uptimeMsOld = uptimeMsNew
End If
BetterNow = uptimeMsNew * oneMs + offset
End Function

Sostituzione per Now() e Timer()










( nowtimer.html )- by Paolo Puglisi - Modifica del 17/12/2023