Вверх ↑
Этот топик читают: Гость
Ответов: 10
Рейтинг: 0
#1: 2024-04-23 19:39:12 ЛС | профиль | цитата
Исходные данные — имеется файл со строками чисел 25.0 26.3 30.3 и т.д. Его надо вывести на график и ползунком сдвинуть влево-вправо по оси Х. Сдвижка вправо получается предварительным добавлением в серию строк с нулями (см. проект). А как сдвинуть график тем же (или другим) ползунком влево по оси Х именно из файла?
Add(MainForm,16184661,154,350)
{
Left=20
Top=105
Width=501
Height=412
Caption="Сдвиг графика"
}
Add(Plotter,11338811,546,413)
{
Width=485
Height=373
Align=5
Name="plotter"
MaxW=100
}
Add(PlotLines,6267160,546,462)
{
Grapher="plotter"
Size=2
Step=1
}
Add(Edit,12679498,406,350)
{
@Color=16777130
Left=105
Top=10
Width=205
Height=23
Color=16776960
Text=""
link(onChange,2210379:doEvent2,[(451,356)(451,334)(205,334)(205,433)])
}
Add(Hub,10099476,350,441)
{
@Color=16777130
OutCount=3
link(onEvent1,10481824:doLoad,[(385,447)(385,482)])
link(onEvent2,10820109:doEnum,[(394,454)(394,440)])
link(onEvent3,10481824:doClear,[])
}
Add(Memory,6570829,308,441)
{
@Color=16777130
link(onData,10099476:doEvent1,[])
}
Add(ArrayEnum,10820109,462,434)
{
@Color=16777130
link(onItem,13537410:doEvent1,[(502,440)(502,468)])
link(Array,10481824:Array,[(468,422)(447,422)(447,498)(426,498)])
}
Add(FileStream,834177,259,441)
{
@Color=16777130
link(onLoad,6570829:doValue,[])
link(FileName,5752912:Data1,[(265,433)(412,433)])
}
Add(ODialog,13480764,350,350)
{
link(onExecute,12679498:doText,[])
}
Add(GetData,5752912,406,392)
{
@Color=16777130
Count=3
link(Data,12679498:Text,[])
}
Add(Hub,13537410,511,462)
{
@Color=16777130
InCount=2
OutCount=1
link(onEvent1,6267160:doAdd,[])
}
Add(For,7492919,224,497)
{
End=20
link(onEvent,2359285:doData,[])
link(End,14666397:Result,[(237,485)(199,485)(199,520)(160,520)])
}
Add(DoData,2359285,308,497)
{
Data=Integer(0)
link(onEventData,13537410:doEvent2,[(502,503)(502,475)])
}
Add(Hub,2210379,217,420)
{
@Color=16777130
InCount=2
OutCount=5
link(onEvent1,6267160:doClear,[(371,426)(371,410)(534,410)(534,475)])
link(onEvent2,14666397:doCalc,[(242,433)(242,405)(139,405)(139,482)])
link(onEvent3,7492919:doFor,[(247,440)(247,463)(209,463)(209,503)])
link(onEvent4,834177:doOpen,[])
link(onEvent5,834177:doClose,[])
}
Add(MathParse,14666397,154,476)
{
MathStr="%1 - 1"
ResultType=0
link(X1,216527:Position,[])
}
Add(ButtonRush,1306947,301,350)
{
Left=35
Top=10
Width=60
Height=22
GradientStyle=1
BorderWidth=2
ShadowOffsetOver=0
Caption="Read file"
Glyphs=[]
DotsOrient=1
Point(doCaption)
link(onClick,13480764:doExecute,[])
}
Add(TrackBarRush,216527,154,420)
{
Left=320
Top=10
Width=155
Height=25
Color=16777215
SlideColorFrom=16711680
ActSlideColorFrom=16777215
ActSlideColorTo=65280
ThumbColorFrom=255
ThumbColorTo=255
BorderColor=16711680
TickColor=65535
SlideGradientStyle=5
BorderWidth=2
ThumbGradientStyleOver=3
Max=80
link(onPosition,2210379:doEvent1,[])
}
Add(StrList,10481824,406,448)
{
Point(doLoad)
link(FileName,5752912:Data2,[])
}


карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8888
Рейтинг: 823
#2: 2024-04-23 21:00:08 ЛС | профиль | цитата
RomanRoman,


Add(MainForm,16184661,266,70)
{
Left=20
Top=105
Width=501
Height=412
Caption="Сдвиг графика"
link(onCreate,7611745:doFor,[])
}
Add(Plotter,11338811,518,140)
{
Top=60
Width=485
Height=300
Align=5
Name="plotter"
}
Add(PlotLines,6267160,518,189)
{
Grapher="plotter"
Size=2
Step=1
Point(doMaxValues)
}
Add(StrList,10481824,441,84)
{
Point(doLoad)
}
Add(For,7611745,315,84)
{
End=9999
link(onEvent,1910380:doRandom,[])
}
Add(Random,1910380,378,84)
{
Min=50
link(onRandom,10481824:doAdd,[])
}
Add(ChildPanel,1925832,378,140)
{
link(onEvent1,11917028:doEvent1,[])
}
BEGIN_SDK
Add(EditMulti,10210835,21,21)
{
EventCount=1
VarCount=2
link(Var1,3181330:Var1,[(27,96)])
link(Var2,16046841:Result,[(34,201)(125,201)])
}
Add(Panel,4447696,63,42)
{
Width=485
Height=60
Align=2
}
Add(ScrollBar,5118704,119,42)
{
Left=15
Top=10
Width=250
Max=9999
Page=50
ScrollMode=1
link(onPosition,14787849:doEvent1,[])
}
Add(ScrollBar,12492892,119,105)
{
Left=15
Top=35
Max=1000
Min=100
Page=50
Position=100
ScrollMode=1
link(onPosition,3211683:doEvent1,[])
}
Add(Label,8809133,252,42)
{
Left=290
Top=15
Caption="Начало: 0"
}
Add(Label,5118533,252,105)
{
Left=140
Top=40
Caption="Вывести: 100 значений"
}
Add(FormatStr,11158611,203,42)
{
DataCount=1
Mask="Начало: %1"
link(onFString,8809133:doText,[])
}
Add(FormatStr,6165245,203,105)
{
Mask="Вывести: %1 значений"
link(onFString,5118533:doText,[])
}
Add(Hub,14787849,161,42)
{
link(onEvent1,11158611:doString,[])
link(onEvent2,13540682:doWork1,[(193,55)])
}
Add(Hub,3211683,161,105)
{
link(onEvent1,6165245:doString,[])
link(onEvent2,13540682:doWork2,[])
}
Add(Math,16046841,119,161)
{
link(onResult,1638789:doData,[])
link(Op1,9726830:Var2,[])
link(Op2,3181330:Var3,[(132,96)])
}
Add(HubEx,13540682,189,112)
{
Angle=1
link(onEvent,16046841:doOperation,[(193,154)(109,154)(109,167)])
}
Add(GetDataEx,3181330,119,91)
{
link(Data,5118704:Position,[])
}
Add(DoData,1638789,168,161)
{
link(onEventData,10210835:onEvent1,[(291,167)(291,27)])
link(Data,9726830:Var3,[(174,145)])
}
Add(GetDataEx,9726830,119,140)
{
link(Data,12492892:Position,[])
}
END_SDK
Add(For,174849,378,189)
{
link(onEvent,3523009:doRead,[])
link(Start,1925832:Var1,[])
link(End,1925832:Var2,[])
}
Add(ArrayRW,3523009,455,189)
{
link(onRead,6267160:doAdd,[])
link(Array,10481824:Array,[])
}
Add(Hub,11917028,420,140)
{
OutCount=3
link(onEvent1,11338811:doClear,[])
link(onEvent2,6267160:doMaxValues,[(494,153)(494,209)])
link(onEvent3,174849:doFor,[(445,160)(445,181)(368,181)(368,195)])
}

карма: 19

0
Ответов: 10
Рейтинг: 0
#3: 2024-04-24 11:15:40 ЛС | профиль | цитата
Леонид, спасибо за идею. Я упростил для наглядности ваш пример (см. ниже), теперь думаю, как прикрутить его к чтению данных из файла
Add(MainForm,16184661,294,182){
Left=20
Top=105
Width=501
Height=412
Caption="Сдвиг графика"
link(onCreate,7611745:doFor,[])
}
Add(Plotter,11338811,588,252)
{
Top=60
Width=485
Height=300
Align=5
Name="plotter"
MaxW=100
}
Add(PlotLines,6267160,588,308)
{
Grapher="plotter"
Size=2
Step=1
Point(doMaxValues)
}
Add(StrList,10481824,511,196)
{
Point(doLoad)
}
Add(For,7611745,364,196)
{
End=9999
link(onEvent,16715592:doEvent1,[])
}
Add(Random,1910380,455,196)
{
Min=50
link(onRandom,10481824:doAdd,[])
}
Add(For,174849,462,308)
{
End=100
link(onEvent,3523009:doRead,[])
link(Start,5752912:Data1,[(468,285)(430,285)(430,351)(258,351)])
link(End,14672519:Result,[(475,294)(370,294)])
}
Add(ArrayRW,3523009,525,308)
{
link(onRead,6267160:doAdd,[])
link(Array,10481824:Array,[])
}
Add(Hub,11917028,420,252)
{
link(onEvent1,6267160:doClear,[(570,258)(570,321)])
link(onEvent2,174849:doFor,[(448,265)(448,314)])
}
Add(ScrollBar,1750022,252,252)
{
Left=15
Top=10
Width=250
Max=100
Page=50
ScrollMode=1
link(onPosition,10570705:doEvent1,[])
}
Add(Hub,10570705,315,252)
{
InCount=2
OutCount=1
link(onEvent1,14672519:doOperation,[])
}
Add(Math,14672519,364,252)
{
Op1=100
link(onResult,11917028:doEvent1,[])
link(Op2,5752912:Data2,[(377,240)(349,240)(349,342)(265,342)])
}
Add(GetData,5752912,252,301)
{
@Color=16777130
link(Data,1750022:Position,[])
}
Add(Hub,16715592,413,196)
{
link(onEvent1,1910380:doRandom,[])
link(onEvent2,10570705:doEvent2,[(438,209)(438,234)(303,234)(303,265)])
}



Редактировалось 1 раз(а), последний 2024-04-24 11:16:13
карма: 0

0
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)