[an error occurred while processing this directive]
|
int have_to_down()
{
WORD cur_time;
if(days_off & (1<<(system_time.dayweek-1))) //weekend
return 1;
cur_time = ((WORD)(system_time.hour))*100+system_time.minute;
if(time_on > time_off) //night mode
{
if((cur_time >= time_on) || (cur_time < time_off) )
return 1;
return 0;
}
else //day mode
{
if((cur_time >= time_on) && (cur_time < time_off) )
return 1;
return 0;
}
}
, где
typedef struct system_time {
BYTE year;
BYTE dayweek;
BYTE minute;
BYTE hour;
BYTE month;
BYTE day;
};
days_off - выходной день или нет
time_on - время включения
time_off - время выключения
Возвращает 0 если нужно работать,
1 - нужно отдыхать и не работать.
WORD - typedef unsigned int WORD
E-mail: info@telesys.ru