Вверх ↑
Ответов: 878
Рейтинг: 187
#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)])
}

карма: 18

0