Func GetTimeToNearestEvent()
If ((@HOUR > 01 AND @HOUR < 14) OR (@HOUR = 01 AND @MIN > 10)) THEN ;nearest Event at 14:00
$BeginHour = 13
$BeginMin = 58
ElseIf(@HOUR > 14 AND @HOUR < 19) OR (@HOUR = 14 AND @MIN > 10) THEN ;nearest Event at 19:00
$BeginHour = 18
$BeginMin = 58
ElseIf(@HOUR > 19) OR (@HOUR < 01) OR (@HOUR = 19 AND @MIN > 10) THEN ;nearest Event at 01:00
$BeginHour = 24 + 0
$BeginMin = 58
ElseIf(@HOUR = 14 AND @MIN <= 10) OR (@HOUR = 19 AND @MIN <= 10) OR (@HOUR = 01 AND @MIN <= 10)THEN ;Need to start right now
$BeginHour = @HOUR
$BeginMin = @MIN+1
EndIf
$timeleftms = ($BeginHour - @HOUR)*60*60*1000 + ($BeginMin - @MIN)*60*1000 + (0 - @SEC)*1000
If $timeleftms < 0 Then
$timeleftms = 5000 ;5sec - minimum delay to timer
EndIf
Return $timeleftms
EndFunc
Func SetTimers()
Debug('SetTimers');
Local $timeleftms,$BeginHour,$BeginMin
$timeleftms = GetTimeToNearestEvent()
$EventTimer = _Timer_SetTimer($hGUI, $timeleftms ,"_MyAction", $EventTimer)
EndFunc;