Как заставить шаблон работать определённое время

  • Автор темы Автор темы slava1975
  • Дата начала Дата начала

slava1975

Client
Регистрация
12.09.2016
Сообщения
307
Реакции
34
Баллы
28
Доброго времени суток форумчане,как заставить шаблон работать по времени

Необходимо чтоб он работал по времени,например 2 часа,после этого автоматом отключался,скорее всего нужна переменная определяющая время START и переменная STOP,и через "if" сравнивать и танцевать далее ,но как определить в какое время стартанул шаблон????
Через расписание шаблон не останавливается во вкладке закончить в такое то время,внутри то процесс идёт зацыклиный
Помогите пожалуйста, заранее спасибо
 
при старте шаба, в самом начале в переменную START пишешь текущее время, в определенных местах сравниваешь разницу текущего времени и START с уставкой (например 2 часа). если больше то выходишь, если нетт то дальше идешь по логике.
 
спасибо,а как определить текущее время?
 
засекаем вермя:
Развернуть Свернуть Копировать
project.Variables["Start_Time_Potok"].Value = DateTime.Now.ToString();

проверка таймаута:
Развернуть Свернуть Копировать
//---- получение данных из переменных зенки ----
string Start_Time_Potok = project.Variables["Start_Time_Potok"].Value;
int Input_Max_Work_Time = 1200; try{  Input_Max_Work_Time = int.Parse(project.Variables["Max_TimeWork"].Value); } catch{  }
//---- формируем данные ----
DateTime now = DateTime.Now; DateTime End_Potok; 
End_Potok = DateTime.Parse(Start_Time_Potok).AddSeconds(Input_Max_Work_Time);         // считаем конечное время
//---- формирование условий ----
project.SendInfoToLog(now.ToString());
project.SendInfoToLog(End_Potok.ToString());
if ( End_Potok > now ) {  // проверка времени
    return 0;
} else throw new Exception();

применять так.

81992

в переменную Max_TimeWork закидываешь 7200 секунд
 
приогромнейшее вам спосибо,все работает как автомат калашников
 
засекаем вермя:
Развернуть Свернуть Копировать
project.Variables["Start_Time_Potok"].Value = DateTime.Now.ToString();

проверка таймаута:
Развернуть Свернуть Копировать
//---- получение данных из переменных зенки ----
string Start_Time_Potok = project.Variables["Start_Time_Potok"].Value;
int Input_Max_Work_Time = 1200; try{  Input_Max_Work_Time = int.Parse(project.Variables["Max_TimeWork"].Value); } catch{  }
//---- формируем данные ----
DateTime now = DateTime.Now; DateTime End_Potok;
End_Potok = DateTime.Parse(Start_Time_Potok).AddSeconds(Input_Max_Work_Time);         // считаем конечное время
//---- формирование условий ----
project.SendInfoToLog(now.ToString());
project.SendInfoToLog(End_Potok.ToString());
if ( End_Potok > now ) {  // проверка времени
    return 0;
} else throw new Exception();

применять так.

Посмотреть вложение 81992

в переменную Max_TimeWork закидываешь 7200 секунд
Если время статичное, то можно сразу вычислить endTime и потом просто сравнивать текущее время и время конца вместо того, чтобы в цикле постоянно приплюсовывать его
 
Если время статичное, то можно сразу вычислить endTime и потом просто сравнивать текущее время и время конца вместо того, чтобы в цикле постоянно приплюсовывать его
можно конечно. кому надо, тот переделает под себя. а у меня этот код был написан 1 раз 2 года назад и менять его пока нет ни желания ни времени :bk:
 
можно конечно. кому надо, тот переделает под себя. а у меня этот код был написан 1 раз 2 года назад и менять его пока нет ни желания ни времени :bk:
Ваш код работает идеально,ещё раз спасибо
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)