applescriptで条件を満たす場合にrepeatを抜けたい
(以前の質問の続きです 以前の質問)
以下のコードにおいて,
endTime
が数値に変換可能で,かつstartTime
より大きい場合にrepeat
を抜けるloopCount
が1以上の場合にrepeat
を抜ける
という処理をしようとしているのですが,条件を満たしているように見える場合でもexit repeat
が実行されません.
長いのですが,書いているコードをすべて載せます.
なぜexit repeat
が実行されないのかわかりません.
どうぞご教授願います.
choose file
set fileName to result
setStartTime("set start time (seconds)")
on setStartTime(thePrompt)
repeat
display dialog thePrompt default answer ""
set theString to text returned of result
try
set num to theString as number
exit repeat
end try
end repeat
return num
end setStartTime
set startTime to result
setEndTime("set end time (seconds)")
on setEndTime(thePrompt)
repeat
display dialog thePrompt default answer ""
set theString to text returned of result
try
set num to theString as number
if num > startTime then exit repeat
end try
end repeat
return num
end setEndTime
set endTime to result
setLoopCount("set how many times the video will be played")
on setLoopCount(thePrompt)
repeat
display dialog thePrompt default answer ""
set theString to text returned of result
try
set num to theString as integer
if num >= 0 then exit repeat
end try
end repeat
return num
end setLoopCount
set loopCount to result
tell application "QuickTime Player"
activate
set tDoc to open fileName
tell tDoc
repeat while (loopCount > 0)
set the presenting to true
set current time to startTime
play
repeat while (current time < endTime)
delay 1
end repeat
set loopCount to (loopCount - 1)
end repeat
stop
end tell
close tDoc
end tell