andrewproffi, тоже в одном проекте округление нужно было оси Y, а ещё вторая Y ось и по оси Х временная шкала. Другого способа не придумал , как отрисовать шкалы самому. И часть вырезанный схемы из проекта как пример Add(MainForm,662542,350,280) { Width=829 Height=668 } Add(ChildPanel,6202571,476,266) { link(Data1,1061595:Value,[]) } BEGIN_SDK Add(EditMulti,8452163,21,21) { WorkCount=1 DataCount=1 Width=412 Height=284 VOffset=70 HOffset=140 link(doWork1,15846404:doEvent1,[]) } Add(Panel,7655291,42,231) { Left=7 Top=32 Width=800 Height=590 Color=16777215 Point(Handle) } Add(Plotter,8230296,364,49) { Width=800 Height=590 Color=16777215 Name="plot" MinH=-1 MaxH=70 LeftMargin=50 RightMargin=50 BottomMargin=30 MouseControl=1 Point(doMinH) Point(doMaxH) Point(MinX) Point(MaxX) Point(onMouseDown) Point(onMouseUp) Point(doMinW) Point(doMaxW) } Add(ChildPanel,8334680,154,91) { @Hint=#13:Шкала время X| link(Data1,3417767:Text,[]) link(Data2,4750631:Count,[(167,83)(209,83)]) AddHint(-30,50,93,13,@Hint) } BEGIN_SDK Add(EditMulti,4291821,21,21) { WorkCount=1 DataCount=2 Width=762 Height=501 VOffset=70 HOffset=70 link(doWork1,7199587:doEvent1,[(56,97)(56,181)]) } Add(Panel,2118246,42,385) { Top=560 Width=860 Height=30 BorderWidth=0 BevelInner=0 BevelWidth=0 } Add(PaintBox,10039800,399,182) { Width=800 Height=30 Align=5 Color=16777215 Point(onMouseDown) link(onBeforeDraw,9715670:doWork2,[]) link(onMouseDown,9715670:doWork3,[(438,195)]) } Add(Img_Line,11688626,399,385) { Size=2 Point(Point1) Point(Point2) link(onDraw,101909:doOperation,[]) link(Bitmap,9296726:Var2,[]) link(Point1,11662347:Point,[]) link(Point2,13447052:Point,[]) } Add(For,8914712,189,210) { Start=500 End=7500 Step=700 link(onEvent,13701620:doEvent1,[]) link(onStop,10019326:doDraw,[(243,223)(243,391)]) } Add(PointXY,11662347,406,266) { Y=3 link(X,16433030:Var3,[(412,251)]) } Add(PointXY,13447052,413,336) { Y=6 link(X,557971:Var2,[]) } Add(LineBreak,1892439,28,203) { Caption="1" link(Out,1308356:doCalc,[]) Primary=[3429213,427,-21] } Add(Math,9815017,322,210) { OpType=3 Op2=10.01 link(onResult,11688626:doDraw,[(376,216)(376,391)]) } Add(Hub,7199587,350,175) { link(onEvent1,10039800:doClear,[(382,181)(382,195)]) link(onEvent2,10039800:doRefresh,[]) } Add(Img_Text,3152125,553,385) { Y=7 Font=[Arial,9,0,0,204] Text="00:00" Point(X) link(Bitmap,5597568:Var3,[(559,229)]) link(Text,5402292:Value,[]) link(X,101909:Result,[(573,373)(599,373)(599,433)(468,433)]) } Add(GetDataEx,5597568,399,224) { link(Data,10039800:Bitmap,[]) } Add(MathParse,1308356,91,203) { MathStr="( %2 - %1 ) / 10" link(onResult,15685406:doEvent1,[]) link(X1,3849649:Var2,[]) link(X2,4291821:Data2,[]) } Add(HubEx,9715670,434,182) { link(onEvent,3429213:In,[]) } Add(Math,14977570,399,98) { Point(doDefault) link(onResult,8971610:doEvent1,[(446,104)(446,139)]) link(Op1,14977570:Result,[(405,86)(388,86)(388,139)(405,139)]) link(Op2,1308356:Result,[(412,79)(73,79)(73,253)(97,253)]) } Add(Hub,13701620,266,210) { link(onEvent1,9815017:doOperation,[]) link(onEvent2,14977570:doOperation,[(303,223)(303,104)]) } Add(Memory,5402292,560,133) { Default=String( ) } Add(DoData,11006955,189,133) { link(onEventData,15037146:doEvent1,[]) link(Data,3849649:Var3,[(195,117)]) } Add(Hub,15685406,140,203) { link(onEvent1,11006955:doData,[(163,209)(163,139)]) link(onEvent2,8914712:doFor,[]) } Add(GetDataEx,3849649,91,112) { link(Data,4291821:Data1,[]) } Add(Hub,8971610,462,133) { InCount=2 OutCount=1 link(onEvent1,9595966:doConvert,[]) } Add(Hub,15037146,350,133) { link(onEvent1,14977570:doDefault,[(378,139)(378,111)]) link(onEvent2,8971610:doEvent2,[]) } Add(GetDataEx,16433030,322,246) { link(Data,9815017:Result,[]) } Add(DateConvertor,9595966,497,133) { Mode=16 Format="HH:mm:ss" link(onResult,5402292:doValue,[]) } Add(Math,101909,462,385) { OpType=1 Op2=25 link(onResult,9710622:doData,[]) link(Op1,557971:Var3,[(468,314)]) } Add(Img_Line,10019326,266,385) { Point(Point1) Point(Point2) link(Bitmap,9296726:Var1,[(272,362)]) link(Point1,12737631:Point,[]) link(Point2,16728682:Point,[]) } Add(PointXY,12737631,273,259) { X=50 Y=3 } Add(PointXY,16728682,280,315) { X=750 Y=3 } Add(GetDataEx,9296726,399,357) { link(Data,5597568:Var2,[]) } Add(GetDataEx,557971,413,309) { Angle=3 link(Data,16433030:Var2,[(328,314)]) } Add(DoData,9710622,504,385) { link(onEventData,3152125:doDraw,[]) } END_SDK Add(Hub,15846404,56,91) { OutCount=4 link(onEvent1,8334680:doWork1,[]) link(onEvent2,7794351:doWork1,[(119,104)(119,181)]) link(onEvent3,8492962:doWork1,[(104,111)(104,244)]) link(onEvent4,4750631:doNext,[(85,118)(85,48)]) } Add(ChildPanel,7794351,245,175) { @Hint=#8:Шкала RY| link(Data1,7909334:Text,[]) link(Data2,4501370:Text,[(258,167)(293,167)]) link(Data3,8452163:Data1,[(265,36)(167,36)]) AddHint(53,11,66,13,@Hint) } BEGIN_SDK Add(EditMulti,8322098,21,21) { EventCount=1 WorkCount=1 DataCount=3 Width=846 Height=494 VOffset=70 HOffset=70 link(doWork1,16216591:doEvent1,[(65,97)(65,167)]) } Add(Panel,9901053,49,385) { Left=750 Width=50 Height=565 Color=15780518 BorderWidth=0 BevelInner=0 BevelWidth=0 } Add(PaintBox,11812728,420,168) { Width=50 Height=565 Align=5 Color=16777215 Point(onMouseDown) link(onBeforeDraw,10021834:doWork2,[]) link(onMouseDown,10021834:doWork3,[(459,181)]) } Add(Img_Line,11644787,420,392) { Size=2 Point(Point1) Point(Point2) link(onDraw,793777:doOperation,[]) link(Bitmap,10581742:Var2,[]) link(Point1,469164:Point,[]) link(Point2,6768916:Point,[]) } Add(For,204863,210,210) { Start=5600 End=90 Step=-545 link(onEvent,6446009:doEvent1,[]) link(onStop,4281616:doDraw,[(264,223)(264,398)]) } Add(PointXY,469164,427,273) { X=3 link(Y,1892278:Var3,[(440,258)]) } Add(PointXY,6768916,434,343) { X=6 link(Y,8227634:Var2,[]) } Add(LineBreak,5680182,42,203) { Caption="1" link(Out,12265773:doCalc,[]) Primary=[16707017,434,-35] } Add(Math,2300369,343,210) { OpType=3 Op2=10 link(onResult,11644787:doDraw,[(397,216)(397,398)]) } Add(Hub,16216591,371,161) { link(onEvent1,11812728:doClear,[(403,167)(403,181)]) link(onEvent2,11812728:doRefresh,[]) } Add(Img_Text,5564329,630,392) { X=12 Font=[Arial,9,0,255,204] Text="00" Point(Y) link(Bitmap,8548766:Var3,[(636,236)]) link(Text,753780:Value,[]) link(Y,793777:Result,[(650,380)(679,380)(679,448)(489,448)]) } Add(GetDataEx,8548766,420,231) { link(Data,11812728:Bitmap,[]) } Add(MathParse,12265773,91,203) { MathStr="( %2 - %1 ) / 10" link(onResult,15524132:doEvent1,[]) link(X1,15875221:Var2,[]) link(X2,8322098:Data2,[]) } Add(HubEx,10021834,455,168) { link(onEvent,16707017:In,[]) } Add(Hub,6446009,287,210) { link(onEvent1,2300369:doOperation,[]) link(onEvent2,11931450:doOperation,[(314,223)(314,76)]) } Add(Hub,15524132,161,203) { link(onEvent1,2449569:doData,[(193,209)(193,111)]) link(onEvent2,204863:doFor,[]) } Add(GetDataEx,1892278,343,253) { link(Data,2300369:Result,[]) } Add(Math,793777,483,392) { OpType=1 Op2=8 link(onResult,10554152:doData,[]) } Add(Img_Line,4281616,287,392) { Point(Point1) Point(Point2) link(Bitmap,10581742:Var1,[(293,369)]) link(Point1,1637837:Point,[]) link(Point2,2139122:Point,[]) } Add(PointXY,1637837,294,266) { X=3 Y=14 } Add(PointXY,2139122,301,322) { X=3 Y=560 } Add(GetDataEx,10581742,420,364) { link(Data,8548766:Var2,[]) } Add(GetDataEx,8227634,441,316) { Angle=3 link(Data,1892278:Var2,[(349,321)]) } Add(DoData,10554152,525,392) { link(onEventData,5564329:doDraw,[]) } Add(Math,11931450,476,70) { Point(doDefault) link(onResult,5588566:doEvent1,[(523,76)(523,111)]) link(Op1,11931450:Result,[(482,58)(465,58)(465,111)(482,111)]) link(Op2,12265773:Result,[(489,44)(140,44)(140,255)(97,255)]) } Add(Hub,5588566,539,105) { InCount=2 OutCount=1 link(onEvent1,5264981:doOperation,[]) } Add(Hub,10382704,427,105) { link(onEvent1,11931450:doDefault,[(455,111)(455,83)]) link(onEvent2,5588566:doEvent2,[]) } Add(Memory,753780,637,105) { } Add(DoData,2449569,217,105) { link(onEventData,10382704:doEvent1,[]) link(Data,15875221:Var3,[(223,75)]) } Add(GetDataEx,15875221,91,70) { link(Data,8322098:Data1,[]) } Add(Math,5264981,581,105) { OpType=35 Op2=0.01 link(onResult,753780:doValue,[]) link(Op2,8322098:Data3,[(594,32)(111,32)]) } END_SDK Add(ChildPanel,8492962,140,238) { @Hint=#8:Шкала LY| link(Data1,1538783:Text,[]) link(Data2,5812581:Text,[(153,222)(181,222)]) AddHint(57,10,64,13,@Hint) } BEGIN_SDK Add(EditMulti,2233548,21,21) { WorkCount=1 DataCount=2 Width=713 Height=480 VOffset=70 HOffset=70 link(doWork1,7018817:doEvent1,[(265,97)(265,167)]) } Add(Panel,12272954,49,378) { Width=50 Height=565 Color=15780518 BorderWidth=0 BevelInner=0 BevelWidth=0 } Add(PaintBox,505042,420,168) { Width=50 Height=565 Align=5 Color=16777215 Point(onMouseDown) link(onBeforeDraw,5562234:doWork2,[]) link(onMouseDown,5562234:doWork3,[(466,181)]) } Add(Img_Line,6170130,420,385) { Size=2 Point(Point1) Point(Point2) link(onDraw,1120601:doOperation,[]) link(Bitmap,11993115:Var2,[]) link(Point1,2547486:Point,[]) link(Point2,8000438:Point,[]) } Add(For,1490083,210,203) { Start=5600 End=90 Step=-545 link(onEvent,6534780:doEvent1,[]) link(onStop,12702408:doDraw,[(264,216)(264,391)]) } Add(PointXY,2547486,427,266) { X=46 link(Y,16184967:Var3,[(440,251)]) } Add(PointXY,8000438,434,336) { X=43 link(Y,16184967:Var2,[(447,314)(349,314)]) } Add(LineBreak,8030261,49,196) { Caption="1" link(Out,8559460:doCalc,[]) Primary=[4100906,434,-28] } Add(Math,505442,343,203) { OpType=3 Op2=10 link(onResult,6170130:doDraw,[(397,209)(397,391)]) } Add(Hub,7018817,371,161) { link(onEvent1,505042:doClear,[(403,167)(403,181)]) link(onEvent2,505042:doRefresh,[]) } Add(Img_Text,16094575,574,385) { X=15 Font=[Arial,9,0,16711680,204] Text="00" Point(Y) link(Bitmap,7018362:Var3,[(580,215)]) link(Text,15141588:Value,[]) link(Y,1120601:Result,[(594,373)(634,373)(634,438)(489,438)]) } Add(GetDataEx,7018362,420,210) { link(Data,505042:Bitmap,[]) } Add(MathParse,8559460,91,196) { MathStr="( %2 - %1 ) / 10" link(onResult,6538859:doEvent1,[]) link(X1,1487832:Var2,[]) link(X2,2233548:Data2,[]) } Add(HubEx,5562234,462,168) { link(onEvent,4100906:In,[]) } Add(Hub,6534780,287,203) { link(onEvent1,505442:doOperation,[]) link(onEvent2,6534797:doOperation,[(326,216)(326,97)]) } Add(Hub,6538859,161,196) { link(onEvent1,5547060:doData,[(196,202)(196,132)]) link(onEvent2,1490083:doFor,[]) } Add(GetDataEx,16184967,343,246) { link(Data,505442:Result,[]) } Add(Math,1120601,483,385) { OpType=1 Op2=8 link(onResult,14330589:doData,[]) } Add(Img_Line,12702408,287,385) { Point(Point1) Point(Point2) link(Bitmap,11993115:Var1,[(293,362)]) link(Point1,9632407:Point,[]) link(Point2,1113303:Point,[]) } Add(PointXY,9632407,294,259) { X=46 Y=15 } Add(PointXY,1113303,301,315) { X=46 Y=560 } Add(GetDataEx,11993115,420,357) { link(Data,7018362:Var2,[]) } Add(DoData,14330589,525,385) { link(onEventData,16094575:doDraw,[]) } Add(Math,6534797,399,91) { Point(doDefault) link(onResult,4444007:doEvent1,[(446,97)(446,132)]) link(Op1,6534797:Result,[(405,79)(388,79)(388,132)(405,132)]) link(Op2,8559460:Result,[(412,54)(142,54)(142,251)(97,251)]) } Add(Hub,4444007,462,126) { InCount=2 OutCount=1 link(onEvent1,8154361:doOperation,[]) } Add(Hub,7204542,350,126) { link(onEvent1,6534797:doDefault,[(378,132)(378,104)]) link(onEvent2,4444007:doEvent2,[]) } Add(Memory,15141588,581,126) { } Add(DoData,5547060,210,126) { link(onEventData,7204542:doEvent1,[]) link(Data,1487832:Var3,[(216,75)]) } Add(GetDataEx,1487832,91,70) { link(Data,2233548:Data1,[]) } Add(Math,8154361,518,126) { OpType=35 Op2=0.01 link(onResult,15141588:doValue,[]) AddHint(-10,-39,36,13,Op2) } END_SDK Add(VisualStrings,7909334,245,126) { Lines=#1:1| } Add(VisualStrings,1538783,140,196) { Lines=#1:0| } Add(VisualStrings,5812581,175,196) { Lines=#1:9| } Add(VisualStrings,3417767,154,56) { Lines=#1:0| } Add(VisualStrings,4501370,287,126) { Lines=#6:33.333| Width=67 } Add(CounterEx,4750631,203,42) { Max=10000000 } END_SDK Add(ScrollBar,173203,357,203) { Left=705 Top=10 Hint="Кол. знаков после запятой" Max=3 Page=1 link(onPosition,14846278:doGetString,[]) } Add(StrList,14846278,420,175) { Strings=#1:1|3:0.1|4:0.01|5:0.001| Point(doGetString) Point(onGetString) link(onGetString,1061595:doValue,[]) } Add(Memory,1061595,476,182) { Default=Real(1) } Add(Timer,16071841,420,266) { Interval=100 link(onTimer,6202571:doWork1,[]) }
Gunta писал(а): Вот сделал пример на dll-ке ScottPlot Gunta, а как используя Ваш пример передать БОЛЬШОЙ(1000000) массив с данными для построения графика,? Редактировалось 4 раз(а), последний 2022-10-23 13:14:26
|