Что нового

[Время, дата] как в AutoIt реализовать Scheduler?

Shikaka

Новичок
Сообщения
6
Репутация
0
Upd: я не понял где именно у меня тут было нарушение, но на всякий случай удалил все.

Upd2: Требуется реализовать выполнение функций по определенному расписанию
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Время, дата] как в AutoIt реализовать шедулер с расписанием?

Shikaka,
Предупреждение За нарушение общих правил (пункт В.8):
Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!".


С уважением, ваш Глобальный модератор.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: [Время, дата] как в AutoIt реализовать шедулер с расписанием?

Shikaka [?]
не понял где именно у меня тут было нарушение
В названии темы (шедулер это не русское слово).

на всякий случай удалил все
А это ещё хуже, т.к теряется суть темы.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Re: [Время, дата] как в AutoIt реализовать шедулер с расписанием?

Shikaka [?]
не беспокоя великих гуру-модераторов данного форума
Зря обижаетесь!
Предупреждение это не значить, что на другом конце монитора сидит разъяренный модератор и, брызгая слюнями, кричит о том какой же бестолковый пользователь!
Это просто указание на допущенную вами ошибку, относительно правил форума. Вы же не обижаетесь на сигнал и красную лампочку в кабине вашего болида, когда антирадар предупреждает вас, что вы превысили скорость и далее уже точно последует наказание!
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Время, дата] как в AutoIt реализовать шедулер с расписанием?

OffTopic:
Garrett [?]
на другом конце монитора сидит разъяренный модератор и, брызгая слюнями, кричит о том какой же бестолковый пользователь
Ужасная картина. ;D
 
Автор
Shikaka

Shikaka

Новичок
Сообщения
6
Репутация
0
Re: [Время, дата] как в AutoIt реализовать шедулер с расписанием?

Garrett,
Очень не хватало уточнения, сделанного CreatoR.

Насколько я смог разобраться, готового набора функций для реализации расписаний в AutoIt не существует.

Существует либо реализация с помощью Планировщика заданий Windows, либо через имеющиеся функции _Timer_SetTimer,
а также макросы @HOUR, @MIN и т.д.

При втором варианте реализации ничего умнее
Код:
Func GetTimeToNearestEvent()
   If    ((@HOUR > 01 AND @HOUR < 14) OR (@HOUR = 01 AND @MIN > 10)) THEN ;nearest Event at 14:00
	  $BeginHour = 13
	  $BeginMin = 58
   ElseIf(@HOUR > 14 AND @HOUR < 19) OR (@HOUR = 14 AND @MIN > 10) THEN ;nearest Event at 19:00
	  $BeginHour = 18
	  $BeginMin = 58
   ElseIf(@HOUR > 19) OR (@HOUR < 01) OR (@HOUR = 19 AND @MIN > 10) THEN ;nearest Event at 01:00
	  $BeginHour = 24 + 0
	  $BeginMin = 58
   ElseIf(@HOUR = 14 AND @MIN <= 10) OR (@HOUR = 19 AND @MIN <= 10) OR (@HOUR = 01 AND @MIN <= 10)THEN ;Need to start right now
	  $BeginHour = @HOUR
	  $BeginMin = @MIN+1
   EndIf
   $timeleftms = ($BeginHour - @HOUR)*60*60*1000 + ($BeginMin - @MIN)*60*1000 + (0 - @SEC)*1000
   If $timeleftms < 0 Then
	  $timeleftms = 5000 ;5sec - minimum delay to timer
   EndIf
   Return $timeleftms
EndFunc

Func SetTimers()
   Debug('SetTimers');
   Local $timeleftms,$BeginHour,$BeginMin
   $timeleftms = GetTimeToNearestEvent()
   
   $EventTimer = _Timer_SetTimer($hGUI, $timeleftms ,"_MyAction", $EventTimer)
EndFunc;

я не придумал. пока использую такую реализацию, она работает.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Время, дата] как в AutoIt реализовать шедулер с расписанием?

Shikaka,
Название темы поправьте и верните 1-ое сообщение.
 
Верх