Тема: AHK: Таймер с паузой.
Здравствуйте! Как можно сделать таймер с паузой? Через Sleep не получается, тогда может через loop? Я просто не уверен, что в loop всё будет правильно с таймингами. Заранее спасибо.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте! Как можно сделать таймер с паузой? Через Sleep не получается, тогда может через loop? Я просто не уверен, что в loop всё будет правильно с таймингами. Заранее спасибо.
i := 0
F1::SetTimer Action, -1
F2::Pause
Esc::ExitApp
Action:
ToolTip % ++i
Sleep 500
SetTimer Action, -1
Return
stealzy, я поставил вместо 500 - 1000, что-бы было по секундам,но вроде-бы там время немного запаздывает. Нужно поставить 998? Или мне просто кажется, что оно опаздывает? Или когда я нажимаю NumPad3, то Action перестаёт на эту секунду работать?
NumPad1::SetTimer Action, -1
NumPad2::Pause
NumPad3::
tooltip %i%
sleep 1000
tooltip
return
NumPad9::ExitApp
Action:
++i
Sleep 1000
if i<7200
SetTimer Action, -1
if i=7200
{
MsgBox, Время вышло
i:=0
}
Return
Все верно, см. SetBatchLines. Даже если установить в -1, команды занимают некое время.
Я не очень понимаю, что значит "таймер с паузой". Почему бы просто не отключать таймер, а потом включать снова?
stealzy, имеется в виду, что таймер идёт и когда остаётся допустим 10 минут, то я могу поставить на паузу и отойти, а когда приду, убрать паузу и он продолжит работать с 10 минут. А есть обход задержки команд? Или нету?
#Persistent
main()
return
main() {
global i:=0
Timer("start")
}
Timer(func) {
global i
if(func="start") {
SetTimer, _timer, 1000
} else if(func="pause") {
SetTimer, _timer, Off
} else if(func="reset") {
i:=0
MsgBox, Время вышло
SetTimer, _timer, Delete
}
}
_tooltip:
{
SetTimer, _tooltip,Delete
Tooltip("hide")
return
}
Tooltip(func) {
global i
if(func="Show") {
tooltip % i
SetTimer, _tooltip, 1000
} else if(func="hide") {
tooltip
}
}
NumPad1::Timer("start")
NumPad2::Timer("pause")
NumPad3::Tooltip("show")
NumPad9::ExitApp
F5::Reload
_timer:
++i
if(i=15) { ;in sec
Timer("reset")
} return
stealzy, не совсем понял. В скрипте danyalukashak, действия по нажатию NumPad3 перебивают таймер. Я же сделал скрипт в котором такого не происходит.
MandarinKa02, да в вашем скрипте всё прекрасно работает. Спасибо. И задержок
вроде-бы нету.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться