Что-то типа этого: code_97
А это для настройки приемника, да еще и логарифмический: Add(ChildPanelEx,7041547,175,154)
{ @Hint=#9:Валкодер|| } BEGIN_SDK Add(EditMultiEx,8788151,3,3) { WorkCount=#6:Create| EventCount=#6:onDraw| VarCount=#8:Position|6:Result| Width=335 Height=235 link(Create,1812232:doWork2,[(3,181)]) link(Position,10997514:Var1,[(9,165)]) link(Result,6501834:Result,[(16,223)(118,223)]) } Add(Panel,6611581,35,28) { Left=20 Top=15 Width=118 Height=112 BevelOuter=1 Point(doColor) } Add(Memory,13036953,161,126) { Default=Real(1.5) MakeExt(Default,скоростной корректор,Power) } Add(Case,7303118,161,35) { Value=Integer(0) link(onTrue,1812232:doWork1,[(202,48)(202,150)(46,150)]) } Add(MathParse,9274619,210,175) { @Hint=#40:Формирую точку-положение ручки валкодера| DataCount=3 MathStr="cos (%1)*%2/3 + %2/2.4+65536*round(-sin (%1)*%3/3+%3/2.4)" ResultType=0 AngleMode=1 link(onResult,8430061:doDraw,[]) link(X1,10997514:Var3,[(216,165)]) link(X2,2013733:Var2,[]) link(X3,16173336:Var2,[(230,147)(230,147)]) } Add(MathParse,6501834,112,175) { DataCount=3 MathStr="(-%1+%2 + round(%1-%2,360))*(abs(-%1+%2 + round(%1-%2,360))+.0001)^(%3-1) + %0" AngleMode=1 link(onResult,8887957:doEvent1,[]) link(X1,10997514:Var2,[]) link(X2,1039961:reCalc,[]) link(X3,13036953:Value,[(132,165)(167,165)]) } Add(GetDataEx,2013733,210,105) { link(Data,5005552:Var3,[(223,93)]) } Add(Case,273826,35,98) { Value=Integer(0) link(onTrue,1039961:doCalc,[]) } Add(PointXY,11308193,70,126) { @Hint=#25:Формирую размер валкодера| link(X,5005552:Var1,[(76,93)]) link(Y,13392463:Var1,[(83,86)]) } Add(HubEx,1812232,42,168) { link(onEvent,2371414:doDraw,[]) } Add(GetDataEx,13392463,126,77) { link(Data,11409045:Height,[]) } Add(GetDataEx,5005552,119,84) { link(Data,11409045:Width,[]) } Add(Img_Ellipse,2371414,56,175) { BgColor=255 Style=1 Point2AsOffset=0 link(onDraw,6501834:doCalc,[(100,181)(100,181)]) link(Bitmap,7325121:Var1,[(62,79)]) link(Point2,11308193:Point,[]) } Add(GetDataEx,7325121,91,70) { link(Data,11409045:ImageBitmap,[]) } Add(Img_Ellipse,8430061,259,175) { BgColor=65535 Style=1 Point2AsOffset=0 link(onDraw,11409045:doRefresh,[(322,181)(322,21)(85,21)(85,48)]) link(Bitmap,7325121:Var3,[(265,79)]) link(Point2,9136247:reCalc,[]) } Add(Image,11409045,98,28) { Left=3 Top=3 Width=152 Height=101 Align=5 Color=-16777201 Draw=0 MouseCapture=0 Point(MouseX) Point(MouseY) Point(Width) Point(Height) Point(doRefresh) Point(onMouseMove) Point(onMouseDown) link(onMouseMove,7303118:doCase,[]) link(onMouseDown,273826:doCase,[(151,48)(151,68)(26,68)(26,104)]) } Add(Hub,8887957,161,175) { link(onEvent1,9274619:doCalc,[]) link(onEvent2,8788151:onDraw,[(324,188)(324,16)]) } Add(MathParse,9136247,266,126) { @Hint=#36:Фомирую точку-размер ручки валкодера| MathStr="%1/6 + 65536*round(%2/6)" ResultType=0 AngleMode=1 Point(reCalc) link(X1,2013733:Var3,[(272,114)]) link(X2,16173336:Var3,[(279,107)]) } Add(MathParse,1039961,112,105) { @Hint=#36:Определяю угловую координату мыша :)| DataCount=4 MathStr="atan (%4/2 - %2, %1- %3/2 )" Default=135 AngleMode=1 Point(reCalc) link(X1,11409045:MouseX,[]) link(X2,11409045:MouseY,[]) link(X3,5005552:Var2,[]) link(X4,13392463:Var2,[]) } Add(GetDataEx,16173336,217,98) { link(Data,13392463:Var3,[(230,86)]) } Add(GetDataEx,10997514,105,156) { link(Data,1039961:Result,[]) } END_SDK
|