Rysik писал(а):
как то так, мб есть варианты к оптимизации?Вот мой вариант. В разы быстрее.
Add(MainForm,8931071,329,119)
{
Width=460
Height=243
}
Add(Button,9551345,315,196)
{
Left=60
Top=170
Caption="Сut >>"
link(onClick,13467277:doEvent1,[])
}
Add(Memo,4480328,420,119)
{
Left=5
Top=10
Width=210
Height=145
Strings=#15:554880000-32768|14:554912768-8192|16:554920960-421888|14:555342848-4096|16:555346944-413696|16:555760640-159744|15:555920384-16384|15:555936768-40960|14:556719104-4096|16:556723200-516096|
ScrollBars=2
}
Add(Memo,4741751,1015,273)
{
Left=240
Top=10
Width=185
Height=145
ScrollBars=2
}
Add(ArrayEnum,14243239,434,196)
{
link(onItem,13633548:doWork2,[])
link(onEndEnum,6962299:doWork1,[(494,209)(494,272)(893,272)])
link(Array,4480328:Array,[])
}
Add(Hub,13467277,371,196)
{
link(onEvent1,4354554:doEvent1,[(403,202)(403,321)])
link(onEvent2,14243239:doEnum,[(410,209)(410,202)])
}
Add(MultiStrData,13197506,511,196)
{
Char="-"
link(Str,14243239:Item,[(517,187)(489,187)(489,236)(440,236)])
link(onPart1,14116742:doConvert,[])
link(onPart2,10789071:doConvert,[])
}
Add(ConvertorEx,14116742,560,196)
{
Mode=1
}
Add(ConvertorEx,10789071,567,203)
{
Mode=1
link(onResult,14608050:doNext,[])
}
Add(Math,8194815,749,133)
{
link(Op1,7945943:Var2,[])
link(Op2,7794647:Var2,[])
}
Add(CounterEx,14608050,644,203)
{
Max=10000000
Point(doReset)
link(onNext,12293223:doCompare,[])
}
Add(If_else,12293223,693,203)
{
Type=3
Op2=Integer(1)
link(onTrue,8241360:doValue,[])
link(onFalse,7909724:doCompare,[])
}
Add(Memory,8241360,833,203)
{
Point(Data)
link(onData,13930649:doWork2,[])
link(Data,7945943:Var3,[(839,103)])
}
Add(If_else,7909724,742,210)
{
link(onTrue,13930649:doWork3,[(823,216)(823,223)(879,223)])
link(onFalse,11896908:doEvent1,[(781,223)(781,279)])
link(Op1,4563161:Var3,[(748,187)])
link(Op2,8194815:Result,[])
}
Add(FormatStr,8064793,945,273)
{
Mask="%1-%2"
link(onFString,4741751:doAdd,[])
link(Str1,8241360:Value,[(951,255)(839,255)])
link(Str2,7362465:Var2,[])
}
Add(Math,10659197,966,210)
{
Point(doClear)
link(Op1,7362465:Var1,[(972,194)(951,194)(951,250)])
link(Op2,7794647:Var3,[(979,91)])
}
Add(Hub,11896908,798,273)
{
OutCount=3
link(onEvent1,6962299:doWork2,[])
link(onEvent2,4662615:doWork2,[])
link(onEvent3,13633548:doWork3,[(822,293)(822,313)(501,313)])
}
Add(HubEx,13633548,497,196)
{
link(onEvent,13197506:doSplit,[])
}
Add(Hub,4114294,903,203)
{
link(onEvent1,8194815:doOperation,[(928,209)(928,174)(739,174)(739,139)])
link(onEvent2,10659197:doOperation,[])
}
Add(GetDataEx,7362465,952,245)
{
Angle=1
link(Data,10659197:Result,[(972,250)])
}
Add(Hub,7156930,847,280)
{
link(onEvent1,10659197:doClear,[(921,286)(921,223)])
link(onEvent2,14608050:doReset,[(875,293)(875,306)(634,306)(634,216)])
}
Add(Hub,4354554,784,315)
{
link(onEvent1,4662615:doWork3,[(830,321)])
link(onEvent2,4741751:doClear,[(984,328)(984,286)])
}
Add(HubEx,4662615,826,280)
{
link(onEvent,7156930:doEvent1,[])
}
Add(HubEx,6962299,889,273)
{
link(onEvent,8064793:doString,[])
}
Add(GetDataEx,7794647,756,86)
{
Angle=3
link(Data,10789071:Var,[(615,91)(615,243)(573,243)])
}
Add(GetDataEx,7945943,749,98)
{
Angle=3
link(Data,4563161:Var2,[(626,103)])
}
Add(GetDataEx,4563161,620,182)
{
Angle=2
link(Data,14116742:Var,[(626,250)(566,250)])
}
Add(HubEx,13930649,875,203)
{
link(onEvent,4114294:doEvent1,[])
}