devxlogo

Allow Interval Greater Than Timer Controls

Allow Interval Greater Than Timer Controls

When you need a timer for a larger interval than the Timer control allows, insert this code into a BAS module. The procedure starts when the timer interval has passed:

 Dim lTimerId As LongPrivate Declare Function SetTimer Lib "user32" _(ByVal hWnd As Long, ByVal nIDEvent As _Long, ByVal uElapse As Long, ByVal _lpTimerFunc As Long) As LongPrivate Declare Function KillTimer Lib _"user32" (ByVal hWnd As Long, ByVal _nIDEvent As Long) As LongPrivate Sub TimerProc(ByVal lHwnd As Long, _ByVal lMsg As Long, ByVal lTimerId As Long, _ByVal lTime As Long)Dim lResult As LonglResult = StopTimer(lTimerId)Call InsertYourProcessNameHere'code to be executed after intervalEnd SubPublic Sub StartTimer(lInterval As Long) _'convert interval to milliseconds prior to'passinglTimerId = SetTimer(0, 0, lInterval, _AddressOf TimerProc)End SubPublic Function StopTimer(lTimerId As Long) _As Long'must pass the TimerId returned by SetTimerStopTimer = KillTimer(0, lTimerId)End FunctionThis call executes the procedure:Call StartTimer(5000) '5 seconds

You can stop the timer before the interval by calling the StopTimer function.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist