г. HLDeadMan, ну и выложить не грех, вдруг кому потребуется
------------ Дoбавленo в 14.43:
Вот и мой вариант
Add(MainForm,2953706,224,84) { } Add(Edit,13245323,336,133) { Left=125 Top=45 Width=130 } Add(Edit,8042999,336,91) { Left=125 Top=15 Width=130 } Add(Button,13530878,224,126) { Left=10 Top=45 link(onClick,3290554:doCalcDate,[]) } Add(MultiElementEx,3290554,273,126) { link(onBegin,8042999:doText,[(321,132)(321,97)]) link(onToday,13245323:doText,[]) link(onEnd,11208756:doText,[(320,146)(320,181)]) link(Date,15574052:Text,[]) } BEGIN_SDK Add(EditMultiEx,10161662,21,21) { WorkCount=#10:doCalcDate| EventCount=#32:onBegin=Прошло от начала периода|15:onToday=Сегодня|35:onEnd=Осталось до окончания периода| DataCount=#25:Date=Число начала периода| Width=377 Height=354 link(doCalcDate,9894705:doEvent1,[(28,27)(28,132)]) } Add(For,940080,63,147) { Start=-31 End=31 link(onEvent,4574759:doOperation,[]) link(onStop,1534414:doCalc,[(105,160)(105,216)]) } Add(Time,15999802,105,42) { Format="D.M.Y" Point(DateTime) } Add(Math,4574759,112,147) { link(onResult,9749855:doConvert,[]) link(Op1,4869980:Result,[]) } Add(DateConvertor,9749855,154,147) { Mode=9 Format="dd" link(onResult,1903705:doCompare,[]) } Add(If_else,1903705,196,147) { link(onTrue,6734736:doValue,[]) link(Op2,10161662:Date,[(209,28)(27,28)]) } Add(MemFifo,6734736,245,147) { Count=3 Point(Data) link(Data,4574759:Result,[(251,135)(149,135)(149,186)(118,186)]) } Add(Hub,9894705,35,126) { OutCount=4 link(onEvent1,11549255:doData,[(56,132)(56,104)]) link(onEvent2,4869980:doOperation,[(106,139)(106,111)]) link(onEvent3,6734736:doClear,[(236,146)(236,160)]) link(onEvent4,940080:doFor,[]) } Add(Math,4869980,112,105) { OpType=37 Op2=1 link(Op1,16607606:Var2,[]) } Add(DoData,11549255,63,98) { link(onEventData,10161662:onToday,[(162,104)(162,34)]) link(Data,15999802:FormatTime,[(69,86)(111,86)]) } Add(MathParse,1534414,245,210) { DataCount=3 MathStr="(%3>0)*%3 + (%3=0)*%2 + 1" link(onResult,7853514:doCalc,[]) link(X1,1191243:Var2,[]) link(X2,482486:Var2,[]) link(X3,8534848:Var2,[]) } Add(MathParse,7853514,294,210) { DataCount=3 MathStr="(%3>0)*%2 + (%3=0)*%1 + 1" link(onResult,8198964:doCalc,[(331,216)(331,247)(233,247)(233,265)]) link(X1,1191243:Var3,[(300,201)]) link(X2,482486:Var3,[(307,194)]) link(X3,8534848:Var3,[(314,187)]) } Add(GetDataEx,1191243,245,196) { link(Data,6734736:Value1,[]) } Add(GetDataEx,482486,252,189) { link(Data,6734736:Value2,[]) } Add(GetDataEx,8534848,259,182) { link(Data,6734736:Value3,[]) } Add(DateDiff,8198964,245,259) { Point(Days) Point(Hours) Point(Minuts) Point(Seconds) link(onCalc,6561873:doCalc,[]) link(DateTime1,1534414:Result,[]) link(DateTime2,12732527:Var1,[(258,250)]) } Add(GetDataEx,16607606,112,84) { link(Data,15999802:DateTime,[]) } Add(GetDataEx,12732527,287,245) { link(Data,16607606:Var3,[(293,89)]) } Add(DateDiff,6561873,287,259) { Point(Days) Point(Hours) Point(Minuts) Point(Seconds) link(onCalc,1235149:doString,[(327,265)(327,294)(233,294)(233,314)]) link(DateTime1,12732527:Var2,[]) link(DateTime2,7853514:Result,[]) } Add(FormatStr,1235149,245,308) { DataCount=4 Mask="Прошло %1 дн. %2:%3:%4" link(onFString,6304423:doEvent1,[]) link(Str1,8198964:Days,[]) link(Str2,8198964:Hours,[]) link(Str3,8198964:Minuts,[]) link(Str4,8198964:Seconds,[]) } Add(FormatStr,4606110,308,315) { DataCount=4 Mask="Осталось %1 дн. %2:%3:%4" link(onFString,10161662:onEnd,[(369,321)(369,41)]) link(Str1,6561873:Days,[(314,303)(293,303)]) link(Str2,6561873:Hours,[(321,301)(300,301)]) link(Str3,6561873:Minuts,[(328,299)(307,299)]) link(Str4,6561873:Seconds,[(335,297)(314,297)]) } Add(Hub,6304423,287,308) { link(onEvent1,10161662:onBegin,[(349,314)(349,27)]) link(onEvent2,4606110:doString,[]) } END_SDK Add(Edit,11208756,336,175) { Left=125 Top=75 Width=130 } Add(Edit,15574052,273,70) { Left=75 Top=45 Width=30 Text="25" DataType=2 }
|