Вверх ↑
Ответов: 771
Рейтинг: 168
#1: 2024-06-08 14:39:37 ЛС | профиль | цитата
andrewproffi, Никогда не применяй EventFromData как Memory. Он предназначен не для этого.
Твоя схема тормозит от того, что ты пытаешься выводить всё в Memo и из-за использования таймеров с визуальными компонентами.
10 тысяч точек, 3 графика – задержка около секунды

Add(MainForm,14372191,203,182)
{
Left=21
Top=105
Width=1450
Height=871
Color=-16777194
Font=[Arial,8,0,0,1]
Ctl3D=0
Caption="тест SCD40"
BorderStyle=1
link(onCreate,15799540:doFor,[])
}
Add(Plotter,13668624,945,161)
{
Left=140
Width=1000
Height=400
Name="1"
GridX=20
GridY=20
LeftMargin=40
TopMargin=30
Point(MinY)
Point(MaxY)
Point(doEnabled)
Point(MinX)
Point(MaxX)
}
Add(Button,3649645,861,203)
{
Left=5
Top=740
Width=120
Height=35
Caption="Очистить график"
Data=Integer(0)
link(onClick,5720659:doEvent1,[])
}
Add(Hub,5720659,910,203)
{
OutCount=3
link(onEvent1,13668624:doClear,[(934,209)(934,167)])
link(onEvent2,14196124:doClear,[(934,216)(934,223)])
link(onEvent3,16236745:doClear,[(934,223)(934,300)])
}
Add(Plotter,14196124,945,217)
{
Left=140
Top=405
Width=1000
Height=210
Name="2"
GridX=5
MinH=1
LeftMargin=40
TopMargin=30
Point(MinY)
Point(MaxY)
Point(doEnabled)
Point(doMinW)
Point(doMaxW)
Point(MinX)
Point(MaxX)
}
Add(Plotter,16236745,945,294)
{
Left=140
Top=625
Width=1000
Height=210
Name="3"
GridX=5
LeftMargin=40
TopMargin=30
Point(MinY)
Point(MaxY)
Point(doMinH)
Point(doMaxH)
Point(doEnabled)
Point(doMinW)
Point(doMaxW)
Point(MinX)
Point(MaxX)
}
Add(PlotPoints,16575108,455,161)
{
Grapher="2"
Color=0
Size=3
Step=1
Shape=2
Point(doColor)
}
Add(PlotPoints,15831482,455,252)
{
Grapher="3"
Size=3
Step=1
Shape=2
Point(doColor)
}
Add(PlotPoints,7507624,455,203)
{
Grapher="1"
Color=0
Size=3
Step=1
Shape=2
Point(doColor)
}
Add(Button,3350393,77,196)
{
Left=55
Top=325
Caption="выкл"
Data=Integer(1)
}
Add(Memo,1824552,595,385)
{
Left=1145
Top=40
Width=310
Height=645
ScrollBars=2
link(onChange,10324091:doData,[(639,391)(639,433)(590,433)(590,475)])
}
Add(DoData,10324091,602,469)
{
Data=Integer(0)
link(onEventData,11676252:doText,[])
link(Data,1824552:Count,[])
}
Add(Edit,11676252,651,469)
{
Left=1195
Top=700
Width=110
}
Add(Button,9926212,81,165)
{
Left=50
Top=300
Caption="вкл"
Data=Integer(1)
}
Add(StrCat,13187429,532,385)
{
Str2=" тестовая с тестовая строкатрока"
link(onStrCat,1824552:doAdd,[])
}
Add(Button,13428654,91,280)
{
Left=50
Top=390
Caption="выкл низ"
Data=Integer(1)
}
Add(Button,4819930,95,249)
{
Left=50
Top=360
Caption="вкл низ"
Data=Integer(1)
}
Add(For,15799540,266,196)
{
End=10000
link(onEvent,5835041:doRandom,[])
}
Add(Random,5835041,322,196)
{
Min=-30
Max=30
link(onRandom,9885685:doCalc,[])
}
Add(MathParse,9885685,371,196)
{
MathStr="%1 + %0"
link(onResult,11840090:doEvent1,[])
}
Add(EventFromData,13514818,385,476)
{
}
Add(Hub,11840090,420,196)
{
OutCount=3
link(onEvent1,16575108:doAdd,[(445,202)(445,167)])
link(onEvent2,7507624:doAdd,[])
link(onEvent3,15831482:doAdd,[(445,216)(445,258)])
}

карма: 15

0