Войти

Показать полную графическую версию : [решено] Прерывание sleep() горячей клавишей...


sashadeg
27-06-2009, 17:31
Например идёт sleep(60000), а ждать столько времени не всегда нужно и иногда можно прервать ожидание и продолжать работу скрипта...Пробовал горячей клавишей перейти на функцию сожержащую в себе sleep(1)... не получилось.... Help me please

proxy
27-06-2009, 17:56
желательно опубликовать код скрипта, так как варианты зависят от специфики кода.

варианты:
1. цикл и проверка условия
2. таймеры

sashadeg
27-06-2009, 18:06
Да самый простой код...

msgbox(1,"","первое окно, щас будет задержка на 60 сек, которую хотелось бы прервать горячей клавишей в любой момент")
Sleep(60000)
MsgBox(1,"","Второе окно")


P.S. А как вы делаете чтобы Ваш код был раскрашен на форуме так же как и в редакторе SciTE ?

Creat0R
27-06-2009, 18:16
самый простой код
Используйте циклы:


MsgBox(1,"","первое окно, щас будет задержка на 60 сек, которую хотелось бы прервать горячей клавишей в любой момент")

HotKeySet("{ESC}", "_StopSleep_Proc")

$iStop = 0
$iTimerInit = TimerInit()

While TimerDiff($iTimerInit) < 60000 And Not $iStop
Sleep(10)
WEnd

MsgBox(1, "", "Второе окно")

Func _StopSleep_Proc()
$iStop = 1
EndFunc

А как вы делаете чтобы Ваш код был раскрашен на форуме так же как и в редакторе SciTE ? »
Au3ToPost (http://creator-lab.ucoz.ru/load/3-1-0-18).




© OSzone.net 2001-2012