Что нового

“Обеденный перерыв” и “сон” для функции

Anna

Новичок
Сообщения
119
Репутация
2
Здравствуйте.
Функция работает в бесконечном цикле, круглые сутки. Хочу очеловечить работу.
Работать в понедельник с 9 часов 15 минут, плюс/минус 5 минут до 12 часов 30 минут плюс/минус 15 минут. Обеденный перерыв. Потом работать с 14 часов 10 минут плюс/минус 3 минуты до 19 часов 5 минут, плюс/минус 5 минут.

Работать в среду с 17 часов 15 минут, плюс/минус 5 минут до 20 часов 30 минут плюс/минус 15 минут. Обеденный перерыв. Дальше работать с 22 часов 10 минут плюс/минус 3 минуты до времени 3 часа 5 минут, плюс/минус 5 минут.
Остальные дни цикл с функцией должен отдыхать, другие функции скрипта продолжают работу.
Буду благодарна любому примеру.
Код:
While 1
Dim $flag_0 = StringInStr(ClipGet(), "а") ? 1 : 0
 If  $flag_0 Then _test_func()
sleep(5*1000)
WEnd
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Код:
#include <Date.au3>
;вычисляем день недели
$day = _DateToDayOfWeek (@YEAR, @MON, @MDAY) ;1 - воскресение, 2 - пн, 3 - вт и т.д.
;вычисляем текущее время в формате ччмм
$time = @HOUR&@MIN
;условие на работу в указнные часы
if $day = 2 And $time>=0915 And $time<=1230 Then
	MsgBox(0, "", "время работы")
EndIf


если требуется, чтобы функция отключась не в одинаковое время каждый раз, добавьте Random в минуты
 
Автор
A

Anna

Новичок
Сообщения
119
Репутация
2

Спасибо, за вариант.
Однако такая конструкция не будет работать для “начало работы в 22 часа 10 минут окончание в 3 часа 5 минут ” и как правильно вставить в минуты рандом?
Код:
Random(5*60* 1000, 9*60* 1000, 1)
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Код:
$timestart = 12 & Random(15, 45, 1)


3:15 уже будет следующий день.
 
Верх