mexykanu Posted June 24, 2008 Posted June 24, 2008 (edited) Hi,I'm trying to find a way to pause a timer ( TimerInit() ) but haven't been successfull so far ... i've tried searching the forums but i couldn't find anything that could help me.The script is supposed to be a stopwatch, I'm currently using AdlibEnable to start the timer and AdlibDisable() to stop updating the labels, but i can't find a solution for pausing the timer itself.Any help will be apreciated . Thank you for reading. P.S.: Adlib() is the only way i can get the script to work. (so far) Edited June 24, 2008 by mexykanu
Linux Posted June 24, 2008 Posted June 24, 2008 can you provide a better explanation to what are you trying to do? an example code will also be great You can help! Donate to AutoIt! or, visit ClimatePREDICTION.netMy posts:Travian Bot Example (100+ servers) BETAHow to Host you code/app for free! (unlimited team number) (Public or Private)"Sir, we're surrounded!" "Excellent. We can attack in any direction!"
Triblade Posted June 24, 2008 Posted June 24, 2008 (edited) Why don't you just start and stop it and memorize (in a var ofc ) and finally add all the ms's together? For examples: Edit: This one is a better examples to restart a timerinit (like its started again) Dim $timer, $difference = 0 $timer = TimerInit() Sleep(500) ; Stop 1 $difference = $difference + TimerDiff($timer) $timer = TimerInit() Sleep(243) ; Stop 2 $difference = $difference + TimerDiff($timer) $timer = TimerInit() Sleep(600) ; Stop 3 $difference = $difference + TimerDiff($timer) MsgBox(0,"",$difference) Edited June 24, 2008 by Triblade My active project(s): A-maze-ing generator (generates a maze) My archived project(s): Pong3 (Multi-pinger)
mexykanu Posted June 24, 2008 Author Posted June 24, 2008 The script will simulate a Stopwatch.Here's what i'm trying to do:; A. The function that starts the stopwatch Func start_timer() $Init0 = TimerInit() AdlibEnable("show_timer",60) EndFunc ; B. The function that pauses the stopwatch Func pause_timer() AdlibDisable() EndFunc ; A. The function that resumes the stopwatch Func resume_timer() AdlibEnable("show_timer",60) EndFunc Func show_timer() ;Seconds [Read] String (From the timer) $secz = StringFormat("%.2f", TimerDiff($Init0)/1000) $seconds_time=StringSplit($secz,"."); Seconds > GUI $milisec_time=StringSplit($secz,"."); Milisec > GUI GUICtrlSetData($seconds_disp,$seconds_time[1]); Place Seconds into GUI ctrl GUICtrlSetData($milisec_disp,$milisec_time[2]); Place Milisec into GUI ctrl ; Script for transforming seconds into minutes $minz = StringFormat("%.1f", $seconds_time[1]/60) $minutes_value=StringSplit($minz,".") GUICtrlSetData($minutes_disp,$minutes_value[1]) EndFuncI'm trying to get the Func pause_timer() to pause the TimerInit() function, so that when i press the Resume button, the stopwatch will continue from where it was paused
mexykanu Posted June 24, 2008 Author Posted June 24, 2008 Thank you Triblade, i will try and see if i'll get it to work
Triblade Posted June 24, 2008 Posted June 24, 2008 I just finished messing up your code Dim $Init0, $remember = 0 start_timer() Sleep(500) pause_timer() sleep(100) resume_timer() sleep(100) msgbox(0,"",$remember + Timerdiff($Init0)) ; A. The function that starts the stopwatch Func start_timer() $Init0 = TimerInit() ;AdlibEnable("show_timer",60) EndFunc ; B. The function that pauses the stopwatch Func pause_timer() ;AdlibDisable() $remember += TimerDiff($Init0) EndFunc ; A. The function that resumes the stopwatch Func resume_timer() ;AdlibEnable("show_timer",60) $Init0 = TimerInit() EndFunc My active project(s): A-maze-ing generator (generates a maze) My archived project(s): Pong3 (Multi-pinger)
Linux Posted June 24, 2008 Posted June 24, 2008 HotKeySet("^v","Start_timer") HotKeySet("^c","Pause_timer") HotKeySet("^b","Resume_timer") Global $PausedTimer Global $Init0 while 1 WEnd ; A. The function that starts the stopwatch Func start_timer() $Init0 = TimerInit() AdlibEnable("show_timer",60) EndFunc ; B. The function that pauses the stopwatch Func pause_timer() AdlibDisable() $PausedTimer = TimerInit() EndFunc ; A. The function that resumes the stopwatch Func resume_timer() AdlibEnable("show_timer",60) $Init0 = $Init0 + TimerDiff($PausedTimer) * 3600 EndFunc Func show_timer() consoleWrite(@CRLF & Floor(TimerDiff($Init0)/100)) Simple... You can help! Donate to AutoIt! or, visit ClimatePREDICTION.netMy posts:Travian Bot Example (100+ servers) BETAHow to Host you code/app for free! (unlimited team number) (Public or Private)"Sir, we're surrounded!" "Excellent. We can attack in any direction!"
mexykanu Posted June 25, 2008 Author Posted June 25, 2008 Thank you all for the quick replies Triblade's first reply solved my issue. Thank you again
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now