Что нового

запуск скрипта в установленное время

stormovik

Новичок
Сообщения
58
Репутация
1
можно ли запустить выполнение функции в определенное время?
требуется получить что-то вроде
Код:
HotKeySet
, но с тем, чтобы вызов функции происходил не по нажатию горячей клавиши, а по достижении определенного времени?
Пока приходится постоянно использовать проверку текущего времени.
 

joiner

Модератор
Локальный модератор
Сообщения
3,427
Репутация
597
stormovik [?]
Пока приходится постоянно использовать проверку текущего времени.
вижу только два варианта: сверка со временем компьютера или вести свой счет времени в цикле
Код:
$i = 0
While 1
	If $i = 10 Then ; функция выполняется каждые 10 сек
		MsgBox(0,'','То самое время'); вместо сообщения вставляем функцию
		$i = 0 ;обнуление счетчика
	EndIf
	Sleep(1000); цикл считает секунды
		$i += 1
WEnd
 

beliy

Продвинутый
Сообщения
372
Репутация
72
А использовать планировщик задач windows не вариант?
 
Автор
S

stormovik

Новичок
Сообщения
58
Репутация
1
Видимо, я не совсем правильно сформулировал условие, раз меня немного недопоняли. У меня уже работает цикл AutoIt. В ходе работы цикла вставлено множество проверок: "А не наступил ли час Ч, минута М, секунда С?". Как только один из множества датчиков показывает, что время пришло, то он запускает подпрограмму, по завершении которой цикл должен продолжить работу.
В этой ситуации есть такой недостаток, что время может настать сразу после датчика, что приведет к нежелательным последствиям. Соответственно, сейчас они настроены немного заранее, и полностью прерывают цикл в ожидании нужного времени, что, конечно, терпимо, но неприятно.

То есть, повторюсь, подпрограмму нужно запускать уже из работающего цикла.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Проверяй наступление времени через
Код:
AdlibRegister

тогда твой основной цикл не пострадает от вызова подпрограммы.
 
Автор
S

stormovik

Новичок
Сообщения
58
Репутация
1
то есть, ошибка может возникнуть только в случае, если очередная команда основного цикла наступит через время меньшее, чем указанное в AdlibRegister параметр
Сообщение автоматически объединено:
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Функция, вызов которой произошел через AdlibRegister, полностью останавливает выполнение основного скрипта пока не выполнится сама.

Судить о том могут ли в твоём скрипте возникнуть ошибки. Ну как-то... :-\
 
Верх