PDA

View Full Version : AppleScript Repeat For x Seconds




jcs801
Feb 19, 2013, 05:58 PM
I need AppleScript to repeat for a certain number of seconds. I was thinking "repeat for x seconds" but that doesn't work. Notice: This is not delay, I want the repeat to stop after x seconds.



jcs801
Feb 19, 2013, 06:16 PM
Oh, and also, a command that repeats the script until "esc" is pressed

ytk
Feb 19, 2013, 08:54 PM
You just want it to run a loop as fast as possible for a specific duration?

set start_value to do shell script "ruby -e 'print Time.now.to_f'"
repeat while true
-- Your code goes here
set end_value to do shell script "ruby -e 'print Time.now.to_f'"
if end_value - start_value ≥ 1 then
exit repeat
end if
end repeat


The above code will run through a loop for one second. Change the value in the if statement to adjust the amount of time. Note that you can also specify partial seconds, such as 2.5.

Can't help you with your other problem.

jcs801
Feb 19, 2013, 09:06 PM
You just want it to run a loop as fast as possible for a specific duration?

set start_value to do shell script "ruby -e 'print Time.now.to_f'"
repeat while true
-- Your code goes here
set end_value to do shell script "ruby -e 'print Time.now.to_f'"
if end_value - start_value ≥ 1 then
exit repeat
end if
end repeat


The above code will run through a loop for one second. Change the value in the if statement to adjust the amount of time. Note that you can also specify partial seconds, such as 2.5.

Can't help you with your other problem.



Where you put where my code goes, I can put anything, even delays?

Thanks for helping!
jcs801

jcs801
Feb 19, 2013, 10:13 PM
You just want it to run a loop as fast as possible for a specific duration?

set start_value to do shell script "ruby -e 'print Time.now.to_f'"
repeat while true
-- Your code goes here
set end_value to do shell script "ruby -e 'print Time.now.to_f'"
if end_value - start_value ≥ 1 then
exit repeat
end if
end repeat


The above code will run through a loop for one second. Change the value in the if statement to adjust the amount of time. Note that you can also specify partial seconds, such as 2.5.

Can't help you with your other problem.

Woah dude, this is amazing. Thanks! I will vote up on your post.

Btw, if you would guess my age between 10 and 30, how old would you think I am?