Когда вы обозначаете "1-ая, 2-ая, ..... n-ая смена", да ещё с изменяемыми интервалами, необходимо давать определение, что такое 1-ая смена и как отличить её от остальных, например, такое: "1-ая смена та, которая первая начинается или продолжается от 00:00 часов".
Без такого определения вы ещё испишите десяток страниц форума без результата.
------------ Дoбавленo в 13.52:
А вот схемка по определению: "1-ая смена обозначена в верхних Edit-ах, в левой начало, в правой окончание смены"
Add(MainForm,2953706,154,126)
{
link(onCreate,7810450:doEvent1,[])
}
Add(Edit,13065359,266,182)
{
Left=16
Top=18
Width=94
Text="22:59"
link(onChange,5884055:doWork2,[])
}
Add(DateConvertor,10362442,322,182)
{
Mode=8
Format="HH:mm"
Point(Data)
Point(Result)
link(Data,13065359:Text,[(328,173)(314,173)(314,222)(272,222)])
}
Add(Edit,13912355,364,182)
{
Left=150
Top=18
Width=94
Text="7:59"
link(onChange,13069093:doWork2,[])
}
Add(DateConvertor,4177431,420,182)
{
Mode=8
Format="HH:mm"
Point(Data)
Point(Result)
link(Data,13912355:Text,[(426,173)(412,173)(412,222)(370,222)])
}
Add(Edit,12267643,462,182)
{
Left=16
Top=56
Width=94
Text="9:59"
link(onChange,11956528:doWork2,[])
}
Add(DateConvertor,2606845,518,182)
{
Mode=8
Format="HH:mm"
Point(Data)
Point(Result)
link(Data,12267643:Text,[(524,173)(510,173)(510,222)(468,222)])
}
Add(Edit,10267384,560,182)
{
Left=150
Top=56
Width=94
Text="18:59"
link(onChange,8314299:doWork2,[])
}
Add(DateConvertor,16639133,616,182)
{
Mode=8
Format="HH:mm"
Point(Data)
Point(Result)
link(Data,10267384:Text,[(622,173)(608,173)(608,222)(566,222)])
}
Add(Time,3131878,217,182)
{
Format="h:m"
Point(DateTime)
}
Add(Label,12563328,434,266)
{
Left=16
Top=114
Width=94
}
Add(StrList,11739803,392,259)
{
Strings=#1:0|47:Смена 1 закончилась. Ожидается начало 2й смены.|47:Смена 2 закончилась. Ожидается начало 1й смены.|16:Текущая смена 1.|16:Текущая смена 2.|
Point(onGetString)
Point(doGetString)
link(onGetString,12563328:doText,[])
}
Add(Timer,8454916,175,259)
{
link(onTimer,5506918:doOperation,[])
}
Add(Math,5506918,224,259)
{
OpType=36
Op2=1
link(Op1,3131878:DateTime,[])
}
Add(MathParse,5265174,315,259)
{
DataCount=5
MathStr="(%2>%3)*((%1>%3)*(%1<%4)+(%1>%5)*(%1<%2)*2+((%1>%2)+(%1<%3))*3+(%1>%4)*(%1<%5)*4)+
(%3>%2)*(%5>%4)*(%4>%3)*((%1>%3)*(%1<%4)+((%1>%5)+(%1<%2))*2+(%1>%2)*(%1<%3)*3+(%1>%4)*(%1<%5)*4)+
(%3>%2)*(%5>%4)*(%2>%5)*(((%1>%3)+(%1<%4))+(%1>%5)*(%1<%2)*2+(%1>%2)*(%1<%3)*3+(%1>%4)*(%1<%5)*4)+
(%4>%5)*((%1>%3)*(%1<%4)+(%1>%5)*(%1<%2)*2+(%1>%2)*(%1<%3)*3+((%1>%4)+(%1<%5))*4)"
link(onResult,11739803:doGetString,[(365,265)(365,307)])
link(X2,10362442:Result,[])
link(X3,4177431:Result,[(335,230)(426,230)])
link(X4,2606845:Result,[(342,237)(524,237)])
link(X5,16639133:Result,[(349,243)(622,243)])
}
Add(Hub,7810450,196,140)
{
OutCount=4
link(onEvent1,8314299:doWork1,[(599,146)])
link(onEvent2,11956528:doWork1,[(501,153)])
link(onEvent3,13069093:doWork1,[(403,160)])
link(onEvent4,5884055:doWork1,[(305,167)])
}
Add(HubEx,5884055,301,182)
{
link(onEvent,10362442:doConvert,[])
}
Add(HubEx,13069093,399,182)
{
link(onEvent,4177431:doConvert,[])
}
Add(HubEx,11956528,497,182)
{
link(onEvent,2606845:doConvert,[])
}
Add(HubEx,8314299,595,182)
{
link(onEvent,16639133:doConvert,[])
}
Add(Button,7434786,98,343)
{
Left=35
Top=165
link(onClick,548576:doNext,[])
}
Add(Counter,548576,147,343)
{
Max=24
link(onNext,14776308:doEvent1,[])
}
Add(Hub,14776308,189,343)
{
link(onEvent1,7584835:doOperation,[])
link(onEvent2,2953706:doCaption,[(214,356)(214,335)(144,335)(144,132)])
}
Add(Math,7584835,224,343)
{
OpType=3
Op2=24
link(onResult,2231264:doWork3,[(270,349)])
}
Add(HubEx,2231264,266,259)
{
link(onEvent,5265174:doCalc,[])
}
Add(InfoTip,10499597,77,308)
{
Info=#22:Удалить после проверки|
Width=232
Height=81
}