Pavel писал(а):
А вот главный минус, это производительность такого решения.Леонид, ай ай ай
Add(MainForm,11257063,161,210)
{
Width=1003
Height=690
link(onCreate,3746522:doWork1,[(242,230)(242,258)(431,258)(431,300)])
}
Add(If_else,14926331,301,217)
{
Type=5
Op2=String()
link(onTrue,16418445:doSearch,[])
}
Add(COM,16655693,252,210)
{
link(onRead,14926331:doCompare,[])
}
Add(BlockFind,16418445,350,217)
{
IncludeBlock=1
StartBlock="T="
EndBlock="C"
link(onSearch,12143084:doString,[])
}
Add(StrList,5120985,574,217)
{
AddType=1
}
Add(Time,12263037,399,168)
{
Format="h:m:s"
Point(DateTime)
}
Add(FormatStr,12143084,399,217)
{
Mask="%1;%2"
link(onFString,16056977:doEvent1,[])
link(Str1,12263037:FormatTime,[])
}
Add(Hub,5300600,490,217)
{
link(onEvent1,5120985:doAdd,[])
link(onEvent2,11935530:doData,[(515,230)(515,237)])
}
Add(DoData,11935530,525,231)
{
Data=Integer(86400)
link(onEventData,5120985:doDelete,[])
}
Add(InfoTip,9866087,483,182)
{
Info=#24:Последние 86400 отсчётов|
Font=[MS Sans Serif,8,1,255,1]
Width=141
Height=88
}
Add(MultiElement,2353023,392,301)
{
link(onEvent1,12125055:doWork2,[])
}
BEGIN_SDK
Add(EditMulti,7931011,21,21)
{
EventCount=1
WorkCount=2
Width=356
link(doWork1,2156829:doOperation,[(151,27)(151,76)])
link(doWork2,1359222:doNext,[(88,34)(88,139)])
}
Add(MathParse,6975282,175,133)
{
DataCount=1
MathStr="round(sin(0.01*%1)*5,0.001) + 22"
link(onResult,11553943:doCalc,[])
}
Add(MathParse,11553943,238,133)
{
MathStr="%1/86400+%2"
link(onResult,4631172:doConvert,[])
link(X1,1359222:Count,[(244,124)(230,124)(230,180)(132,180)])
link(X2,2156829:Result,[(251,110)(174,110)])
}
Add(DateConvertor,4631172,280,133)
{
Mode=9
Format="hh:mm:ss"
link(onResult,10061548:doString,[])
}
Add(FormatStr,10061548,322,133)
{
Mask="%1;%2"
link(onFString,7931011:onEvent1,[(361,139)(361,27)])
link(Str2,6975282:Result,[(335,116)(216,116)(216,173)(181,173)])
}
Add(Time,7944161,161,28)
{
Point(DateTime)
}
Add(Math,2156829,168,70)
{
OpType=1
Op2=1
link(onResult,1359222:doReset,[(207,76)(207,125)(95,125)(95,153)])
link(Op1,7944161:DateTime,[])
}
Add(Counter,1359222,126,133)
{
Max=86399
link(onNext,6975282:doCalc,[])
}
END_SDK
Add(Hub,16056977,448,217)
{
link(onEvent1,5300600:doEvent1,[])
link(onEvent2,12125055:doWork1,[(480,230)])
}
Add(InfoTip,9603159,140,273)
{
Info=#32:Иммитация ежесекундных измерений|
Font=[MS Sans Serif,8,1,255,1]
Width=316
Height=81
}
Add(ChildPanel,3746522,511,294)
{
}
BEGIN_SDK
Add(EditMulti,11810949,21,21)
{
EventCount=1
WorkCount=2
Width=846
Height=522
link(doWork1,14793498:doWork1,[])
link(doWork2,1998230:doEvent1,[(39,34)(39,251)])
}
Add(Panel,12986965,91,448)
{
Left=1
Top=195
Width=985
Height=458
}
Add(Bitmap,14586978,392,189)
{
Picture=[ZIP5207000078DA73F20D626700033320D6006246203ECE08A225C0E232507914D000C107EE1C201B53AA9FDAE60C363751238C47C37A34AC47C37A34AC47C39A7E610D00791FF87D]
HWidth=1
HHeight=455
FillColor=12639424
Point(doCreate)
}
Add(ChildPanel,14793498,105,21)
{
}
BEGIN_SDK
Add(EditMulti,6884947,21,21)
{
WorkCount=1
Width=153
Height=102
link(doWork1,16204598:doLoad,[(102,27)(102,83)])
}
Add(Panel,13811526,49,77)
{
Width=30
Height=457
Align=1
Color=12639424
}
Add(Bitmap,7051681,112,28)
{
Picture=[ZIPBAA3000078DAED9D318E1B391045DBB7D8C41B1B50A6C007D86883D97C823D828EA0601770A2434C64CC251610D089E5C89122011328D2395C336573CB245B228B9FB634FD071A40D6184F543559BF497E15FFF8EBBF8FC3CBCF7BF97D27BFBFCBEFE737C3F066F8EDE5F50FDFFE6E7FC6A7F1E263F867F03C7E267BBF1D4FC3E2340CF2383CFF75232F1E1E467D657CB8AB6848A6DDBBA7F1B45CED97F2A747F9E797A7F138DC8DDB95BCED6158E8BB15B34FF71B6DD697FB21654BA3F503E847BAD8F49A761FD78F96BD5B2F6E83DD33266DD7D23E84741AEEE4BA0636B40F363E5E373B8C293BFE71ED96CEADECA3FCCFEDAA8D1D8DFFE74E72BFD1CE3D3EACD0F1965EB95BAFBA5D4BF930C3DF586DD06844C314D4EE301CA3610AED27E59D84639E6CB26F9BAD892AE4F22B655BD1B162298F8BB76A35ED96042BBC6E3139AC1F77DB95B2D1731269F47129EC459F6BA9B7877DD81AF86E6C8E79B2C9BE2676B88F2D4FDE65EC30C396274779D27A1F6B75279AC6437547EFBCA5DD1A9992D9760D5B6EE94518AA260D35F10E991BAD691A96F219B14BD3D0F7101CF364933D2FB6CE18A275315CFE86EA8ED53461AB2474D0347DABFD5A12ECA2C39A927E0C05437547255842A1F200D562616B8BBBC5BB767190639E6CB26F8F9DDDAE43B0EDE2D773FEAEC75FDAE7D68CAAD3927255B8C4B633A7309D02EDCF075E0776B6DD37106FED27AA60E87ED2B37F339F904DF6B5B27D4E88CA75B6DA4DEEF275CD4A27440DDB3A213AF8D924F038DD69714214B25D4E88CA7E02D54B8E79B2E7C2766CA0FF62B6DB545096AB7CA682C23525632AE8B0AE694D0568DD71980A6AFA77ADA980639E6CB2C94619160AD86EC34299EEF8368E0AD86EC34219DB6758288EB75505A8A6F90C0B3573C05AC302C73CD964938D322C94E5EF9EBAE3332C94C5DB67582866DB35259CEEB80D0B65F7103EC3424D4CFAACE171CC934DF67976B8A18C46A17BF7356977484EEDEE824BEC96DDEE4BEC965DFA84AD80C04EDD050DDF498DD869BB716C68BC23768BBBC0B0ED6D8ED52E5CFF663E219BEC79B1D3722D6EDB42AEDDE98EB9CFB650C6F6D9168AD9C1B6D036DF997211D4DA160AD86EDB4209DB6B5B48D85905F3D91638E6C926FBDAD9D91A61383F4436DFF56143BD1669828DBC160DBA93C604E7B548D9BE020EC5D712E1B538336DA2D7826CB2E732DF1991351CA27405ADE170BE1463DBF72FD31292B81A0E29DB5A22A073A9D412D161EEDAECE59F921ED670209BECB9E80EB4CE426309E04A36AECE429A63717516B26C509D85EC5A18A8CE42CA06D559C8EA0EEB2C904DF6AF63472B488DB68589BDE854771CB6855C4C04AFC94E775CDCDBE813F1DEAF3751FD76876D618ABD1DF7CB4534DF91E79FFE1C3CD6822135376BAAB6ED6E601F24D22FB1549E95E0E678DB9B93E83404876D61C27F12756550FF663E219BECEB63A72E02A8AF207511E07C05591701C85730E68E81A83D1862BC70A645A48BFA4AC37C277511E07C05A98B00E72BC8BA08E82B209BEC19E98E7BFBBF4C7746E4D9105665D067435895E9703684D51DD0D9105995019D0D31A532A0B321A654866743904D36D9B5ECACAC396C0B13ED8E64CD675B385317D4C89ACFB670F6ACC7206B3EDBC2D96B1964CDDA16FE7DDBB27794CA9ACFB69065E764CD615B38DB4F2259ABB52D70CC934DF64DCEA5A09E854874D0674358D1419F0D11ADD8A1CF86B07329906721B38607F32C64D7F0706743A4A243CF02D964BF42B6752BA0BFE32E892FDC02CBFBD84D6E500D8731576606545320A459FD0CB85A0856D2537345739D85E8B3836A4FE8FA65E0E9F503C5DB06247443500D071BEF763304F309D97363078508B91CE72B08B7C6321C0F7247FC5D2A70BE8230D4FFDF2A81F90A4228021BE42B985ADF41D42B88765CA2594ACB7CE7BB42846CDDC15760834D5F01D964930DD1349CAF20AB6950CF82D534B467C16A1AD4B3906A1AC8B3907511E03C0BD91908D4B3904EC9E859209BECB9E80EA81642AA3BD05A0891EE406B2144BA03AD8510E98EFB788802DD894C05D0B914AE16C294EEB01602D964CF457770BE825477D0BE02AB3B685F41B48687F315A4E9343AC201B886F7A3AFA061EF28BB8687F61558DDA1AF80ECD7C38ECAFE43F7182D1BB4876EF7FEC30C04B4A72B98DDFA2E6A37EE1C04FD6EBE65A77BE85EB644F7B014F6A643BB5361E8E35998DA436F5E67134CB67F7BC0CFECAF125C84AC]
Point(doCreate)
}
Add(Image,16204598,112,77)
{
Width=30
Height=456
Color=12639424
ViewStyle=4
link(Bitmap,7051681:Bitmap,[])
}
END_SDK
Add(MultiStrPart,1701529,126,245)
{
link(onSplit,840461:doSplit,[])
}
Add(MultiStrPart,840461,175,245)
{
Char=":"
Count=3
link(onSplit,1354993:doCalc,[])
link(Str,1701529:Part1,[(181,236)(167,236)(167,292)(132,292)])
}
Add(MathParse,1354993,217,245)
{
DataCount=1
MathStr="(40 - %1)/50*455"
ResultType=0
link(onResult,6725227:doData,[])
link(X1,1701529:Part2,[(223,229)(160,229)(160,285)(139,285)])
}
Add(Img_Point,11338816,427,245)
{
X=954
Color=255
Point(Y)
Point(X)
link(onDraw,7228694:doCalc,[])
link(Bitmap,5692398:Var2,[])
link(Y,1354993:Result,[(440,233)(424,233)(424,283)(223,283)])
}
Add(MathParse,7228694,469,245)
{
MathStr="((%1*60 + %2) mod 120)=0"
link(onResult,15341018:doCompare,[])
link(X1,16052192:Var1,[(475,217)])
link(X2,1219252:Var1,[(482,228)])
}
Add(If_else,15341018,511,245)
{
Op2=Integer(1)
link(onTrue,12127298:doDraw,[])
}
Add(Img_Text,4000719,637,245)
{
X=905
Y=438
Font=[MS Sans Serif,10,0,16711680,1]
link(Bitmap,13381386:Var3,[(643,152)])
}
Add(Img_Line,12127298,553,245)
{
Point1=29754298
Point2=954
Color=32768
link(onDraw,3787286:doString,[])
link(Bitmap,13381386:Var2,[])
}
Add(FormatStr,3787286,595,245)
{
DataCount=3
Mask="%1:%2:%3"
link(onFString,4000719:doDraw,[])
link(Str1,840461:Part1,[(601,233)(605,233)(605,311)(181,311)])
link(Str2,16052192:Var2,[])
link(Str3,1219252:Var2,[])
}
Add(PaintBox,285478,455,105)
{
Left=30
Top=2
Width=955
Height=455
Color=12639424
}
Add(Img_Bmp,6985709,385,245)
{
X=954
link(onDraw,11338816:doDraw,[])
link(Bitmap,2975834:Var2,[])
link(SourceBitmap,14586978:Bitmap,[])
}
Add(Img_Bmp,2932146,343,245)
{
X=-1
Point(Transform)
link(onDraw,6985709:doDraw,[])
link(Bitmap,11731985:Var2,[])
}
Add(GetDataEx,15654163,455,147)
{
link(Data,285478:Bitmap,[])
}
Add(GetDataEx,2975834,385,147)
{
Angle=1
link(Data,5692398:Var1,[])
}
Add(GetDataEx,5692398,427,147)
{
Angle=1
link(Data,15654163:Var1,[])
}
Add(GetDataEx,13381386,553,147)
{
Angle=3
link(Data,15654163:Var3,[])
}
Add(DoData,6725227,259,245)
{
link(onEventData,11219636:doCopy,[])
}
Add(Img_Copy,11219636,301,245)
{
Width=955
Height=455
link(onCopy,2932146:doDraw,[])
link(Source,11731985:Var1,[(307,152)])
}
Add(GetDataEx,11731985,343,147)
{
Angle=1
link(Data,2975834:Var1,[])
}
Add(Hub,1998230,91,245)
{
link(onEvent1,1701529:doSplit,[])
link(onEvent2,285478:doRefresh,[(112,258)(112,111)])
}
Add(GetDataEx,1219252,609,223)
{
Angle=1
link(Data,840461:Part3,[(684,228)(684,289)(195,289)])
}
Add(GetDataEx,16052192,602,212)
{
Angle=1
link(Data,840461:Part2,[(692,217)(692,303)(689,303)(188,301)])
}
END_SDK
Add(Button,6700041,154,308)
{
Left=20
Top=95
Caption="On/Off"
link(onClick,10605474:doNext,[])
}
Add(Counter,10605474,203,308)
{
Max=1
Default=1
link(onNext,6705138:doEvent,[])
}
Add(IndexToChanel,6705138,245,308)
{
link(onEvent1,9508340:doEvent1,[(284,314)(284,300)])
link(onEvent2,2403626:doStop,[])
}
Add(Timer,2403626,329,308)
{
Interval=10
Enable=1
link(onTimer,2353023:doWork2,[])
}
Add(Hub,9508340,294,294)
{
link(onEvent1,2403626:doTimer,[(319,300)(319,314)])
link(onEvent2,2353023:doWork1,[])
}
Add(HubEx,12125055,476,301)
{
link(onEvent,3746522:doWork2,[])
}