Пару временных периодов - страница 2

 
Alexander Puzanov:
Под букафками "Пример поверки:" приведён пример проверки для 2х сессий с этой функцией. Дописать в проверку 3ю сессию - не проблема даже нам с вам, не-си-плю-плюсам :) Не писать же спец-функцию для 3.75 сессий

PS Походу я увлёксо - зачем мне вас убеждать? Бошенебуду

Нуда нуда...

 if(i_Second_From < i_Second_To) {
                if(i_Time >= i_Second_From && i_Time <= i_Second_To)
                        return(true);
        } else if(i_Second_From > i_Second_To) {
                if(i_Time >= i_Second_From || i_Time <= i_Second_To)
                        return(true);
        }

 это для 2-х сессий.))))))))))))))))))))))))))

 

Спасибо всем за "помощь":)))

extern string V_R = "Work time settings";
extern bool use_work_time = false;
extern string start1 = "08:00";
extern string stop1 = "16:00";
extern string start2 = "08:00";
extern string stop2 = "16:00";
extern string start3 = "08:00";
extern string stop3 = "16:00";


/////////////////////////////////////////////////////////////////
 bool work_time_f() 
{
datetime time_current=TimeCurrent();
datetime start_1=StringToTime(start1);
datetime stop_1=StringToTime(stop1);
datetime start_2=StringToTime(start2);
datetime stop_2=StringToTime(stop2);
datetime start_3=StringToTime(start3);
datetime stop_3=StringToTime(stop3);

 if(
    ((start_1<stop_1 && (time_current<start_1 || time_current>stop_1)) || (start_1>stop_1 && (time_current<start_1 && time_current>stop_1))) 
 && ((start_2<stop_2 && (time_current<start_2 || time_current>stop_2)) || (start_1>stop_2 && (time_current<start_2 && time_current>stop_2)))  
 && ((start_3<stop_3 && (time_current<start_3 || time_current>stop_3)) || (start_1>stop_3 && (time_current<start_3 && time_current>stop_3)))  
   ) return(false);

 


   return (true);
}
Причина обращения: