тайм-фильтр:
отдельно на каждый день (вкл воскр), одна пауза в день.
Если пауза=0, значит она выкл.
extern string S1 = " DayOfWeek Filter";
extern bool monday = true;
extern string monday_open = "01:00";
extern string monday_pause_start = "0";
extern string monday_pause_stop = "0";
extern string monday_close = "23:50";
extern bool tuesday = true;
extern string tuesday_open = "00:00";
extern string tuesday_pause_start = "0";
extern string tuesday_pause_stop = "0";
extern string tuesday_close = "23:50";
extern bool wednesday = true;
extern string wednesday_open = "00:00";
extern string wednesday_pause_start = "0";
extern string wednesday_pause_stop = "0";
extern string wednesday_close = "23:50";
extern bool thursday = true;
extern string thursday_open = "00:00";
extern string thursday_pause_start = "0";
extern string thursday_pause_stop = "0";
extern string thursday_close = "23:50";
extern bool friday = false;
extern string friday_open = "08:30";
extern string friday_pause_start = "15:30";
extern string friday_pause_stop = "17:55";
extern string friday_close = "21:35";
extern bool sunday = false;
extern string sunday_open = "08:30";
extern string sunday_pause_start = "15:30";
extern string sunday_pause_stop = "17:55";
extern string sunday_close = "21:35";
/////////////////////////////////////////////////////////////////////////
bool IsTime()
{
switch(DayOfWeek())
{
case 0: {
return(sunday && IsNow(sunday_open,sunday_pause_start,sunday_pause_stop,sunday_close));
break;
}
case 1: {
return(monday && IsNow(monday_open,monday_pause_start,monday_pause_stop,monday_close));
break;
}
case 2: {
return(tuesday && IsNow(tuesday_open,tuesday_pause_start,tuesday_pause_stop,tuesday_close));
break;
}
case 3: {
return(wednesday && IsNow(wednesday_open,wednesday_pause_start,wednesday_pause_stop,wednesday_close));
break;
}
case 4: {
return(thursday && IsNow(thursday_open,thursday_pause_start,thursday_pause_stop,thursday_close));
break;
}
case 5: {
return(friday && IsNow(friday_open,friday_pause_start,friday_pause_stop,friday_close));
break;
}
default:{
return(false);
}
}
}
bool IsNow(string open,string pause_start,string pause_stop,string close)
{
if((pause_start == "0")||((pause_start == open)&&(pause_stop == close)))
{
//no pause
return((TimeCurrent() >= StrToTime(open)) && (TimeCurrent()
}
else // pause
{
return(((TimeCurrent() >= StrToTime(open)) && (TimeCurrent() ((TimeCurrent() >= StrToTime(pause_stop)) && (TimeCurrent() }
return(false);
}


