Add(MultiElementEx,3257242,490,203) { @Hint=#44:Перевод миллисекунд в 00:00:00:000 и обратно| } BEGIN_SDK Add(EditMultiEx,1939016,21,21) { WorkCount=#11:doMS2Format|11:doFormat2MS| EventCount=#8:onResult| VarCount=#7:vResult| DataCount=#4:Data| Width=538 Height=277 link(doMS2Format,14209334:doValue,[(77,27)(77,83)]) link(doFormat2MS,12314645:doSplit,[(59,34)(59,685)]) link(vResult,6233899:Var,[]) } Add(Math,13512569,133,147) { @Hint=#4:Часы| OpType=7 Op2=3600000 ResultType=0 link(onResult,16314722:doConvert,[]) link(Op1,5723932:Var2,[]) } Add(Math,5978408,217,147) { @Hint=#19:Остаток после часов| OpType=8 Op2=3600000 ResultType=0 link(onResult,9134000:doOperation,[(261,153)(261,185)(205,185)(205,216)]) link(Op1,5723932:Var3,[(223,131)]) } Add(Memory,14209334,133,77) { Point(Data) link(onData,13512569:doOperation,[(177,83)(177,118)(121,118)(121,153)]) link(Data,13427198:Var3,[(139,47)]) } Add(Math,9134000,217,210) { @Hint=#6:Минуты| OpType=7 Op2=60000 ResultType=0 link(onResult,15365359:doConvert,[]) link(Op1,3853996:Var2,[]) } Add(Math,5498644,301,210) { @Hint=#19:Остаток после минут| OpType=8 Op2=60000 ResultType=0 link(onResult,11999598:doOperation,[(345,216)(345,248)(289,248)(289,279)]) link(Op1,3853996:Var3,[(307,194)]) } Add(GetDataEx,5723932,133,126) { link(Data,14209334:Value,[]) } Add(GetDataEx,3853996,217,189) { link(Data,5978408:Result,[]) } Add(Math,11999598,301,273) { @Hint=#7:Секунды| OpType=7 Op2=1000 ResultType=0 link(onResult,730951:doConvert,[]) link(Op1,12549272:Var2,[]) } Add(Math,4794364,385,273) { @Hint=#35:Остаток после секунд (миллисекунды)| OpType=8 Op2=1000 ResultType=0 link(onResult,2659809:doConvert,[]) link(Op1,12549272:Var3,[(391,257)]) } Add(GetDataEx,12549272,301,252) { link(Data,5498644:Result,[]) } Add(FormatStr,13938374,175,371) { DataCount=4 Mask="%1:%2:%3:%4" link(onFString,10672996:doEvent1,[]) link(Str1,16314722:Var,[]) link(Str2,15365359:Var,[(188,307)(265,307)]) link(Str3,730951:Var,[(195,338)(349,338)]) link(Str4,2659809:Var,[(202,343)(433,343)]) } Add(ConvertorEx,16314722,175,147) { SymbolFill="0" link(onResult,5978408:doOperation,[]) } Add(ConvertorEx,15365359,259,210) { SymbolFill="0" link(onResult,5498644:doOperation,[]) } Add(ConvertorEx,730951,343,273) { SymbolFill="0" link(onResult,4794364:doOperation,[]) } Add(ConvertorEx,2659809,427,273) { Digits=3 SymbolFill="0" link(onResult,13938374:doString,[(471,279)(471,328)(163,328)(163,377)]) } Add(LineBreak,11575620,448,21) { link(Out,959674:doWork2,[]) Primary=[8064343,-98,546] } Add(MultiStrPart,12314645,98,679) { Char=":" Count=4 Direct=1 Point(onNotFound) link(onSplit,10843225:doOperation,[(142,685)(142,720)(93,720)(93,755)]) link(Str,13427198:Var2,[]) link(onNotFound,11939949:doWork1,[(256,692)]) } Add(Math,10843225,105,749) { OpType=2 Op2=1000 ResultType=0 link(onResult,4934948:doOperation,[]) link(Op1,12314645:Part2,[]) } Add(Math,4934948,147,749) { OpType=2 Op2=60000 ResultType=0 link(onResult,13651759:doOperation,[]) link(Op1,12314645:Part3,[(153,730)(118,730)]) } Add(Math,13651759,189,749) { OpType=2 Op2=3600000 ResultType=0 link(onResult,9603015:doCalc,[(233,755)(233,787)(86,787)(86,818)]) link(Op1,12314645:Part4,[(195,730)(125,730)]) } Add(MathParse,9603015,98,812) { DataCount=4 MathStr="%1 + %2 + %3 + %4" ResultType=0 link(onResult,11939949:doWork2,[]) link(X1,12314645:Part1,[]) link(X2,10843225:Result,[]) link(X3,4934948:Result,[(118,796)(153,796)]) link(X4,13651759:Result,[(125,796)(195,796)]) } Add(HubEx,959674,490,21) { link(onEvent,8649549:doValue,[]) } Add(LineBreak,16713528,455,35) { link(Out,959674:doWork3,[(494,41)]) Primary=[15320020,-175,777] } Add(Copy,7424049,378,434) { Position=1 Count=2 link(onCopy,12527387:doCase,[]) link(Str,13556570:Var2,[]) } Add(Case,12527387,420,434) { Value=String(00) link(onNextCase,11929216:In,[(464,440)(464,398)]) link(onTrue,12120580:doDelete,[]) } Add(Delete,12120580,469,441) { Count=3 link(onDelete,3831225:doWork2,[]) link(Str,13556570:Var3,[(475,418)]) } Add(Hub,10672996,224,371) { OutCount=3 link(onEvent1,10961629:doEvent1,[]) link(onEvent2,10541691:doFor,[(273,384)(273,440)]) link(onEvent3,13436710:doData,[(268,391)(268,573)]) } Add(Memory,15742967,378,371) { } Add(GetDataEx,13556570,378,413) { link(Data,15742967:Value,[]) } Add(Hub,10961629,336,371) { InCount=2 OutCount=1 link(onEvent1,15742967:doValue,[]) } Add(LineBreak,14954770,294,378) { link(Out,10961629:doEvent2,[]) Primary=[14491142,238,63] } Add(For,10541691,308,434) { Start=1 End=3 onBreakEnable=0 link(onEvent,7424049:doCopy,[]) link(onStop,15140427:doCopy,[(352,447)(352,510)]) } Add(LineBreak,9055928,266,441) { link(Out,10541691:doStop,[]) Primary=[11929216,210,-49] } Add(Copy,15140427,364,504) { Position=1 Count=3 link(onCopy,409263:doCase,[]) link(Str,7207430:Var2,[]) } Add(Case,409263,406,504) { Value=String(000) link(onTrue,10472968:doDelete,[]) } Add(Delete,10472968,455,511) { Count=2 link(onDelete,3831225:doWork3,[(515,517)]) link(Str,7207430:Var3,[(461,488)]) } Add(HubEx,3831225,511,441) { link(onEvent,14491142:In,[]) } Add(GetDataEx,7207430,364,483) { link(Data,13556570:Var1,[(370,418)]) } Add(DoData,13436710,308,567) { link(onEventData,8064343:In,[]) link(Data,7207430:Var1,[(314,488)]) } Add(GetDataEx,13427198,98,42) { Angle=3 link(Data,1939016:Data,[(27,47)]) } Add(Memory,8649549,511,21) { link(onData,1939016:onResult,[]) } Add(LineBreak,11047145,511,70) { Type=1 link(Data,8649549:Value,[]) Primary=[6233899,-490,196] } Add(HubEx,11939949,252,812) { link(onEvent,15320020:In,[]) } END_SDK Add(Edit,16019876,280,196) { Left=25 Top=15 Width=305 Text="123456789" ClearAfterEnter=1 link(onEnter,5477533:doEvent1,[]) } Add(Edit,13414941,280,280) { Left=25 Top=40 Width=305 Text="" ClearAfterEnter=1 link(onEnter,10520710:doEvent1,[]) } Add(Hub,5477533,329,203) { link(onEvent1,3257242:doMS2Format,[]) link(onEvent2,2929108:doData,[]) } Add(DoData,2929108,357,210) { link(onEventData,3704682:In,[]) link(Data,2953299:Var,[]) } Add(LineBreak,7017707,238,280) { link(Out,13414941:doText,[]) Primary=[3704682,161,-70] } Add(LineBreak,12755152,490,252) { Type=1 link(Data,15801261:Var2,[]) Primary=[2953299,-133,-70] } Add(Hub,10520710,329,287) { link(onEvent1,14227441:In,[]) link(onEvent2,13076840:doData,[]) } Add(DoData,13076840,392,294) { link(onEventData,13003572:In,[]) link(Data,12197484:Var,[]) } Add(LineBreak,13626345,238,196) { link(Out,16019876:doText,[]) Primary=[13003572,196,98] } Add(LineBreak,16421855,504,252) { Type=1 link(Data,15801261:Var3,[(510,243)]) Primary=[12197484,-112,14] } Add(LineBreak,15687520,448,210) { link(Out,3257242:doFormat2MS,[]) Primary=[14227441,-91,77] } Add(GetDataEx,15801261,490,238) { link(Data,3257242:vResult,[]) }
Перевод миллисекунд в 00:00:00:000 и обратно
Сообщений 1 страница 3 из 3
Поделиться12022-12-09 20:01:39
Поделиться22022-12-10 14:44:49
3042
Блин как то всё сложно. Ведь есть конвертер времени DateConvertor
Разве он не подойдёт?
Поделиться32022-12-10 21:58:56
Да, в DateConvertor есть параметр StrFmtToDateUnix, но он переводит дату-время в привязке к 01.01.1970. А моя схема просто не привязанное к дате время, причём часы там - накопительные, т.е. 1234567890 мсек она переведёт в 342:56:07:890, в сутки уже не переводит. Ну, это чисто специфическая схема, например, для подсчёта общего времени звучания аудио или каких-то процессов.
Отредактировано 3042 (2022-12-10 21:59:07)