Cross-midnight time measurements

Cross-midnight time measurements

Any time the behavior of your code depends on the Timer function you should take into account the (more or less) remote possibility that your code is executed just before midnight. Take for example the following code:

Sub Pause(seconds as Single)    Dim initTime as Single    initTime = Timer     Do: Loop Until Timer >= initTime + secondsEnd Sub

If this code is executed at 23:59:59 (or even earlier, depending on the value of the seconds argument), the Do-Loop will never end, and the user will have to kill the program from the Task Manager. The worst facet of this problem is that the bug can manifest months or even years after you’ve installed the program, which would leave you clueless about its causes.

Here’s the fix for the above routine:

Sub Pause(seconds as Single)    Dim initTime As Single, currTime As String    initTime = Timer     Do        currTime = Timer    Loop Until currTime >= initTime + seconds Or (currTime < initTime And _        currTime > initTime + seconds - 86400)End Sub

If you don’t need the pause to be really precise, and you’re satisfied with an integer number of seconds, you can also use this simpler approach:

Sub Pause(seconds as Single)    Dim initTime as Date    initTime = Now    Do: Loop Until DateDiff("s", initTime, Now) >= secondsEnd Sub

An even simpler way to insert a pause that work across midnite is by means of the Sleep API function. See the link below to learn how to use this function.

Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved