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)