Basic Univers
ProcedureDLL TimerStart(TimerId, Delay, ProcedureAdress)
SetTimer_(WindowID(), TimerId, Delay, ProcedureAdress)
EndProcedure
ProcedureDLL TimerKill(TimerId)
KillTimer_(WindowID(), TimerId)
EndProcedure
Procedure Timer1()
SetGadgetState(0, GetGadgetState(0)+ 1)
Beep_(400, 10)
EndProcedure
Procedure Timer2()
SetGadgetState(1, GetGadgetState(1)+ 1)
Beep_(1000, 10)
EndProcedure
Procedure Timer3()
SetGadgetText(2, "Timer 3 Kill Timer 1 and 2")
TimerKill(1)
TimerKill(2)
Beep_(1500, 500)
EndProcedure
OpenWindow(0, 0, 0, 230, 120, #PB_Window_SystemMenu|#PB_Window_ScreenCentered, "Timers with API")
CreateGadgetList(WindowID())
ProgressBarGadget(0, 10, 10, 210, 30, 0, 65, #PB_ProgressBar_Smooth)
ProgressBarGadget(1, 10, 45, 210, 30, 0, 9, #PB_ProgressBar_Smooth)
SetGadgetState(0, 0)
SetGadgetState(1, 0)
TextGadget(2, 10, 80, 210, 30, "Timer 1/2/3 Started", #PB_Text_Center)
TimerStart(1, 150, @Timer1())
TimerStart(2, 1000, @Timer2())
TimerStart(3, 10000, @Timer3())
Repeat
Until WaitWindowEvent()=#PB_EventCloseWindow