Programmer_HiAsm, вот как вариант:
 схема
Add(MainForm,2953706,126,308) { Width=484 Height=489 Position=1 } Add(ArrayRW,7251137,238,224) { Index=Integer(0) link(onRead,5285092:doRead,[]) link(Array,14266566:Var2,[]) link(Index,655278:Count,[]) } Add(Button,5424232,126,357) { Left=150 Top=390 Width=155 Height=45 Caption="СТАРТ" link(onClick,7743621:doEvent1,[]) } Add(Bitmap,4403065,497,294) { Point(Width) } Add(Timer,11009962,252,462) { Interval=50 Enable=1 link(onTimer,15514210:doEvent1,[]) } Add(Image,9793027,497,504) { Left=5 Top=5 Width=465 Height=360 link(Bitmap,6062333:Var2,[]) } Add(CounterEx,655278,245,161) { Max=2 Point(doPrev) link(onNext,14422441:doEvent,[]) } Add(Hub,15514210,294,462) { link(onEvent1,2840669:doDraw,[]) link(onEvent2,9793027:doLoad,[(318,475)(318,510)]) } Add(Img_Bmp,2840669,413,462) { Point(X) link(onDraw,9063077:doDraw,[]) link(Bitmap,6062333:Var1,[(419,439)]) link(SourceBitmap,416795:Var2,[(426,455)(244,455)]) link(X,4335094:Count,[]) } Add(ArrayRW,5285092,329,224) { Index=Integer(0) link(Array,14266566:Var3,[(335,208)]) link(Index,4562049:Count,[]) } Add(GetDataEx,14266566,238,203) { link(Data,13110966:Array,[]) } Add(CounterEx,4562049,336,161) { Max=2 Default=1 Point(doPrev) link(onNext,13487093:doWork1,[(375,167)(375,201)(224,201)]) } Add(CounterEx,4335094,427,357) { Step=10 Default=1 Point(doPrev) Point(doMax) Point(onThroughMax) Point(onThroughMin) link(onNext,2851763:doWork2,[]) link(onThroughMax,5002477:doWork2,[]) link(onThroughMin,5002477:doWork3,[(471,377)]) } Add(Img_Bmp,9063077,553,462) { Point(X) link(onDraw,3133824:doEvent,[(600,468)(600,551)(350,551)(350,363)]) link(Bitmap,6062333:Var3,[(559,439)]) link(SourceBitmap,5285092:Item,[(566,283)(335,283)]) link(X,12255730:Result,[]) } Add(GetDataEx,6062333,497,434) { link(Data,4403065:Bitmap,[]) } Add(Math,12255730,567,357) { OpType=1 link(Op2,3042935:Var3,[(580,342)]) } Add(GetDataEx,3042935,504,337) { link(Data,4403065:Width,[]) } Add(Hub,7743621,182,357) { OutCount=5 link(onEvent1,13487093:doWork3,[(224,363)]) link(onEvent2,12952592:doData,[(234,370)(234,300)]) link(onEvent3,12627389:doOperation,[]) link(onEvent4,7814053:doWork1,[(236,384)(236,419)]) link(onEvent5,11009962:doTimer,[(203,391)(203,468)]) } Add(DoData,12952592,252,294) { link(onEventData,4403065:doLoad,[]) link(Data,416795:Var3,[(258,271)]) } Add(GetDataEx,416795,238,266) { link(Data,7251137:Item,[]) } Add(HubEx,13487093,220,224) { link(onEvent,7251137:doRead,[]) } Add(HubEx,2851763,532,357) { link(onEvent,12255730:doOperation,[]) } Add(ChanelToIndex,7814053,252,413) { Count=1 link(onIndex,2851763:doWork3,[(536,419)]) } Add(Math,12627389,252,371) { OpType=1 Op2=1 link(onResult,4335094:doMax,[]) link(Op1,3042935:Var1,[(258,342)]) AddHint(18,-22,30,13,Op2) } Add(BitmapArray,13110966,238,84) { @Hint=#34:Замените на компонент с картинками| Bitmaps=[] AddHint(-47,-39,150,26,@Hint) } Add(CheckBox,5709910,378,105) { Top=370 Width=135 } Add(IndexToChanel,3133824,378,357) { Point(Index) link(onEvent1,4335094:doNext,[]) link(onEvent2,4335094:doPrev,[]) link(Index,436690:Var2,[]) } Add(IndexToChanel,10182421,196,161) { Point(Index) link(onEvent1,655278:doNext,[]) link(onEvent2,655278:doPrev,[]) link(Index,11690897:Var1,[(202,152)]) } Add(GetDataEx,436690,378,147) { link(Data,5709910:Checked,[]) } Add(IndexToChanel,14422441,294,161) { Point(Index) link(onEvent1,4562049:doNext,[]) link(onEvent2,4562049:doPrev,[]) link(Index,11690897:Var2,[]) } Add(GetDataEx,11690897,294,147) { Angle=1 link(Data,436690:Var1,[]) } Add(HubEx,5002477,467,364) { Angle=3 link(onEvent,10182421:doEvent,[(471,32)(177,32)(177,167)]) }
|