Вверх ↑
Этот топик читают: Гость
Ответов: 19
Рейтинг: 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
Ответов: 8926
Рейтинг: 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
Ответов: 19
Рейтинг: 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
Ответов: 1926
Рейтинг: 172
#4: 2024-05-09 17:42:28 ЛС | профиль | цитата
Project003.gif
Может показаться сложновато, но на самом деле всё просто. Перемещение графика - мышью. Масштабирование - колесом, по горизтонали - с зажатым Ctrl. Двойное нажатие - возвращение по умолчанию.
Add(MainForm,2953706,98,119)
{
Width=751
Height=279
Position=1
link(onCreate,11564601:doEvent1,[])
}
Add(Plotter,5856695,343,336)
{
Width=743
Height=252
Align=5
Name="граф"
Hint=" "
LeftMargin=70
MouseControl=1
Point(doHint)
Point(MouseX)
Point(MouseY)
Point(Width)
Point(Height)
Point(MinX)
Point(MaxX)
Point(MinY)
Point(MaxY)
Point(doMinW)
Point(doMaxW)
Point(doMinH)
Point(doMaxH)
Point(onMouseMove)
Point(onMouseWheel)
Point(onDblClick)
Point(onMouseDown)
link(onMouseMove,1613566:In,[])
link(onMouseWheel,15796291:In,[])
link(onDblClick,574136:In,[])
link(onMouseDown,9867996:In,[])
}
Add(MultiElement,81001,63,343)
{
link(onEvent1,5856695:doHint,[])
}
BEGIN_SDK
Add(EditMulti,1302043,21,21)
{
EventCount=1
Width=384
}
Add(PlotMouseValues,10382350,42,84)
{
Grapher="parent.граф"
link(onMouseMove,10136405:doSeparateMT,[])
}
Add(StrCatDelim,9902748,238,105)
{
Delimiter=" х "
link(onStrCatDlm,1302043:onEvent1,[(376,111)(376,27)])
link(Str1,4087025:Var,[(244,93)(188,93)])
}
Add(MT_MultiData,10136405,84,98)
{
link(onData1,6181016:doOperation,[(128,104)(128,55)])
link(onData2,14824216:doOperation,[])
}
Add(Math,6181016,140,49)
{
OpType=35
Op2=1
link(onResult,4087025:doConvert,[])
}
Add(Math,14824216,140,105)
{
OpType=35
Op2=0.001
link(onResult,5951254:doConvert,[])
}
Add(ConvertorEx,4087025,182,49)
{
Mode=13
}
Add(ConvertorEx,5951254,189,105)
{
Mode=13
link(onResult,9902748:doStrCatDlm,[])
}
Add(Icon,11758005,210,168)
{
@Hint=#5:#main|
Icon=[ZIP5E07000078DADD93B10EC22014452F71607433DD7474F40FBAF6AF64EB6F35E9A7F423D074785EDA86107491C750BD7020BC849390F000C3D134082B3A0B9C005C094BB861AD875C2C7616E7DCB044EF1191020F2FEA25F121553CF16EB1247A3486CCB3AAD254F168DE552CF9E8517E3CE5374E3D3B6928BD24EBAFEF23C97C3F163BABE45F3D3F1691095E46F879C4607AF847E048400C3910BBD5CEA4257722F04FE2789E6561DA767662E405CDBAE490]
}
END_SDK
Add(LineBreak,16417384,364,546)
{
Caption="H"
Type=1
link(Data,6421100:Var2,[])
Primary=[10408490,525,-161]
}
Add(LineBreak,8590426,350,609)
{
Caption="Y"
Type=1
link(Data,13417535:Var2,[])
Primary=[15518365,441,-455]
}
Add(LineBreak,9005018,392,406)
{
Caption="maxY"
Type=1
link(Data,2530804:Var2,[])
Primary=[10136765,448,-98]
}
Add(LineBreak,5995052,343,637)
{
Caption="X"
Type=1
link(Data,10448968:Var2,[])
Primary=[12342927,399,-483]
}
Add(LineBreak,12540393,385,441)
{
Caption="minY"
Type=1
link(Data,15660820:Var2,[])
Primary=[2531327,462,-98]
}
Add(LineBreak,6610257,112,350)
{
Caption="0"
link(Out,11073481:doWork2,[])
Primary=[15701086,903,-168]
}
Add(LineBreak,11007452,168,357)
{
Caption="0"
link(Out,8853057:doWork2,[])
Primary=[1495339,847,-168]
}
Add(LineBreak,1910310,231,364)
{
Caption="0"
link(Out,4101063:doWork2,[])
Primary=[6809974,784,-168]
}
Add(LineBreak,6550395,294,371)
{
Caption="0"
link(Out,14450881:doWork2,[])
Primary=[2871107,721,-168]
}
Add(LineBreak,3658137,224,371)
{
Caption="minY"
link(Out,14837032:doWork2,[])
Primary=[2003759,896,49]
}
Add(HubEx,4101063,266,364)
{
link(onEvent,5856695:doMinH,[])
}
Add(LineBreak,6046068,280,378)
{
Caption="maxY"
link(Out,8262367:doWork2,[])
Primary=[8562717,749,35]
}
Add(HubEx,14450881,329,371)
{
link(onEvent,5856695:doMaxH,[])
}
Add(LineBreak,4128527,357,574)
{
Caption="W"
Type=1
link(Data,3880903:Var2,[])
Primary=[10387127,546,28]
}
Add(LineBreak,9358009,378,476)
{
Caption="maxX"
Type=1
link(Data,15987918:Var2,[])
Primary=[3788714,455,49]
}
Add(LineBreak,14207807,371,511)
{
Caption="minX"
Type=1
link(Data,101266:Var2,[])
Primary=[12364661,469,49]
}
Add(LineBreak,12893407,105,357)
{
Caption="minX"
link(Out,10401228:doWork2,[])
Primary=[13537746,938,273]
}
Add(LineBreak,2109459,161,364)
{
Caption="maxX"
link(Out,3777600:doWork2,[])
Primary=[8197703,973,273]
}
Add(HubEx,8853057,210,357)
{
link(onEvent,5856695:doMaxW,[])
}
Add(HubEx,11073481,147,350)
{
link(onEvent,5856695:doMinW,[])
}
Add(LineBreak,12478335,364,609)
{
Caption="Y"
Type=1
link(Data,13417535:Var3,[(370,600)])
Primary=[1494820,1211,-441]
}
Add(LineBreak,11395469,357,637)
{
Caption="X"
Type=1
link(Data,10448968:Var3,[(363,628)])
Primary=[7653649,994,-469]
}
Add(GetDataEx,13417535,350,595)
{
link(Data,5856695:MouseY,[])
}
Add(GetDataEx,10448968,343,623)
{
link(Data,5856695:MouseX,[])
}
Add(LineBreak,4394135,105,364)
{
Caption="minX"
link(Out,10401228:doWork3,[(151,370)])
Primary=[7997576,1372,-49]
}
Add(LineBreak,5824415,161,371)
{
Caption="maxX"
link(Out,3777600:doWork3,[(214,377)])
Primary=[7492353,1330,-14]
}
Add(LineBreak,1784297,385,511)
{
Caption="minX"
Type=1
link(Data,13866081:Var2,[])
Primary=[14600495,1022,-343]
}
Add(LineBreak,3126545,392,476)
{
Caption="maxX"
Type=1
link(Data,12300463:Var2,[])
Primary=[2286121,1057,-308]
}
Add(HubEx,10401228,147,357)
{
Angle=3
link(onEvent,11073481:doWork3,[])
}
Add(HubEx,3777600,210,364)
{
Angle=3
link(onEvent,8853057:doWork3,[])
}
Add(GetDataEx,101266,371,497)
{
link(Data,5856695:MinX,[])
}
Add(GetDataEx,15987918,378,462)
{
link(Data,5856695:MaxX,[])
}
Add(LineBreak,5931866,399,441)
{
Caption="minY"
Type=1
link(Data,1147001:Var2,[])
Primary=[2752673,1232,-273]
}
Add(LineBreak,170846,406,406)
{
Caption="maxY"
Type=1
link(Data,11146240:Var2,[])
Primary=[2674952,1267,-238]
}
Add(GetDataEx,2530804,392,392)
{
link(Data,5856695:MaxY,[])
}
Add(GetDataEx,15660820,385,427)
{
link(Data,5856695:MinY,[])
}
Add(LineBreak,9549396,224,378)
{
Caption="minY"
link(Out,14837032:doWork3,[(270,384)])
Primary=[1041670,1477,-63]
}
Add(LineBreak,14416790,280,385)
{
Caption="maxY"
link(Out,8262367:doWork3,[(333,391)])
Primary=[1420019,1435,-28]
}
Add(HubEx,14837032,266,371)
{
Angle=3
link(onEvent,4101063:doWork3,[])
}
Add(HubEx,8262367,329,378)
{
Angle=3
link(onEvent,14450881:doWork3,[])
}
Add(LineBreak,10280484,399,511)
{
Caption="minX"
Type=1
link(Data,13866081:Var3,[(405,502)])
Primary=[7739509,966,-252]
}
Add(LineBreak,4719676,406,476)
{
Caption="maxX"
Type=1
link(Data,12300463:Var3,[(412,467)])
Primary=[16766767,966,-203]
}
Add(GetDataEx,13866081,385,497)
{
Angle=3
link(Data,101266:Var3,[])
}
Add(GetDataEx,12300463,392,462)
{
Angle=3
link(Data,15987918:Var3,[])
}
Add(LineBreak,5288283,371,574)
{
Caption="W"
Type=1
link(Data,3880903:Var3,[(377,565)])
Primary=[15545067,1008,-287]
}
Add(GetDataEx,6421100,364,532)
{
link(Data,5856695:Height,[])
}
Add(GetDataEx,3880903,357,560)
{
link(Data,5856695:Width,[])
}
Add(LineBreak,1920040,413,441)
{
Caption="minY"
Type=1
link(Data,1147001:Var3,[(419,432)])
Primary=[14934122,1176,-182]
}
Add(LineBreak,6373423,420,406)
{
Caption="maxY"
Type=1
link(Data,11146240:Var3,[(426,397)])
Primary=[4979168,1176,-133]
}
Add(LineBreak,15186534,378,546)
{
Caption="H"
Type=1
link(Data,6421100:Var3,[(384,537)])
Primary=[10168402,1225,-259]
}
Add(GetDataEx,11146240,406,392)
{
Angle=3
link(Data,2530804:Var3,[])
}
Add(GetDataEx,1147001,399,427)
{
Angle=3
link(Data,15660820:Var3,[])
}
Add(LineBreak,523226,875,182)
{
Caption="m_dbl"
link(Out,4149277:doWork2,[])
Primary=[574136,-462,168]
}
Add(Math,10430646,987,413)
{
ResultType=0
link(onResult,8562717:In,[])
link(Op1,16498673:Var3,[(993,334)])
link(Op2,8404121:Var2,[])
}
Add(InfoTip,14497899,588,108)
{
Info=#37:Масштабирование и перемещение графика|
Font=[MS Sans Serif,8,1,0,1]
Frame=2
HAlign=0
Width=1191
Height=648
Margin=3
}
Add(Keyboard,5873061,714,413)
{
@Hint=#4:Ctrl|
Key=17
link(onReadKey,3871601:doEvent,[])
AddHint(1,-30,30,13,@Hint)
}
Add(LineBreak,16001812,616,413)
{
Caption="m_whl"
link(Out,8603514:doOperation,[])
Primary=[15796291,-147,-70]
}
Add(IndexToChanel,3871601,756,413)
{
link(onEvent1,1710972:doCalc,[])
link(onEvent2,9248600:doCalc,[(807,426)(807,636)])
}
Add(Math,2161453,889,413)
{
OpType=7
Op2=2
ResultType=0
link(onResult,6571493:doCompare,[])
link(Op1,10408490:Var,[])
}
Add(If_else,6571493,938,413)
{
@Hint=#66:Если мышь выше середины графика - изменяться будет верхний предел.|19:Если ниже - нижний.|
Type=3
link(onTrue,10430646:doOperation,[])
link(onFalse,5988695:doOperation,[])
link(Op1,10613574:Var,[])
AddHint(2,46,191,52,@Hint)
}
Add(LineBreak,4288249,609,182)
{
Caption="m_mov"
link(Out,4606252:doEvent1,[])
Primary=[1613566,-196,154]
}
Add(Memory,12778854,742,182)
{
Point(Data)
link(onData,9451444:doValue,[])
link(Data,12342927:Var,[])
}
Add(Memory,9451444,791,182)
{
Point(Data)
link(Data,15518365:Var,[])
}
Add(LineBreak,9865542,791,238)
{
Caption="Y"
Type=1
link(Data,14844302:Var2,[])
Primary=[10613574,147,147]
}
Add(Math,5988695,1078,420)
{
ResultType=0
link(onResult,2003759:In,[])
link(Op1,8404121:Var3,[(1084,397)])
link(Op2,3695965:Var3,[(1091,369)])
}
Add(DoData,14977395,938,182)
{
@Hint=#18:Обнуление масштаба|
Data=Integer(0)
link(onEventData,1223187:doEvent1,[])
AddHint(-44,-33,124,13,@Hint)
}
Add(Hub,1223187,987,182)
{
OutCount=4
link(onEvent1,15701086:In,[])
link(onEvent2,1495339:In,[])
link(onEvent3,6809974:In,[])
link(onEvent4,2871107:In,[])
}
Add(HubEx,4149277,924,182)
{
link(onEvent,14977395:doData,[])
}
Add(HubEx,13182184,924,189)
{
Angle=3
link(onEvent,4149277:doWork3,[])
}
Add(MathParse,1710972,833,413)
{
DataCount=3
MathStr="-%1 * (%2-%3) / 20"
ResultType=0
link(onResult,2161453:doOperation,[])
link(X1,13940081:Var,[])
link(X2,16498673:Var2,[])
link(X3,3695965:Var2,[])
}
Add(Math,8603514,672,413)
{
OpType=3
Op2=120
ResultType=0
link(onResult,5873061:doReadKey,[])
}
Add(LineBreak,8601325,672,476)
{
Caption="-"
Type=1
link(Data,2993677:Var2,[])
Primary=[13940081,161,-189]
}
Add(GetDataEx,8404121,994,392)
{
link(Data,1473243:Var,[])
}
Add(LineBreak,7165413,833,455)
{
Type=1
link(Data,1710972:Result,[])
Primary=[1473243,161,-84]
}
Add(GetDataEx,16498673,840,329)
{
link(Data,10136765:Var,[])
}
Add(GetDataEx,3695965,847,364)
{
link(Data,2531327:Var,[])
}
Add(Math,6352801,1001,630)
{
ResultType=0
link(onResult,13537746:In,[])
link(Op1,5098688:Var3,[(1007,586)])
link(Op2,8384721:Var2,[])
}
Add(Math,16301733,903,630)
{
OpType=7
Op2=2
ResultType=0
link(onResult,8983174:doCompare,[])
link(Op1,10387127:Var,[])
}
Add(If_else,8983174,952,630)
{
@Hint=#64:Если мышь левее середины графика - изменяться будет мин. предел.|27:Если правее - макс. предел.|
Type=3
link(onTrue,6352801:doOperation,[])
link(onFalse,10133333:doOperation,[])
link(Op1,15091224:Var,[])
AddHint(3,50,173,52,@Hint)
}
Add(LineBreak,10047037,742,238)
{
Caption="X"
Type=1
link(Data,12838422:Var2,[])
Primary=[15091224,210,364]
}
Add(Math,10133333,1092,637)
{
ResultType=0
link(onResult,8197703:In,[])
link(Op1,8384721:Var3,[(1098,614)])
link(Op2,11778232:Var3,[(1105,551)])
}
Add(MathParse,9248600,826,630)
{
DataCount=3
MathStr="-%1 * (%2-%3) / 20"
ResultType=0
link(onResult,16301733:doOperation,[])
link(X1,2993677:Var3,[(832,460)])
link(X2,11778232:Var2,[])
link(X3,5098688:Var2,[])
}
Add(GetDataEx,8384721,1008,609)
{
link(Data,15117383:Var,[])
}
Add(LineBreak,7132042,826,672)
{
Type=1
link(Data,9248600:Result,[])
Primary=[15117383,182,-84]
}
Add(GetDataEx,11778232,833,546)
{
link(Data,3788714:Var,[])
}
Add(GetDataEx,5098688,840,581)
{
link(Data,12364661:Var,[])
}
Add(GetDataEx,2993677,672,455)
{
link(Data,8603514:Result,[])
}
Add(IndexToChanel,6220309,1239,196)
{
link(onEvent1,10980761:doValue,[])
}
Add(LineBreak,8198129,1176,196)
{
Caption="m_dwn"
link(Out,6220309:doEvent,[])
Primary=[9867996,-707,161]
}
Add(Memory,10980761,1351,196)
{
Point(Data)
link(onData,14008836:doValue,[])
link(Data,7653649:Var,[])
}
Add(Memory,8582648,1575,196)
{
Point(Data)
link(onData,7570617:doValue,[])
link(Data,1494820:Var,[])
}
Add(Hub,4606252,672,182)
{
link(onEvent1,12778854:doValue,[])
link(onEvent2,6416009:In,[])
}
Add(MathParse,8650019,1351,315)
{
@Hint=#78:(%4 - %3)/(%5-85) - это кол-во значений на один пиксель графика по горизонтали|23:85 - это сумма отступов|
DataCount=5
MathStr="(%2 - %1) * (%4 - %3)/(%5-85)"
link(onResult,12935809:doEvent1,[])
link(X1,10980761:Value,[])
link(X2,3962182:Var,[])
link(X3,7739509:Var,[])
link(X4,16766767:Var,[])
link(X5,15545067:Var,[])
}
Add(LineBreak,3231591,1197,315)
{
link(Out,607408:doEvent,[])
Primary=[6416009,-497,-126]
}
Add(LineBreak,8690679,805,238)
{
Caption="Y"
Type=1
link(Data,14844302:Var3,[(811,229)])
Primary=[13377730,777,7]
}
Add(LineBreak,13319965,756,238)
{
Caption="X"
Type=1
link(Data,12838422:Var3,[(762,229)])
Primary=[3962182,602,7]
}
Add(GetDataEx,12838422,742,224)
{
link(Data,12778854:Value,[])
}
Add(GetDataEx,14844302,791,224)
{
link(Data,9451444:Value,[])
}
Add(Math,8935555,1435,315)
{
OpType=1
ResultType=0
link(onResult,7997576:In,[])
link(Op1,14008836:Value,[(1441,271)])
}
Add(Hub,12935809,1400,315)
{
link(onEvent1,8935555:doOperation,[])
link(onEvent2,8093667:doOperation,[(1432,328)(1432,363)])
}
Add(Math,8093667,1449,357)
{
OpType=1
ResultType=0
link(onResult,7492353:In,[])
link(Op1,8761965:Value,[])
}
Add(IndexToChanel,607408,1239,315)
{
link(onEvent1,7816260:doEvent1,[])
}
Add(Memory,14008836,1407,196)
{
Point(Data)
link(onData,8761965:doValue,[])
link(Data,14600495:Var,[])
}
Add(Memory,8761965,1449,196)
{
Point(Data)
link(onData,8582648:doValue,[])
link(Data,2286121:Var,[])
}
Add(Memory,7570617,1631,196)
{
Point(Data)
link(onData,10821109:doValue,[])
link(Data,2752673:Var,[])
}
Add(Memory,10821109,1673,196)
{
Point(Data)
link(Data,2674952:Var,[])
}
Add(LineBreak,13005953,1533,315)
{
Caption="doY"
link(Out,3764656:doCalc,[])
Primary=[722893,-224,7]
}
Add(Math,7238563,1659,315)
{
ResultType=0
link(onResult,1041670:In,[])
link(Op1,7570617:Value,[(1665,271)])
}
Add(Hub,5274409,1624,315)
{
link(onEvent1,7238563:doOperation,[])
link(onEvent2,9665835:doOperation,[(1656,328)(1656,363)])
}
Add(Math,9665835,1673,357)
{
ResultType=0
link(onResult,1420019:In,[])
link(Op1,10821109:Value,[])
}
Add(Hub,7816260,1281,315)
{
link(onEvent1,8650019:doCalc,[])
link(onEvent2,722893:In,[])
}
Add(MathParse,3764656,1575,315)
{
@Hint=#76:(%4 - %3)/(%5-30) - это кол-во значений на один пиксель графика по вертикали|23:30 - это сумма отступов|
DataCount=5
MathStr="(%2 - %1) * (%4 - %3)/(%5-30)"
link(onResult,5274409:doEvent1,[])
link(X1,8582648:Value,[])
link(X2,13377730:Var,[])
link(X3,14934122:Var,[])
link(X4,4979168:Var,[])
link(X5,10168402:Var,[])
}
Add(PlotLines,6477180,469,126)
{
Grapher="граф"
Step=1
}
Add(Random,5088484,371,126)
{
Max=300000
Point(doMin)
Point(doMax)
link(onRandom,13491799:doOperation,[])
}
Add(Hub,11564601,147,133)
{
link(onEvent1,5088484:doRandomize,[])
link(onEvent2,8442002:doFor,[])
}
Add(For,8442002,175,140)
{
End=1000
link(onEvent,421583:doNext,[])
}
Add(CounterEx,421583,224,140)
{
Max=1000000
link(onNext,14753777:doEvent1,[])
}
Add(Math,13491799,420,126)
{
OpType=2
ResultType=0
link(onResult,6477180:doAdd,[])
link(Op2,11998623:Var,[])
}
Add(LineBreak,12135334,224,182)
{
Type=1
link(Data,421583:Count,[])
Primary=[11998623,203,-84]
}
Add(Random,11706968,315,140)
{
Max=150000
link(onRandom,5088484:doMin,[(359,146)(359,153)])
}
Add(Hub,14753777,273,140)
{
OutCount=3
link(onEvent1,11706968:doRandom,[])
link(onEvent2,1989971:doRandom,[(301,153)(301,195)])
link(onEvent3,5088484:doRandom,[(307,160)(307,132)])
}
Add(Random,1989971,315,189)
{
Min=150000
Max=300000
link(onRandom,5088484:doMax,[(359,195)(359,160)])
}

--- Добавлено в 2024-05-09 17:44:40

Файл со схемой

Редактировалось 2 раз(а), последний 2024-05-09 17:44:40
карма: 9
0
файлы: 1ScalePlotter.rar [4.8KB] [393]
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)