Вверх ↑
Ответов: 8912
Рейтинг: 823
#1: 2024-06-08 18:36:49 ЛС | профиль | цитата
andrewproffi, следить за графиком в реальном времени, да ещё при отображении более 2^14 точек это извращение
Проще собрать информацию и затем рассматривать в каком угодно разрешении.


Add(MainForm,14372191,301,49)
{
Left=21
Top=105
Width=513
Height=501
Color=-16777194
Font=[Arial,8,0,0,1]
Ctl3D=0
Caption="График"
BorderStyle=1
link(onCreate,16203543:doClear,[(346,69)(346,111)])
}
Add(Plotter,16236745,483,154)
{
Top=40
Width=505
Height=211
Name="3"
GridX=5
LeftMargin=40
TopMargin=30
MouseControl=1
Point(MinY)
Point(MaxY)
Point(doEnabled)
Point(MinX)
Point(MaxX)
}
Add(PlotPoints,15831482,441,168)
{
Grapher="3"
Size=3
Step=1
MaxValues=5001
Shape=2
Point(doColor)
}
Add(ChildPanel,2035153,301,98)
{
link(onEvent1,14190969:doEvent1,[(340,104)(340,97)])
link(onEvent2,1618730:doEvent1,[(340,111)(340,139)(245,139)(245,167)])
}
BEGIN_SDK
Add(EditMulti,718962,7,7)
{
EventCount=3
WorkCount=1
VarCount=2
Width=524
Height=151
link(doWork1,2869297:doText,[(298,13)(298,20)(312,20)(312,34)])
link(Var1,15511391:Var1,[(13,110)(307,110)(307,75)])
link(Var2,4055439:Var1,[(20,131)])
}
Add(Panel,6731582,28,28)
{
Width=507
Height=40
Align=2
}
Add(CounterEx,12131730,175,63)
{
Max=99999999
link(onNext,1184753:doEvent1,[])
}
Add(Button,16013611,77,63)
{
Left=140
Top=5
Caption="выкл"
Data=Integer(1)
link(onClick,9648798:doStop,[])
}
Add(Button,11233891,77,28)
{
Left=20
Top=5
Caption="вкл"
Data=Integer(1)
link(onClick,9648798:doStart,[(116,34)(116,62)])
}
Add(Edit,2337565,266,70)
{
Left=85
Top=5
ReadOnly=0
ClearAfterEnter=1
}
Add(Hub,1184753,224,63)
{
link(onEvent1,12744155:doCalc,[(249,69)(249,34)])
link(onEvent2,2337565:doText,[])
}
Add(Button,3824384,336,91)
{
Left=215
Top=10
Width=85
Caption="Показать ещё"
link(onClick,4909536:doCalc,[])
}
Add(MathParse,4909536,399,91)
{
link(onResult,718962:onEvent2,[(480,97)(480,20)])
link(X1,15511391:Var2,[])
link(X2,9136399:Text,[(412,68)(447,68)])
}
Add(Edit,2869297,399,28)
{
Left=420
Top=10
Text="0"
DataType=2
link(Str,4055439:Var3,[(405,19)(384,19)])
}
Add(Edit,9136399,441,28)
{
Left=305
Top=10
Text="1000"
DataType=2
}
Add(Label,4965695,14,63)
{
Left=360
Top=15
Width=59
Height=17
Caption="начиная с"
}
Add(GetDataEx,15511391,399,70)
{
link(Data,2869297:Text,[])
}
Add(MathParse,12744155,266,28)
{
MathStr="sin(%1*0.033333)"
link(onResult,718962:onEvent1,[(305,34)(305,13)])
}
Add(Thread,9648798,126,56)
{
Delay=0
link(onSyncExec,12131730:doNext,[])
}
Add(GetDataEx,4055439,378,126)
{
Angle=1
link(Data,4909536:Result,[(405,131)])
}
END_SDK
Add(StrList,16203543,385,98)
{
}
Add(For,13127439,301,168)
{
link(onEvent,14299200:doRead,[])
link(onStop,2035153:doWork1,[(340,181)(340,146)(284,146)(284,104)])
link(Start,2035153:Var1,[])
link(End,2035153:Var2,[])
}
Add(ArrayRW,14299200,385,168)
{
link(onRead,15831482:doAdd,[])
link(Array,16203543:Array,[(391,138)(405,138)])
}
Add(PlotLines,8085965,441,84)
{
Grapher="2"
Color=16711680
Step=1
MaxValues=1001
}
Add(Plotter,1867453,483,84)
{
Top=260
Width=505
Height=211
Name="2"
MouseControl=1
}
Add(Hub,14190969,357,91)
{
link(onEvent1,8085965:doAdd,[(424,97)(424,90)])
link(onEvent2,16203543:doAdd,[])
}
Add(Hub,1618730,266,161)
{
link(onEvent1,16236745:doClear,[(291,167)(291,160)])
link(onEvent2,13127439:doFor,[])
}

(Если поставить в компоненте "Tread" интервал "0", накопление данных очень быстрое и график срабатывает во время отвлечения Windos на свои внутренние проблемы )
карма: 19

0