Вверх ↑
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
#1: 2022-11-15 00:15:07 ЛС | профиль | цитата
Делал для себя, но может кому пригодится чтоб не изобретать велосипед. Код и схема неоптимальный, делал наскоро, так что буду благодарен за любые улучшения и несильные пинания)
Залить на форум не удалось, хоть файл и меньше 3 МБ, даже меньше 2 не давало. Поэтому на свой ЯД закинул. Также счас выложу новые компоненты Bass в другом разделе.

https://disk.yandex.ru/d/ZLhPemzn-sAwRA



Редактировалось 1 раз(а), последний 2022-11-18 00:52:43
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
2
Голосовали:tig-rrr, ric
Ответов: 2265
Рейтинг: 676
#2: 2022-11-15 21:05:51 ЛС | профиль | цитата
Aziz писал(а):
схема неоптимальный, делал наскоро, так что буду благодарен за любые улучшения и несильные пинания
Неоптимальная это мягко сказано.
Вот интересно зачем использовать при отрисовке Img_AlphaBitmap (в стрелочном индикаторе к примеру), если просто рисуется изображение. Хватило бы обычного Img_Bmp.
карма: 11

0
Ответов: 1291
Рейтинг: 47
#3: 2022-11-15 23:56:06 ЛС | профиль | цитата
sla8a, я пытался сделать универсальный каркас, чтобы можно было бы и с прозрачностью картинки использовать, а не иметь для этого несколько схем. Просто вставил картинку и она превратилась в то что мне нужно. Согласитесь, с альфа каналом это вроде как более функц. схема, чем без него? Или нет? А что еще нарыли? Ну да, если бы я ставил целью хвастаться оптимизацией или стилем программирования, то я об этом прямо бы написал) А так как я бывший бомж, то для бомжа вполне неплохо) Просто здесь, на этом сайте, я за 10+ лет что я здесь, так никто и не выложил ничего подобного бесплатно. Есть только один пример с ActiveX компонентом сторонним. Вот мне нужно было, и ничего не найдя тут, пришлось самому ваять.

Редактировалось 2 раз(а), последний 2022-11-15 23:58:24
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 2265
Рейтинг: 676
#4: 2022-11-16 19:59:20 ЛС | профиль | цитата
Aziz писал(а):
пытался сделать универсальный каркас
Тогда понятен такой подход.
Aziz писал(а):
Согласитесь, с альфа каналом это вроде как более функц. схема, чем без него? Или нет?
Не понимаю зачем он. Вот как вариант (вставить в Bitmap изображение стрелочного индикатора из вашей схемы):

Add(MainForm,2953706,441,252)
{
}
Add(PaintBox,16731281,539,315)
{
Left=95
Top=55
Width=180
Height=94
link(onBeforeDraw,11579262:doOperation,[])
}
Add(Bitmap,16500501,644,252)
{
}
Add(Img_Bmp,9586560,637,315)
{
link(Bitmap,16731281:Bitmap,[(643,305)(630,305)(630,361)(545,361)])
link(SourceBitmap,16500501:Bitmap,[])
}
Add(ScrollBar,7033173,483,315)
{
Top=134
Width=218
Align=4
Max=35
link(onPosition,10946406:doWork2,[])
}
Add(HubEx,10946406,521,315)
{
link(onEvent,16731281:doRefresh,[])
}
Add(Button,2384176,329,315)
{
Left=155
Top=215
Width=69
Height=25
Caption="TEST"
link(onClick,12381031:doTimer,[])
}
Add(Timer,12381031,371,315)
{
Interval=100
Enable=1
link(onTimer,6003918:doNext,[])
}
Add(CounterEx,6003918,413,315)
{
Max=35
link(onNext,7101300:doEvent1,[])
}
Add(Hub,7101300,455,315)
{
link(onEvent1,7033173:doPosition,[])
link(onEvent2,10946406:doWork3,[(525,328)])
}
Add(Math,11579262,588,315)
{
OpType=2
Op2=-177
link(onResult,9586560:doDraw,[])
link(Op1,7033173:Position,[(594,306)(533,306)(533,359)(489,359)])
AddHint(-14,-31,45,13,Op2)
}
Aziz писал(а):
А что еще нарыли?

Да сложно в такой схеме рыть. Чтоб понять логику каких-то участков, приходится распутывать клубки связей, интерес пропадает.
Aziz писал(а):
за 10+ лет что я здесь, так никто и не выложил ничего подобного бесплатно

Так проще самому нарисовать, что у вас и сделано. Чем под каждую "хотелку" элемент делать. Компоненты из вкладки Графики вполне сносно справляются с большинством задач.
карма: 11

0
Ответов: 1291
Рейтинг: 47
#5: 2022-11-16 21:46:40 ЛС | профиль | цитата
Не понимаю зачем он.

А если стрелочный индикатор будет круглым? Тогда некрасиво будет квадрат компонента image светить. А с прозрачностью любой формы все ок.
Ну там логика несложная. А насчет фирменной обфускации кода, согласен))
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1291
Рейтинг: 47
#6: 2022-11-17 12:22:03 ЛС | профиль | цитата
sla8a, там ещё если на живую кнопку доната нажать небольшой хелп набросал с описанием функционала. Также на многих компонентах и мультиэлементах есть комментарии, а в комментах к MathParser история (эволюция) формул, самая верхняя - последняя. Не сразу все заработало как надо, но мне хотелось обойтись формулой чем городить эту логику на компонентах.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 5227
Рейтинг: 587
#7: 2022-11-17 17:43:42 ЛС | профиль | цитата
Aziz, контролами назвать это сложно как не крути. Как опорной точкой для применения графических контролов (на основании графических изображений) могу предложить свой вариант https://forum.hiasm.com/topic/68119/0. К сожалению студия не проявила интереса посему интерес я к такой студии потерял . В основном для таких контролов обязателен менеджер, дабы не переполнять исполняемый файл ресурсами. Окончательный вариант я оставил себе, т.к переписал всю логику (которая глючила со страшной силой) самостоятельно. (от авторского варианта осталась одна функция).

sla8a писал(а):
Так проще самому нарисовать, что у вас и сделано. Чем под каждую "хотелку" элемент делать. Компоненты из вкладки Графики вполне сносно справляются с большинством задач.


Самая больная и бредовая позиция для упоротых маньяков. Я бы посмотрел к примеру что бы вы там нарисовали для моего старого компа что бы я там мог использовать три графика для Real-Time. http://hiasm.bbtalk.me/viewtopic.php?id=30
Честно говоря для меня очевидно одно, (причём ничего не меняется) почти все просто приходят за халявой, хоть за какой то без разницы, удивительно не правда ли . После чего не сделав ни каких телодвижений для развития хоть чего то объявляют меня говнюком. Это как "Назло бабушке отморожу уши" Ну для таких творческих людей которые как всегда типа проходили мимо скажу так, "Вот и проходите, только свои работы больше за муку не толкаю"
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 2265
Рейтинг: 676
#8: 2022-11-17 22:05:35 ЛС | профиль | цитата
andrestudio писал(а):
Самая больная и бредовая позиция для упоротых маньяков. Я бы посмотрел к примеру что бы вы там нарисовали для моего старого компа что бы я там мог использовать три графика для Real-Time.
Самому то не надоело бред нести? Вам нужно объяснить разницу между выводом одного значения стрелочным индикатором от Aziz и выводом нескольких сотен данных (не могу утверждать точно, но не пару десяток) в вашем графике? Речь была о простых контроллах (кнопки, тумблеры и т.п.). Но вам же нужно пропихнуть рекламу своего творения и вот удачная тема. Рекламировать и продавать свои труды, ваше личное дело, но не надо при этом вести себя глупо. Это может отпугнуть от вас потенциальных клиентов.
карма: 11

0
Ответов: 1291
Рейтинг: 47
#9: 2022-11-18 00:36:53 ЛС | профиль | цитата
andrestudio, вроде для управления программой вполне мои контролы являются контролирующими элементами) А большего и не нужно. Пока. Если нужно будет экономить ресурсы - перейду на ассемблер и стану чисто кодером, а не веб-предпринимателем, последователем Alex Tew ) Спасибо за наводку на тему и ваш код.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 5227
Рейтинг: 587
#10: 2022-11-18 08:44:28 ЛС | профиль | цитата
sla8a писал(а):
Самому то не надоело бред нести?

Это вы мне сударь Про рекламу :? Наверно хватит спасать свою репутацию трёпом. Всё доказывается делом.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 1291
Рейтинг: 47
#11: 2023-04-06 16:43:00 ЛС | профиль | цитата
Пополнение - Dream Knob 1.0 - кноб (крутилка, регулятор) который мне приснился во сне) Есть тормоза в перерисовке если быстро крутить. Кто сможет ускорить его работу, будет здорово. Мне не удалось FTCG компоненты рисования прикрутить, чето ни один из них не пашет.
Выходит, картинки крутить гораздо экономнее чем рисовать их. Но не в плане памяти и размеров программ.
Еще странность этой схемы - если инициализацию брать не с главной формы, а через таймер, то все начинает глючить. Хотя по логике работы схемы должно быть вроде пофиг ей.. Колесико для точной установки.
Можно задавать максимальные \ минимальные значения, 2-й клик - выбор цвета. Но он мне приснился оранжевым и без центрального циферблата)

Add(ChildPanelEx,6678596,280,329)
{
link(onResult,3904486:doText,[])
}
BEGIN_SDK
Add(EditMultiEx,11526556,21,21)
{
WorkCount=#7:doValue|7:doClear|10:doMinValue|10:doMaxValue|16:doPresisionValue|6:doInit|11:doThickness|7:doColor|
EventCount=#8:onResult|
VarCount=#5:Value|
Width=1189
Height=844
link(doValue,11433014:doCompare,[(73,27)(73,461)])
link(doClear,295307:doClear,[(252,34)(252,489)])
link(doMinValue,3734854:doValue,[(207,41)(207,496)])
link(doMaxValue,3231430:doValue,[(227,48)(227,496)])
link(doPresisionValue,11876470:doValue,[(277,55)(277,496)])
link(Value,8433487:Result,[(27,732)(377,732)])
link(doInit,13767139:doEvent1,[(56,62)(56,34)])
link(doThickness,6131807:doEvent2,[(301,69)(301,62)])
link(doColor,6281007:doEvent2,[(427,76)(427,174)])
}
Add(Panel,14086760,35,105)
{
Left=60
Top=40
Width=200
Height=200
Point(Width)
Point(Height)
Point(onMouseWheel)
Point(onShow)
Point(onSetFocus)
link(onMouseWheel,12871532:doCompare,[(83,118)(83,286)])
}
Add(Img_Point,10361775,511,392)
{
Color=33023
Size=30
Point(X)
Point(Y)
Point(Size)
Point(Color)
link(Bitmap,12465343:Bitmap,[(517,376)(622,376)])
link(X,16095580:Result,[(524,376)(573,376)])
link(Y,14307840:Result,[(531,376)(524,376)])
link(Size,6666965:Result,[(538,310)(573,310)])
link(Color,11829184:Value,[(545,292)(867,292)])
}
Add(PaintBox,12465343,616,329)
{
Left=2
Top=2
Width=587
Height=535
Align=5
Color=-16777215
WinStyle=1
ColorSp=0
Point(onClick)
Point(MouseX)
Point(MouseY)
Point(onMouseMove)
Point(onDblClick)
Point(onMouseWheel)
link(onMouseMove,12814260:doCompare,[])
link(onDblClick,14755892:doOpen,[(709,356)(709,167)])
}
Add(MathParse,14307840,518,329)
{
@Hint=#38:Math.sin((Math.PI * angl / 180) / 2), |30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=4
MathStr="%3 + %2 * cos (%1 - %4)"
AngleMode=1
link(X2,9867155:Var2,[(531,299)(510,299)])
link(X3,11880627:Var2,[(538,299)(552,299)])
link(X4,12635440:Var2,[(545,316)(622,316)])
}
Add(CounterEx,10043336,448,406)
{
Max=2
Point(doPrev)
Point(doValue)
Point(onThroughMax)
Point(doMax)
link(onThroughMax,10361775:doDraw,[(496,419)(496,398)])
}
Add(MathParse,16095580,567,329)
{
@Hint=#30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=4
MathStr="%3 + %2 * sin(-(%1 - %4)) "
AngleMode=1
link(X2,9867155:Var3,[(580,285)])
link(X3,11880627:Var3,[(587,292)])
link(X4,12635440:Var1,[(594,299)])
}
Add(Hub,8911218,476,329)
{
OutCount=3
link(onEvent1,14307840:doCalc,[])
link(onEvent2,16095580:doCalc,[(528,342)(528,335)])
link(onEvent3,328943:doEvent1,[(502,349)(502,363)(464,363)(464,377)])
}
Add(Memory,13135093,504,238)
{
@Hint=#6:Радиус|
Default=Integer(150)
link(onData,12991355:doWork3,[(552,244)])
}
Add(Memory,7855591,546,238)
{
@Hint=#8:смещение|
Default=Integer(240)
}
Add(GetDataEx,9867155,504,280)
{
link(Data,13135093:Value,[])
}
Add(GetDataEx,11880627,546,287)
{
link(Data,7855591:Value,[])
}
Add(TrackBar,16036997,532,49)
{
Left=20
Top=5
Min=1
Position=5
link(onPosition,6131807:doEvent1,[])
}
Add(For,4971670,245,245)
{
End=300
link(onEvent,8911218:doEvent1,[(377,251)(377,335)])
link(onStop,11642599:doWork2,[])
link(End,13509061:Var2,[])
}
Add(Memory,10242442,623,238)
{
Default=Integer(-30)
}
Add(GetDataEx,12635440,616,294)
{
Angle=1
link(Data,10242442:Value,[(629,299)])
}
Add(Hub,7396834,336,182)
{
InCount=5
OutCount=4
link(onEvent2,4971670:doFor,[(362,195)(362,223)(233,223)(233,251)])
}
Add(Memory,9730464,252,182)
{
link(onData,14727359:doEvent1,[])
}
Add(SampleDelta,2751912,623,392)
{
link(onCalcDelta,6570741:doWork3,[(681,398)])
link(Data,12465343:MouseX,[])
}
Add(Math,11944055,77,182)
{
link(onResult,2369521:doCompare,[])
link(Op2,11365138:Var1,[(90,170)(186,170)(186,222)])
}
Add(If_else,12814260,672,343)
{
Op2=Integer(0)
link(onTrue,12143584:doEvent1,[(716,349)(716,381)(576,381)(576,412)])
}
Add(Memory,11835883,728,392)
{
Default=Integer(0)
}
Add(GetDataEx,11365138,252,217)
{
link(Data,9730464:Value,[])
}
Add(SampleDelta,6102838,623,441)
{
link(onCalcDelta,7688841:doValue,[(667,447)(667,454)])
link(Data,12465343:MouseY,[(629,401)(636,401)])
}
Add(Hub,12143584,588,406)
{
link(onEvent1,2751912:doCalcDelta,[(612,412)(612,398)])
link(onEvent2,6102838:doCalcDelta,[(612,419)(612,447)])
}
Add(HubEx,6570741,677,385)
{
Angle=3
link(onEvent,14122141:doValue,[(681,382)(739,382)(739,398)])
}
Add(Math,7511346,728,448)
{
OpType=1
link(onResult,6570741:doWork2,[(772,454)(772,422)(672,422)(672,391)])
link(Op1,16215539:Var2,[])
link(Op2,7688841:Value,[(741,429)(713,429)(713,485)(685,485)])
}
Add(Memory,7688841,679,448)
{
Default=Integer(-30)
link(onData,7511346:doOperation,[])
}
Add(If_else,2369521,147,182)
{
Type=2
Op2=Integer(0)
link(onTrue,14260345:doCompare,[])
}
Add(If_else,14260345,189,182)
{
Type=1
link(onTrue,11434397:doOperation,[(226,188)(226,97)])
link(Op2,16294626:Value,[(202,142)(174,142)])
}
Add(Hub,636877,49,182)
{
InCount=2
OutCount=1
link(onEvent1,11944055:doOperation,[])
}
Add(Math,4054707,903,392)
{
OpType=33
Op2=2
link(onResult,432243:doCompare,[])
}
Add(If_else,432243,952,392)
{
Type=1
Op2=Integer(5)
link(onTrue,1885234:doData,[])
}
Add(SampleDelta,6626697,847,392)
{
link(onCalcDelta,4054707:doOperation,[])
}
Add(Memory,14122141,798,392)
{
link(onData,6626697:doCalcDelta,[])
}
Add(DoData,1885234,1001,392)
{
link(onEventData,636877:doEvent1,[(1045,398)(1045,293)(30,293)(30,188)])
link(Data,14122141:Value,[(1007,380)(905,380)(905,436)(804,436)])
}
Add(Math,6666965,567,196)
{
OpType=3
Op2=5
Default=30
link(onResult,7396834:doEvent3,[(611,202)(611,190)(324,190)(324,202)])
link(Op1,9867155:Var1,[(573,184)(501,184)(501,285)])
link(Op2,6913377:Value,[(580,138)(636,138)])
}
Add(Hub,14727359,301,182)
{
OutCount=3
link(onEvent1,7396834:doEvent1,[])
link(onEvent2,13758681:doEvent1,[(327,195)(327,370)(240,370)(240,545)])
}
Add(LedNumber,14553885,462,49)
{
Left=40
Top=45
Width=185
Height=110
Color=-16777215
Font=[MS Sans Serif,8,0,33023,1]
Text="0"
SegColor=33023
Point(doText)
Point(doSegColor)
Point(doWidth)
Point(doHeight)
Point(doLeft)
Point(doTop)
}
Add(Math,11434397,231,91)
{
OpType=35
Op2=1
link(onResult,8757309:doEvent1,[(268,97)(268,132)])
}
Add(ColorDialog,14755892,770,161)
{
link(onSelect,6281007:doEvent1,[])
}
Add(Memory,11829184,861,161)
{
Default=Integer(2072575)
link(onData,7396834:doEvent4,[(905,167)(905,188)(324,188)(324,209)])
}
Add(Label,2033887,266,56)
{
Left=55
Top=185
Width=116
Height=17
Color=-16777215
Font=[MS Sans Serif,8,0,-16777211,1]
Caption="Dream Knob by Aziz"
}
Add(If_else,12871532,98,280)
{
Type=2
Op2=Integer(0)
link(onTrue,11568369:doData,[])
link(onFalse,180397:doOperation,[(142,293)(142,328)])
}
Add(DoData,11568369,147,280)
{
link(onEventData,4194936:doWork2,[])
link(Data,5260772:Var2,[])
}
Add(Memory,5800032,147,224)
{
Default=Integer(1)
}
Add(Math,180397,154,322)
{
OpType=1
link(onResult,4194936:doWork3,[(205,328)])
link(Op1,16215539:Var1,[(160,317)(407,317)(407,439)])
link(Op2,5260772:Var3,[(167,264)])
}
Add(GetDataEx,5260772,147,259)
{
link(Data,5800032:Value,[])
}
Add(HubEx,4194936,201,280)
{
Angle=3
link(onEvent,636877:doEvent2,[(205,239)(30,239)(30,195)])
}
Add(GetDataEx,16215539,728,434)
{
link(Data,11835883:Value,[])
}
Add(MathParse,5999133,329,329)
{
@Hint=#38:Math.sin((Math.PI * angl / 180) / 2), |30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=1
MathStr="%1 / 3.3 "
AngleMode=1
link(onResult,14553885:doLeft,[(411,335)(411,83)])
link(X1,14086760:Width,[(335,233)(41,233)])
}
Add(MathParse,8433487,371,567)
{
@Hint=#36:round( (%1 * ((%3+abs(%2))/300)),%4)|39:round( (%1 * ((%3+abs(%2))/300))+%2,%4)|0:|48:round(((%3 - (300-%1)) * ((%3+abs(%2))/300)),%4)|0:|36:(%5 - %1) * ((%2-%3) / (%5+abs(%4)))|40:((((%5 - %1)-%4) * ((%2-%3) / (%5-%4))))|36:(((%5-%4)-%1) * ((%2-%3) / (%5-%4)))|30:((%4-%1) * (%2 / %5))- (%3/2) |
DataCount=4
MathStr="\r\n\r\n"
Point(doMathStr)
link(onResult,11324101:doEvent1,[])
link(X1,13509061:Var3,[(377,236)])
link(X2,13758913:Var2,[(384,545)(398,545)])
link(X3,5511496:Var2,[(391,545)(440,545)])
link(X4,11938062:Var1,[(398,545)])
}
Add(Memory,3734854,392,490)
{
@Hint=#9:Min value|
Default=Real(0)
}
Add(Memory,3231430,434,490)
{
@Hint=#9:Max value|
Default=Real(100)
}
Add(Memory,11876470,532,490)
{
@Hint=#15:Round precision|
Default=Real(1)
}
Add(GetDataEx,13509061,252,231)
{
link(Data,11365138:Var2,[])
}
Add(Memory,16294626,168,70)
{
@Hint=#15:Round precision|
Default=Integer(301)
}
Add(If_else,2283850,315,119)
{
Type=2
link(onFalse,2122626:doWork1,[(481,132)])
link(Op2,13509061:Var1,[(328,107)(249,107)(249,236)])
}
Add(Switch,12204523,399,406)
{
Point(onOn)
}
Add(Hub,328943,476,371)
{
link(onEvent1,10043336:doNext,[(502,377)(502,395)(436,395)(436,412)])
}
Add(Hub,8757309,280,126)
{
InCount=2
link(onEvent1,2283850:doCompare,[(304,132)(304,125)])
link(onEvent2,9730464:doValue,[(306,139)(306,163)(240,163)(240,188)])
}
Add(DoData,4783746,294,574)
{
Data=String(round( (%1 * ((%3+abs(%2-1))/300))+%2-1,%4))
link(onEventData,7907162:doWork2,[])
}
Add(Hub,13758681,252,539)
{
link(onEvent1,9557567:doCompare,[(294,545)(294,524)])
link(onEvent2,8433487:doCalc,[(318,552)(318,573)])
}
Add(If_else,9557567,308,518)
{
Type=1
Op2=Integer(0)
link(onTrue,4783746:doData,[(352,524)(352,552)(282,552)(282,580)])
link(onFalse,7275907:doCompare,[(352,531)(352,573)(205,573)(205,615)])
link(Op1,11463559:Var1,[(314,506)])
}
Add(GetDataEx,13758913,392,525)
{
link(Data,3734854:Value,[])
}
Add(DoData,7974367,294,609)
{
Data=String(round( (%1 * ((%3+%2)/300)),%4))
link(onEventData,7907162:doWork3,[(347,615)])
}
Add(HubEx,7907162,343,574)
{
link(onEvent,8433487:doMathStr,[])
}
Add(HubEx,12991355,548,196)
{
link(onEvent,6666965:doOperation,[])
}
Add(Hub,4018710,623,112)
{
OutCount=3
link(onEvent1,2122626:doWork3,[(649,118)(649,146)])
link(onEvent2,12991355:doWork1,[(649,125)(649,162)(552,162)])
link(onEvent3,12740700:doEvent2,[(649,132)(649,94)(163,94)(163,55)])
}
Add(HubEx,2122626,477,140)
{
Angle=1
link(onEvent,12465343:doClear,[(481,342)])
}
Add(If_else,7275907,217,609)
{
Op2=Integer(0)
link(onTrue,7974367:doData,[])
link(onFalse,5273580:doData,[(282,622)(282,650)])
}
Add(DoData,5273580,294,644)
{
Data=String(round( (%1 * ((%3-%2)/300))+%2,%4))
link(onEventData,7907162:doWork1,[(336,650)(336,571)(347,571)])
}
Add(Hub,2911665,399,273)
{
OutCount=3
link(onEvent1,1821441:doEvent1,[(437,279)(437,594)])
link(onEvent2,4182267:doData,[])
link(onEvent3,7396834:doEvent2,[(425,293)(425,244)(324,244)(324,195)])
}
Add(Memory,295307,483,476)
{
@Hint=#22:Input, preset, default|
Default=Real(0)
link(onData,1821441:doEvent2,[(527,482)(527,548)(450,548)(450,601)])
}
Add(DoData,4182267,448,280)
{
}
Add(MathParse,15795284,511,588)
{
@Hint=#36:round( (%1 * ((%3+abs(%2))/300)),%4)|39:round( (%1 * ((%3+abs(%2))/300))+%2,%4)|0:|48:round(((%3 - (300-%1)) * ((%3+abs(%2))/300)),%4)|0:|36:(%5 - %1) * ((%2-%3) / (%5+abs(%4)))|40:((((%5 - %1)-%4) * ((%2-%3) / (%5-%4))))|36:(((%5-%4)-%1) * ((%2-%3) / (%5-%4)))|30:((%4-%1) * (%2 / %5))- (%3/2) |
DataCount=4
MathStr="\r\n"
Point(doMathStr)
link(onResult,8757309:doEvent2,[(548,594)(548,366)(268,366)(268,139)])
link(X1,12669674:Var2,[(517,555)(489,555)])
link(X2,13758913:Var3,[(524,530)])
link(X3,5511496:Var3,[(531,537)])
link(X4,11938062:Var2,[(538,568)(531,568)])
}
Add(GetDataEx,5511496,434,532)
{
link(Data,3231430:Value,[])
}
Add(GetDataEx,11938062,525,540)
{
link(Data,11876470:Value,[(531,531)(538,531)])
}
Add(Hub,1821441,462,588)
{
InCount=2
OutCount=3
link(onEvent1,11829659:doCompare,[(488,594)(488,632)(415,632)(415,671)])
link(onEvent2,15795284:doCalc,[(494,601)(494,594)])
}
Add(DoData,16180259,420,616)
{
Data=String(round( (%1 / ((%3+%2)/300)),%4))
link(onEventData,1612843:doWork2,[])
}
Add(If_else,7116149,476,665)
{
Type=1
Op2=Integer(0)
link(onTrue,15671250:doData,[(530,671)(530,713)])
link(onFalse,5726707:doData,[(530,678)(530,748)])
link(Op1,12669674:Var1,[(482,530)])
}
Add(GetDataEx,12669674,483,525)
{
link(Data,295307:Value,[])
}
Add(If_else,11829659,427,665)
{
Type=1
Op2=Integer(0)
link(onTrue,7116149:doCompare,[])
link(onFalse,7902103:doData,[(506,678)(506,671)])
link(Op1,11463559:Var2,[(433,587)(342,587)])
}
Add(GetDataEx,11463559,336,501)
{
Angle=1
link(Data,13758913:Var1,[(354,506)(354,530)])
}
Add(DoData,7902103,553,665)
{
Data=String(round( (%1 / ((%3+abs(%2))/300))-(%2)*2,%4))
link(onEventData,15321215:doWork3,[(597,671)])
}
Add(HubEx,1612843,477,616)
{
Angle=3
link(onEvent,15795284:doMathStr,[(481,601)])
}
Add(DoData,15671250,553,707)
{
Data=String(round( (%1 / ((%3+abs(%2))/300))-(%2-1)*2,%4))
link(onEventData,472989:doWork3,[(589,713)])
}
Add(HubEx,15321215,593,658)
{
Angle=3
link(onEvent,1612843:doWork1,[(597,622)])
}
Add(DoData,5726707,553,742)
{
Data=String(round( (%1 / ((%3+abs(%2))/300))-(%2)*2,%4))
link(onEventData,472989:doWork1,[(597,748)(597,699)])
}
Add(HubEx,472989,585,693)
{
Angle=3
link(onEvent,15321215:doWork2,[(589,664)])
}
Add(Hub,14492645,448,168)
{
InCount=2
OutCount=5
link(onEvent1,2122626:doWork2,[(470,174)(470,146)])
link(onEvent2,13135093:doValue,[(490,181)(490,244)])
link(onEvent3,3179870:doOperation,[(483,188)(483,153)])
link(onEvent4,10899728:doOperation,[(474,195)(474,157)(443,157)(443,118)])
link(onEvent5,16154425:doEvent1,[(474,202)(474,272)(282,272)(282,342)])
}
Add(Math,10899728,455,112)
{
OpType=3
Op2=1.5
Default=30
link(onResult,14553885:doHeight,[(499,118)(499,97)(450,97)(450,76)])
}
Add(MathParse,14619068,329,371)
{
@Hint=#38:Math.sin((Math.PI * angl / 180) / 2), |30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=1
MathStr="%1 / 2.5 "
AngleMode=1
link(onResult,14553885:doTop,[(411,377)(411,90)])
link(X1,12550175:Var2,[(335,254)(48,254)])
}
Add(Hub,16154425,294,336)
{
link(onEvent1,5999133:doCalc,[(318,342)(318,335)])
link(onEvent2,14619068:doCalc,[(318,349)(318,377)])
}
Add(Math,3179870,504,147)
{
OpType=2
Op2=1.1
Default=30
link(onResult,14553885:doWidth,[(548,153)(548,111)(450,111)(450,69)])
}
Add(DoData,12873480,784,539)
{
}
Add(GetDataEx,12550175,42,147)
{
link(Data,14086760:Height,[])
}
Add(Hub,13767139,91,28)
{
link(onEvent1,3826012:doEvent1,[(235,34)(235,216)])
link(onEvent2,2911665:doEvent1,[(252,41)(252,279)])
}
Add(TrackBar,8882717,126,42)
{
Left=85
Top=35
Visible=1
Max=300
Min=-300
Position=150
link(onPosition,12740700:doEvent1,[])
}
Add(Hub,12740700,175,42)
{
InCount=2
link(onEvent2,2033887:doText,[(227,55)(227,62)])
}
Add(Math,4070639,392,189)
{
OpType=3
Op2=2.8
Default=30
link(onResult,14492645:doEvent1,[(436,195)(436,174)])
link(Op1,14346336:Var2,[])
}
Add(Math,6654163,392,231)
{
OpType=3
Op2=2
Default=30
link(onResult,7855591:doValue,[(485,237)(485,244)])
link(Op1,14346336:Var1,[(398,213)(389,213)(389,180)])
}
Add(Hub,3826012,364,210)
{
link(onEvent1,4070639:doOperation,[(385,216)(385,195)])
link(onEvent2,6654163:doOperation,[(385,223)(385,237)])
}
Add(GetDataEx,14346336,392,175)
{
link(Data,12550175:Var3,[(398,152)])
}
Add(Memory,6913377,630,49)
{
@Hint=#7:Толщина|
Default=Integer(3)
link(onData,4018710:doEvent1,[(674,55)(674,87)(611,87)(611,118)])
}
Add(Hub,11324101,420,567)
{
link(onEvent1,14553885:doText,[(448,573)(448,55)])
link(onEvent2,11526556:onResult,[(822,580)(822,27)])
}
Add(If_else,11433014,126,455)
{
Type=3
link(onTrue,3872806:doCompare,[])
link(onFalse,9727000:doMessage,[(614,468)(614,608)])
link(Op2,5511496:Var1,[(139,443)(288,443)(288,537)])
}
Add(Message,9727000,1071,602)
{
Message="Input value is out of MAX range!"
}
Add(If_else,3872806,182,455)
{
Type=1
link(onTrue,1175819:doMessage,[(642,461)(642,650)])
link(onFalse,295307:doValue,[(348,468)(348,482)])
link(Op2,11463559:Var3,[(195,443)(342,443)])
}
Add(Message,1175819,1071,644)
{
Message="Input value is out of Min range!"
}
Add(Hub,6131807,581,49)
{
InCount=2
link(onEvent1,6913377:doValue,[])
}
Add(Hub,6281007,833,161)
{
InCount=2
OutCount=3
link(onEvent1,11829184:doValue,[])
link(onEvent2,15771391:doEvent1,[(859,174)(859,139)(422,139)(422,104)])
link(onEvent3,11642599:doWork1,[(859,181)(859,218)(340,218)])
}
Add(Hub,15771391,434,98)
{
link(onEvent1,14553885:doSegColor,[(455,104)(455,62)])
}
Add(HubEx,11642599,336,252)
{
link(onEvent,12465343:doRefresh,[(447,258)(447,335)])
}
END_SDK
Add(MainForm,5818658,35,112)
{
@Hint=#8:(c) Aziz|
Width=481
Height=415
Caption="Dream Knob 1.0"
Position=1
Point(onMouseWheel)
Point(Width)
Point(Height)
link(onCreate,6678596:doInit,[(173,132)(173,370)])
}
Add(Label,3904486,343,329)
{
Left=355
Top=145
}
Add(Edit,2269443,98,266)
{
Left=345
Top=50
Text="108"
DataType=4
link(onChange,6678596:doValue,[(205,272)(205,335)])
}
Add(BitBtn,7930152,98,406)
{
Left=345
Top=185
Caption="Reset"
link(onClick,8767528:doEvent1,[])
}
Add(Timer,7919437,287,147)
{
Interval=500
Enable=1
link(onTimer,13129573:doEvent1,[])
}
Add(BitBtn,1632998,213,131)
{
Left=335
Top=220
Width=85
Height=50
Caption="Demo"
link(onClick,7919437:doTimer,[(266,137)(266,153)])
}
Add(RGB,6592141,413,203)
{
link(onRGB,6678596:doColor,[(457,209)(457,335)(268,335)(268,384)])
link(R,16595329:Random,[(419,191)(363,191)])
link(G,11314125:Random,[(426,191)(405,191)])
link(B,7270620:Random,[(433,191)(454,191)])
}
Add(Random,16595329,357,147)
{
Max=255
link(onRandom,11314125:doRandom,[])
}
Add(Random,11314125,399,147)
{
Max=255
link(onRandom,7270620:doRandom,[])
}
Add(Random,7270620,448,147)
{
Max=255
link(onRandom,6592141:doRGB,[(492,153)(492,181)(401,181)(401,209)])
}
Add(Random,3465738,357,203)
{
Min=5
Max=10
link(onRandom,6678596:doThickness,[(401,209)(401,332)(268,332)(268,377)])
}
Add(Hub,13129573,329,147)
{
OutCount=3
link(onEvent1,16595329:doRandom,[])
link(onEvent2,8968820:doNext,[(355,160)(355,188)(275,188)(275,216)])
link(onEvent3,9318257:doRandom,[(350,167)(350,258)])
}
Add(Random,9318257,357,252)
{
link(onRandom,2269443:doText,[(401,258)(401,265)(86,265)(86,272)])
}
Add(CounterEx,8968820,287,210)
{
Max=4
Point(onThroughMax)
link(onThroughMax,3465738:doRandom,[(338,223)(338,209)])
}
Add(Hub,8767528,182,406)
{
link(onEvent1,6678596:doClear,[(238,412)(238,342)])
link(onEvent2,7919437:doStop,[(242,419)(242,160)])
}


--- Добавлено в 2023-04-06 17:07:42

Еще хочу сделать режим с прерывистыми полосками вместо сплошной дуги, будет классно смотреться.

--- Добавлено в 2023-04-06 17:12:39

Пытался сначала компонент IMG_Arc применить, но так и не разобрался как управлять линейно его дугой. Вот схема от экспериментов с IMG_Arc и другими ему подобными компонентами рисования, может кому сгодится:
Как вводить данные - щелкнуть по полю ввода, после этого данные слайдера пойдут в него.


Add(PointXY,15432519,672,231)
{
X=10
Y=100
link(X,1367470:Var2,[(678,191)(685,191)])
link(Y,2335014:Var2,[(685,191)(734,191)])
}
Add(PointXY,4895001,728,231)
{
X=100
Y=100
link(X,376326:Var3,[(734,215)])
link(Y,7985145:Var2,[(741,215)(734,215)])
}
Add(TrackBar,13584592,553,147)
{
Left=105
Top=255
Max=200
TickCount=10
link(onPosition,13021332:doEvent1,[(590,153)(590,125)])
}
Add(Label,14703399,658,63)
{
Left=125
Top=290
}
Add(Hub,13021332,602,119)
{
OutCount=3
link(onEvent1,14703399:doText,[(624,125)(624,69)])
link(onEvent2,13453328:doEvent,[(752,132)(752,524)])
link(onEvent3,13895247:doEvent1,[(628,139)(628,261)(471,261)(471,384)])
}
Add(MainForm,13456546,385,371)
{
@Hint=#20:by Aziz (c) 5.3.2023|
Width=419
Height=421
Caption="Пример использования Img_Arc"
DragForm=0
Position=1
}
Add(PaintBox,13290742,511,378)
{
Width=175
Height=155
Color=15780518
link(onBeforeDraw,11099579:doDraw,[(555,384)(555,412)(499,412)(499,440)])
}
Add(PointHint,16326278,469,476)
{
Info=#34:Координаты в формате Y * 65536 + X|
VAlign=0
Width=127
}
Add(Img_Arc,11099579,511,434)
{
Point1=9830400
Point2=150
Size=3
Point3=9830700
Point4=6553600
Point(Point1)
Point(Point2)
Point(Point3)
Point(Point4)
link(Bitmap,13290742:Bitmap,[])
link(Point1,15432519:Point,[(531,334)(678,334)])
link(Point2,4895001:Point,[(538,334)(734,334)])
link(Point3,6386591:Point,[(545,348)(783,348)])
link(Point4,888101:Point,[(552,348)(839,348)])
}
Add(Hub,13895247,483,378)
{
InCount=2
link(onEvent1,13290742:doClear,[(504,384)(504,391)])
link(onEvent2,13290742:doRefresh,[(504,391)(504,384)])
}
Add(Edit,1419644,679,119)
{
Left=20
Top=310
Text="100"
Point(onSetFocus)
link(onSetFocus,13480356:doWork1,[(800,139)(800,398)])
}
Add(Edit,6197125,679,168)
{
Left=20
Top=335
Text="0"
Point(onSetFocus)
link(onSetFocus,13480356:doWork3,[(800,188)(800,412)])
}
Add(Edit,7898774,728,119)
{
Left=80
Top=310
Text="100"
Point(onSetFocus)
link(onSetFocus,13480356:doWork2,[(824,139)(824,405)])
}
Add(Edit,13846114,728,168)
{
Left=80
Top=335
Text="0"
Point(onSetFocus)
link(onSetFocus,13480356:doWork4,[(824,188)(824,419)])
}
Add(PointXY,6386591,777,231)
{
X=10
Y=100
link(X,8280475:Var2,[(783,192)(791,192)])
link(Y,6713658:Var2,[(790,192)(840,192)])
}
Add(PointXY,888101,833,231)
{
X=100
Y=100
link(X,10388634:Var3,[(839,217)])
link(Y,6031310:Var2,[(846,217)(840,217)])
}
Add(Edit,749927,785,121)
{
Left=150
Top=310
Text="0"
Point(onSetFocus)
link(onSetFocus,13480356:doWork5,[(853,141)(853,426)])
}
Add(Edit,2911718,785,170)
{
Left=150
Top=335
Text="0"
Point(onSetFocus)
link(onSetFocus,13480356:doWork7,[(853,190)(853,440)])
}
Add(Edit,118884,834,121)
{
Left=210
Top=310
Text="0"
Point(onSetFocus)
link(onSetFocus,13480356:doWork6,[(878,141)(878,433)])
}
Add(Edit,1118448,834,170)
{
Left=210
Top=335
Text="0"
Point(onSetFocus)
link(onSetFocus,13480356:doWork8,[(878,190)(878,447)])
}
Add(IndexToChanel,13453328,868,518)
{
Count=8
Point(Index)
Point(Data)
link(onEvent1,1419644:doText,[(912,524)(912,324)(667,324)(667,125)])
link(onEvent2,7898774:doText,[(912,531)(912,328)(716,328)(716,125)])
link(onEvent3,6197125:doText,[(912,538)(912,356)(667,356)(667,174)])
link(onEvent4,13846114:doText,[(912,545)(912,359)(716,359)(716,174)])
link(onEvent5,749927:doText,[(912,552)(912,340)(773,340)(773,127)])
link(onEvent6,118884:doText,[(912,559)(912,343)(822,343)(822,127)])
link(onEvent7,2911718:doText,[(912,566)(912,371)(773,371)(773,176)])
link(onEvent8,1118448:doText,[(912,573)(912,375)(822,375)(822,176)])
link(Index,13929717:Value,[])
}
Add(ChanelToIndex,13480356,889,392)
{
Count=8
Point(EndIdx)
link(onIndex,6438728:doIndex,[(985,398)(985,384)])
}
Add(GetIndexData,6438728,1008,378)
{
Count=8
link(onIndex,10261365:doEvent1,[])
link(Data1,1367470:Var3,[(1014,159)])
link(Data2,2335014:Var3,[(1021,159)])
link(Data3,376326:Var2,[(1028,298)(699,298)])
link(Data4,7985145:Var3,[(1035,208)])
link(Data5,8280475:Var3,[(1042,159)])
link(Data6,6713658:Var3,[(1049,166)])
link(Data7,10388634:Var2,[(1056,300)(811,300)])
link(Data8,6031310:Var3,[(1063,208)])
}
Add(GetDataEx,1367470,679,154)
{
link(Data,1419644:Text,[])
}
Add(GetDataEx,2335014,728,154)
{
link(Data,7898774:Text,[])
}
Add(GetDataEx,376326,693,210)
{
Angle=3
link(Data,6197125:Text,[(685,215)])
}
Add(GetDataEx,7985145,728,203)
{
link(Data,13846114:Text,[])
}
Add(GetDataEx,8280475,785,154)
{
link(Data,749927:Text,[])
}
Add(GetDataEx,6713658,834,161)
{
link(Data,118884:Text,[])
}
Add(GetDataEx,10388634,805,212)
{
Angle=3
link(Data,2911718:Text,[(791,217)])
}
Add(GetDataEx,6031310,834,203)
{
link(Data,1118448:Text,[])
}
Add(Hub,10261365,1099,378)
{
OutCount=4
link(onEvent1,13895247:doEvent2,[(1125,384)(1125,388)(471,388)(471,391)])
link(onEvent2,13929717:doValue,[(1125,391)(1125,433)(856,433)(856,475)])
link(onEvent3,13456546:doCaption,[(1125,398)(1125,388)(373,388)(373,377)])
link(onEvent4,12583233:doData,[(1134,405)(1134,398)])
}
Add(DoData,12583233,1155,392)
{
link(onEventData,13584592:doPosition,[(1199,398)(1199,276)(541,276)(541,153)])
link(Data,6438728:Var,[(1161,380)(1087,380)(1087,422)(1014,422)])
}
Add(Memory,13929717,868,469)
{
Default=Integer(0)
}


Редактировалось 4 раз(а), последний 2023-04-06 17:12:39
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 495
Рейтинг: 163
#12: 2023-04-06 19:58:30 ЛС | профиль | цитата
Aziz писал(а):
Но он мне приснился оранжевым

Aziz,наверное такое только в страшном сне снится... судя по схеме, 130 Запутанных элементов
И честно , так и удалось понять как его крутить ..

Редактировалось 2 раз(а), последний 2023-04-06 20:02:56
карма: 4

0
Ответов: 1291
Рейтинг: 47
#13: 2023-04-07 00:58:18 ЛС | профиль | цитата
tig-rrr, насчет запутанности, ты еще моих по-настоящему запутанных не видел)) Как нибудь скину) И я вроде писал уже неоднократно, что нет времени и сил причесывать схемы или сразу аккуратно размещать элементы.. Поэтому, сколько себя помню на этом ресурсе, всегда мои схемы были сверх запутанными) Тут уж ничего не попишешь.. Я и так очень медленно продвигаюсь, а если еще буду тратить время на размышления как покрасивее провести линки, то о результатах можно забыть..

А крутить просто - тыкаешь и нажав кнопку мыши левую, двигаешь вверх - вниз или вправо влево в пределах панели. А то что он у тебя не крутился - наверное слишком быстро двигал, это тот глюк о котором я упомянул. Тормоза. Потом еще может у меня монитор 2К и я настроил его под себя - чтобы при случайных движениях не крутился - за это параметр в этом куске схемы отвечает:

Дельта = 5 сейчас

Add(Math,4054707,903,392)
{
OpType=33
Op2=2
link(onResult,432243:doCompare,[])
}
Add(If_else,432243,952,392)
{
Type=1
Op2=Integer(5)
link(onTrue,1885234:doData,[])
}
Add(SampleDelta,6626697,847,392)
{
link(onCalcDelta,4054707:doOperation,[])
}
Add(Memory,14122141,798,392)
{
link(onData,6626697:doCalcDelta,[])
}
Add(DoData,1885234,1001,392)
{
link(Data,14122141:Value,[(1007,380)(905,380)(905,436)(804,436)])
}

А насчет страшного сна, чем не понравилось, поконкретнее, что неудобно ? Неужели не видел нигде в программах подобные крутилки? Я наподобие видел наверное где-то в софтовых синтах коих пересмотрел туеву хучу..

--- Добавлено в 2023-04-07 01:12:31

tig-rrr, а может ты пытался последнюю схему запустить для теста IMG_Arc ? Там да, ничего крутить не получится)

--- Добавлено в 2023-04-07 01:45:22

И, немаловажное добавление, критика желательна с конструктивными примерами "как надо" и "как лучше/красивее")

--- Добавлено в 2023-04-07 01:51:01

Вот решил поискать в архиве, нашел ВолкодЕр Галкова. Ничего не тормозит и минимум элементов, максимум математики..
Валкодер от Галкова

Add(MainForm,6658112,84,147)
{
Left=20
Top=105
Width=442
Height=311
link(onCreate,5520208:doEvent1,[(124,167)(124,188)])
}
Add(ChildPanelEx,7041547,357,236)
{
@Hint=#9:Валкодер||
link(Freq,6578680:doText,[(421,242)(421,195)])
}
BEGIN_SDK
Add(EditMultiEx,8788151,3,66)
{
WorkCount=#6:Create|4:Band|
EventCount=#4:Freq|7:DisFreq|
VarCount=#8:Position|6:Result|
Width=755
Height=683
link(Create,14480247:doEvent1,[(36,72)(36,125)])
link(Position,10997514:Var1,[(9,371)(115,371)(115,306)])
}
Add(Panel,6611581,91,77)
{
Left=30
Top=30
Width=360
Height=206
Color=12632256
BevelOuter=1
Point(doColor)
}
Add(Memory,13036953,175,266)
{
Default=Real(1.5)
MakeExt(Default,скоростной корректор,Power)
}
Add(Memory,13895313,175,168)
{
Default=Integer(-1)
link(onData,1039961:doCalc,[(223,174)(223,257)(104,257)(104,258)])
}
Add(MathParse,9274619,224,315)
{
@Hint=#40:Формирую точку-положение ручки валкодера|
DataCount=3
MathStr="cos (%1)*%3/3 + %2/2.4+65536*round(-sin (%1)*%2/3+%2/2.4)"
ResultType=0
AngleMode=1
link(onResult,8430061:doDraw,[])
link(X2,2013733:Var2,[])
link(X3,16173336:Var2,[(244,308)(244,308)])
}
Add(MathParse,6501834,126,315)
{
@Hint=#28:Динамический корректор угла:|56:1) изменение мышьего уголка ограничивается 180 градусами|55:2) это изменение подвергается степенному преобразованию|45:3) и уже это становится изменением результата|38:______________________________________|0:|10:Внимание: |59:В формуле первый аргумент ДОЛЖЕН встретиться раньше второго|
DataCount=3
MathStr="(-%1+%2 + round(%1-%2,360))*(abs(-%1+%2 + round(%1-%2,360))+.0001)^(%3-1) + %0"
ResultType=0
AngleMode=1
link(onResult,8887957:doEvent1,[])
link(X1,10997514:Var2,[])
link(X2,1039961:reCalc,[(139,296)(132,296)])
link(X3,13036953:Value,[(146,307)(181,307)])
}
Add(GetDataEx,2013733,224,245)
{
link(Data,5005552:Var3,[(237,242)])
}
Add(GetDataEx,10997514,119,297)
{
link(Data,1039961:Result,[])
}
Add(PointXY,11308193,77,266)
{
@Hint=#25:Формирую размер валкодера|
link(X,13392463:Var1,[(83,235)])
link(Y,5005552:Var1,[(90,242)])
}
Add(HubEx,1812232,49,308)
{
link(onEvent,2371414:doDraw,[])
}
Add(GetDataEx,13392463,140,226)
{
link(Data,7824247:Width,[])
}
Add(GetDataEx,5005552,133,233)
{
link(Data,7824247:Height,[])
}
Add(Img_Ellipse,2371414,63,315)
{
Point2AsOffset=0
Style=1
BgColor=15793151
Point(Point2)
link(onDraw,6501834:doCalc,[(114,321)(114,321)])
link(Bitmap,7325121:Var1,[(69,228)])
link(Point2,11308193:Point,[])
}
Add(GetDataEx,7325121,105,219)
{
link(Data,7824247:Bitmap,[])
}
Add(Img_Ellipse,8430061,273,315)
{
Point2AsOffset=0
Style=1
Color=255
BgColor=8421504
Point(Point2)
link(Bitmap,7325121:Var3,[(279,228)])
link(Point2,9136247:reCalc,[])
}
Add(PaintBox,7824247,112,161)
{
Left=210
Top=35
Width=112
Height=111
Point(onMouseDown)
Point(onMouseUp)
Point(onMouseMove)
Point(MouseX)
Point(MouseY)
Point(Height)
Point(Width)
link(onMouseDown,13895313:doValue,[])
link(onMouseUp,13895313:doClear,[])
link(onMouseMove,6447485:doCompare,[(162,188)(162,216)])
}
Add(Hub,8887957,175,315)
{
OutCount=3
link(onEvent1,9274619:doCalc,[])
link(onEvent2,10427705:doOperation,[(320,328)(320,258)])
link(onEvent3,7824247:doRefresh,[(217,335)(217,254)(102,254)(102,167)])
}
Add(MathParse,9136247,280,266)
{
@Hint=#36:Фомирую точку-размер ручки валкодера|
MathStr="%2/6 + 65536*round(%1/6)"
ResultType=0
AngleMode=1
Point(reCalc)
link(X1,2013733:Var3,[(286,254)])
link(X2,16173336:Var3,[(293,247)])
}
Add(MathParse,1039961,119,252)
{
@Hint=#36:Определяю угловую координату мыша :)|
DataCount=4
MathStr="atan (%4/2 - %2, %1- %3/2 )"
Default=135
AngleMode=1
Point(reCalc)
link(X1,7824247:MouseX,[])
link(X2,7824247:MouseY,[])
link(X3,5005552:Var2,[])
link(X4,13392463:Var2,[])
}
Add(GetDataEx,16173336,231,238)
{
link(Data,13392463:Var3,[(244,235)])
}
Add(If_else,6447485,175,210)
{
Op2=Integer(0)
link(onTrue,1812232:doWork1,[(215,216)(215,250)(53,250)])
link(Op1,13895313:Value,[])
}
Add(Math,10427705,336,252)
{
OpType=2
Op2=-1
ResultType=0
link(onResult,8788151:Freq,[(563,258)(563,72)])
}
Add(Hub,14480247,49,119)
{
link(onEvent2,1812232:doWork2,[(91,132)(91,220)(39,220)(39,321)])
}
END_SDK
Add(Edit,6578680,518,189)
{
Left=80
Top=250
Width=85
}
Add(Hub,5520208,133,182)
{
link(onEvent2,7041547:Create,[(261,195)(261,242)])
}


--- Добавлено в 2023-04-07 01:53:09

OGL Knob

Add(ChildPanel,5058451,315,224)
{
}
BEGIN_SDK
Add(EditMulti,13047789,10,10)
{
WorkCount=1
link(doWork1,15105157:doCaption,[(22,16)(22,48)])
}
Add(Panel,15105157,49,42)
{
Left=111
Top=8
Width=37
Height=19
Color=9079434
Font=[MS Sans Serif,8,1,65535,1]
Caption="0"
BevelInner=0
Alignment=2
}
END_SDK
Add(MainForm,15610394,77,175)
{
Left=20
Top=105
Width=257
Height=324
Color=9079434
Caption="Индикатор"
BorderStyle=3
Point(MouseX)
Point(MouseY)
Point(onMouseMove)
Point(onMouseUp)
link(onCreate,15576604:doWork1,[(212,195)(212,286)])
}
Add(ChildPanel,16025864,315,175)
{
}
BEGIN_SDK
Add(EditMulti,11923027,10,10)
{
WorkCount=1
Width=510
Height=270
link(doWork1,8420412:doCompare,[(33,16)(33,118)])
}
Add(Label,4013508,378,28)
{
Left=-154
Top=-8
Width=514
Height=22
Font=[Courier New,12,0,0,204]
Transparent=0
Caption="|||||||||||||||||||||||||||||||||||||||||||||||||||"
Point(Left)
Point(doLeft)
}
Add(StrCat,135228,112,112)
{
Str1="-"
link(onStrCat,3938152:doWork2,[])
}
Add(Panel,6782736,56,210)
{
Left=25
Top=30
Width=200
BorderStyle=1
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(Label,12337365,231,14)
{
Left=-144
Width=494
Height=22
Font=[Courier New,12,0,0,204]
Transparent=0
Caption="| | | | | | | | | | | | | | | | | | | | | | | | |"
Point(Left)
Point(doLeft)
}
Add(Label,8694476,308,21)
{
Left=-153
Top=19
Width=524
Height=23
Font=[Arial,12,1,0,204]
Transparent=0
Caption="-60 -50 -40 -30 -20 -10 0 10 20 30 40 50 60"
AutoSize=1
Point(Left)
Point(doLeft)
}
Add(ChildPanel,5174903,112,210)
{
}
BEGIN_SDK
Add(EditMulti,13561761,10,10)
{
}
Add(Panel,9524959,35,105)
{
Left=100
Width=1
Height=22
Color=255
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
}
END_SDK
Add(Image,12110074,168,210)
{
Width=200
Height=50
Picture=[ZIP6675000078DAEDD2474B5D41140770F32DF211B20C5964ADB163C78E1D3B76ECD8157B57EC5DB177C5DE157B57EC5DB177C5869BFCD12CB29C4D2E33E11CB88FC77DF3CE9CF2FBA561E72DF3113FF17CC33381E7079E2F325F3FDE7FFFF3FBDF212727272F2FAFA0A0A0A4A4A4A2A2A2AAAAAAAEAEAEA9A9A9ADADADA3A3A3ABABABAFAF6F6868686C6C6C6262626666666161616969696565656363636767E7E0E0E0E8E8E8ECECECE2E2E2E6E6E6E1E1E1E9E9E9EDEDEDEBEBEBEFEF1F1010101818181C1C1C1A1A1A1E1E1E1111111515151313131B1B1B1F1F9F9898989C9C9C9A9A9A9E9E9E9191919999999D9D9D9B9B9B9F9F5F5858585C5C5C5A5A5A5656565E5E5E5959595D5D5D5B5B5B5F5FDFD8D8D8DCDCDCD2D2D2DADADADEDEDED9D9D9DDDDDDDBDBDBDFDF3F3838383434343232323A3A3A3E3E3E3939393D3D3D3B3B3B3737B7B0B0B0B4B4B4BCBCBCBABABABEBEBEB9B9B9B5B5B5B3B3B3B7B7777070707474747C7C7C7A7A7A7E7E7E7171717575757373737777F7F0F0F0F8F8F8FCFCFCF2F2F2F6F6F6FEFE8E4F7C7F7A7AC27BFC8A333889F3F8D7D9D91932200FB2212732233F6EC15DB811F7E276D4804AE6E7E751156A4385A813D5A2E6E1E161D48F2ED00B3A425F1D1D1D6D6D6D6813FDA26BF48E09D4D4D45455555554546032980FA65454545450509097979793939395958549629E69696929292949494909090971717198797474746464245610161616121212141484ED60477E7E7E3E3E3E5E5E5ED89DBBBB3B9688553A393961ADF6F6F6B6B6B6D6D6D65837966E6E6E6E6A6A0A09464646200118E001245A5A5A1A1A1A6A6A6AC0034280044EFFD415424A57030303E44A5057484EAEC8158B2B04B9FA74051BE44A505768504A57333333E44A505728835C912B165738CCADABA6A626295D4111B912D415825C912B165728985B571B1B1BE48A1F5748CBADABBEBE3E72C58F2B5959596E5D959494902B72C5E20AAD71EBEAE4E4845C912B1657535353E48A5CB1B86A6868205782BAC231295D6108E48A5C89EE6A6D6D8D5C09EA0AA54AE9AAA7A7875C09EA0A21A52B8C8B5C912BD15D21C815B9627135313141AE047585ABC915B962718503DCBAAAABAB93D2D5FDFD3DB912D415DA2757E48AC5158AE4D6D5CACA0AB9E2C7155271EBAAABAB8B5C912B16571814B922572CAED00EB7AE0E0F0FC9153FAE7029B7AEC6C6C6C815B962718591922B72C5E20A8D73EBEAF6F6965C912B72F57FBB4248E90AC3275782BA3230302057E44A7457189194AEF6F7F7C995A0AED08894AE10E44A5057B88E5C912B1657CACACADCBAC230A574757D7D4DAE04758596C915B9627185C2B875B5B8B848AEF871A5A7A7C7AD2B8C9D5C912B1657180EB922572CAED002B7AE767777C915B962718505912B72C5E20A63245782BA52545494D2159AE5D6D5E5E525B922572CAEB04A7225A82B5757577245AE585C21C8D5A7ABD7D7577225A82B8C454A57DBDBDBE44A5057285E4A57580DB9E2C1D56FF65E53B8]
}
Add(Math,2695736,308,119)
{
ResultType=0
link(onResult,8694476:doLeft,[(354,125)(354,109)(296,109)(296,34)])
link(Op2,3493806:Value,[])
}
Add(Math,10594193,231,112)
{
ResultType=0
link(onResult,12337365:doLeft,[(280,118)(280,55)(219,55)(219,27)])
link(Op2,12385726:Value,[])
}
Add(Hub,5385397,175,112)
{
OutCount=3
link(onEvent1,10594193:doOperation,[])
link(onEvent2,2695736:doOperation,[])
link(onEvent3,73217:doOperation,[])
}
Add(Memory,3493806,315,70)
{
Point(Data)
link(Data,8694476:Left,[])
}
Add(Memory,12385726,238,63)
{
Point(Data)
link(Data,12337365:Left,[])
}
Add(Hub,7248372,175,63)
{
OutCount=3
link(onEvent1,12385726:doValue,[])
link(onEvent2,3493806:doValue,[])
link(onEvent3,5588523:doValue,[])
}
Add(Timer,541812,112,63)
{
Interval=100
AutoStop=1
link(onTimer,7248372:doEvent1,[])
}
Add(If_else,8420412,56,112)
{
Type=2
Op2=Integer(0)
link(onTrue,135228:doStrCat,[])
link(onFalse,3038776:doReplace,[(100,125)(100,160)])
}
Add(Replace,3038776,112,154)
{
SubStr="-"
link(onReplace,3938152:doWork3,[(158,160)])
}
Add(HubEx,3938152,154,105)
{
link(onEvent,5385397:doEvent1,[])
}
Add(Memory,5588523,385,77)
{
Point(Data)
link(Data,4013508:Left,[])
}
Add(Math,73217,378,126)
{
ResultType=0
link(onResult,4013508:doLeft,[(428,132)(428,69)(366,69)(366,41)])
link(Op2,5588523:Value,[])
}
END_SDK
Add(Hub,9683366,196,175)
{
link(onEvent1,1360622:doOperation,[])
link(onEvent2,5058451:doWork1,[(272,188)(272,230)])
}
Add(Math,1360622,259,175)
{
OpType=2
Op2=4
ResultType=0
link(onResult,16025864:doWork1,[])
}
Add(ChildPanel,15576604,315,280)
{
link(onEvent1,9683366:doEvent1,[(361,286)(361,265)(184,265)(184,181)])
}
BEGIN_SDK
Add(EditMulti,13281966,21,21)
{
EventCount=1
WorkCount=1
Width=559
Height=473
link(doWork1,16299401:doEvent1,[(45,27)(45,349)])
}
Add(Panel,3575824,84,35)
{
Left=25
Top=90
Width=200
Height=200
Color=9079434
BevelInner=0
Point(Handle)
Point(MouseX)
Point(MouseY)
Point(Width)
Point(Height)
Point(onMouseDown)
Point(onMouseUp)
Point(onMouseMove)
link(onMouseDown,16266450:doData,[(189,48)(189,76)])
link(onMouseUp,7325099:doData,[(180,55)(180,153)])
link(onMouseMove,5023578:doEvent1,[(171,62)(171,125)])
}
Add(GL_Main,12986311,196,343)
{
Color=9079434
link(onInit,12198675:doInit,[])
link(onViewPort,3410847:doPerspective,[(236,356)(236,391)])
link(Handle,3575824:Handle,[(202,330)(90,330)])
}
Add(Timer,9506849,56,392)
{
Interval=20
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,154,392)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(Hub,1049454,98,392)
{
OutCount=6
link(onEvent1,771925:doClear,[])
link(onEvent2,771925:doPushMatrix,[])
link(onEvent3,16314175:doWork1,[(137,412)(137,440)])
link(onEvent4,771925:doPopMatrix,[(142,419)(142,412)])
link(onEvent5,12986311:doFlip,[(146,426)(146,363)])
}
Add(Hub,16299401,56,343)
{
OutCount=3
link(onEvent1,12986311:doInit,[])
link(onEvent2,12986311:doViewPort,[])
link(onEvent3,9506849:doTimer,[(100,363)(100,381)(44,381)(44,398)])
}
Add(GL_Options,10513853,413,343)
{
Flag=1
link(onEvent,14989894:doEnabled,[])
}
Add(GL_Perspective,3410847,245,385)
{
Fovy=20
}
Add(GL_Options,4378486,371,343)
{
Flag=3
}
Add(GL_Options,5809249,329,343)
{
Flag=2
link(onEvent,10513853:doEnabled,[])
}
Add(GL_GluTools,12198675,245,343)
{
Texture=0
link(onInit,1101264:doEnabled,[])
}
Add(GL_Light,14989894,462,343)
{
Index=1
Diffuse=8026746
Specular=16711680
link(onEnabled,14989894:doMove,[(506,349)(506,353)(450,353)(450,356)])
link(Point,12614154:Point3D,[(468,331)(499,331)(499,386)(517,386)])
}
Add(GL_Options,1101264,287,343)
{
link(onEvent,5809249:doEnabled,[])
}
Add(GL_Point3D,12614154,511,343)
{
Y=0.5
Z=0.5
}
Add(MathParse,1039961,91,105)
{
@Hint=#36:Определяю угловую координату мыша :)|
DataCount=4
MathStr="atan (%4/2 - %2, %1 - %3/2 )"
AngleMode=1
Point(reCalc)
link(onResult,16116031:doCalc,[(135,111)(135,141)(79,141)(79,153)])
link(X1,3575824:MouseX,[])
link(X2,3575824:MouseY,[])
link(X3,3575824:Width,[])
link(X4,3575824:Height,[])
}
Add(MathParse,16116031,91,147)
{
@Hint=#28:Сдвиг угловых координат мыша|
DataCount=1
MathStr="(abs(((1 - sign(%1)) * abs(sign(%1)) * 180) - abs(%1))-90) mod 360"
ResultType=0
link(onResult,10526018:doCalc,[(131,153)(131,174)(58,174)(58,202)])
link(X1,1039961:Result,[])
}
Add(DoData,16266450,294,70)
{
link(onEventData,11293263:doEvent2,[(334,76)(334,83)])
link(Data,2251930:Value,[])
}
Add(Memory,2251930,294,28)
{
Default=Integer(1)
}
Add(IndexToChanel,12881417,427,119)
{
Point(Data)
Point(Index)
link(onEvent2,1039961:doCalc,[(463,132)(463,168)(75,168)(75,111)])
link(Data,2237627:Value,[(433,107)(401,107)(401,163)(370,163)])
link(Index,567749:Value,[])
}
Add(Memory,567749,434,70)
{
Default=Integer(0)
}
Add(DoData,7325099,294,147)
{
link(onEventData,11293263:doEvent3,[(334,153)(334,90)])
link(Data,6079886:Value,[])
}
Add(Memory,6079886,294,105)
{
Default=Integer(0)
}
Add(Hub,11293263,364,70)
{
InCount=4
link(onEvent1,567749:doValue,[])
}
Add(Memory,2237627,364,119)
{
Default=Integer(0)
link(onData,12881417:doEvent,[])
}
Add(MathParse,10526018,140,196)
{
@Hint=#27:Получение текущего значения|
MathStr="(abs(((1+sign(%1)) * abs(sign(%1)) * 180) -abs(%1))) * %2 / 270"
ResultType=0
link(onResult,7371988:doEvent1,[(184,202)(184,244)(79,244)(79,279)])
link(X2,3982609:Value,[(153,188)(146,188)])
}
Add(Memory,3982609,140,147)
{
Default=Integer(90)
}
Add(Timer,12505582,189,189)
{
Interval=70
link(onTimer,795195:doNext,[])
}
Add(Hub,5023578,238,119)
{
link(onEvent1,2237627:doValue,[])
link(onEvent2,795195:doReset,[(282,132)(282,174)(226,174)(226,209)])
}
Add(DoData,5832806,238,77)
{
link(onEventData,11293263:doEvent4,[(317,83)(317,97)])
link(Data,14957857:Value,[])
}
Add(Memory,14957857,238,28)
{
Default=Integer(0)
}
Add(Counter,795195,245,189)
{
Max=10
link(onNext,7713222:doCase,[])
}
Add(Case,7713222,294,189)
{
Value=Integer(10)
DataOnTrue=Integer(0)
link(onTrue,5832806:doData,[(340,202)(340,138)(226,138)(226,83)])
}
Add(If_else,8791157,245,273)
{
Type=2
Op2=Integer(60)
link(onTrue,14916979:doOperation,[])
}
Add(Math,14916979,364,273)
{
OpType=1
Op2=120
link(onResult,11106670:doEvent2,[(425,279)(425,265)])
}
Add(If_else,5459854,245,231)
{
Type=1
Op2=Integer(60)
link(onTrue,14003187:doEvent1,[])
}
Add(Hub,9831368,189,245)
{
link(onEvent1,5459854:doCompare,[(229,251)(229,237)])
link(onEvent2,8791157:doCompare,[(226,258)(226,279)])
}
Add(Hub,11106670,434,252)
{
InCount=2
link(onEvent1,13281966:onEvent1,[(509,258)(509,27)])
}
Add(MultiElement,16314175,154,434)
{
link(Data1,16116031:Result,[(160,338)(97,338)])
}
BEGIN_SDK
Add(EditMulti,821312,21,21)
{
WorkCount=1
DataCount=1
Width=748
Height=508
link(doWork1,1447528:doDraw,[(67,27)(67,46)])
}
Add(MultiElement,9310891,58,173)
{
link(onEvent1,16444830:doDraw,[])
link(Data1,821312:Data1,[(64,97)(27,97)])
}
BEGIN_SDK
Add(EditMulti,4359962,10,10)
{
EventCount=1
WorkCount=1
DataCount=2
Width=223
Height=109
link(doWork1,8079493:doRotate,[(61,16)(61,55)])
}
Add(GL_Rotate,8079493,112,49)
{
Z=1
link(onRotate,4359962:onEvent1,[(188,55)(188,16)])
link(Angle,4359962:Data1,[(118,29)(16,29)])
}
END_SDK
Add(GL_Disk,16444830,114,173)
{
OutRadius=0.9
Slices=30
Stacks=30
link(onDraw,1149682:doTranslate,[])
}
Add(Gl_Translate,1149682,163,173)
{
Y=0.7
Z=-0.25
link(onTranslate,11214035:doDraw,[])
}
Add(GL_Sphere,11214035,212,173)
{
Radius=0.3
Slices=30
Stacks=30
link(onDraw,11030418:doTranslate,[])
}
Add(Gl_Translate,11030418,261,173)
{
Y=0.27
Z=0.25
link(onTranslate,11857953:doPushAttrib,[])
}
Add(GL_Sphere,5983118,415,173)
{
Radius=0.025
Slices=10
Stacks=10
link(onDraw,8490103:doPopAttrib,[])
}
Add(GL_GTools,11857953,317,173)
{
Point(doPushAttrib)
link(onEvent,1804440:doSet,[])
}
Add(GL_GTools,8490103,464,173)
{
Point(doPopAttrib)
}
Add(GL_Material,1804440,366,173)
{
Diffuse=0
Specular=16776960
Emission=16711680
Shininess=50
link(onSet,5983118:doDraw,[])
}
Add(GL_Torus,12359612,415,131)
{
inRadius=0.202
outRadius=0.9
Sides=16
Rings=50
link(onDraw,6260330:doPopMatrix,[])
}
Add(Gl_Translate,16432901,366,131)
{
Z=-0.2
link(onTranslate,12359612:doDraw,[])
}
Add(GL_GTools,8789336,317,131)
{
Point(doPushMatrix)
link(onEvent,16432901:doTranslate,[])
}
Add(GL_GTools,6260330,464,131)
{
Point(doPopMatrix)
link(onEvent,9310891:doWork1,[(508,137)(508,158)(46,158)(46,179)])
}
Add(GL_Disk,14760710,212,131)
{
InRadius=1.2
OutRadius=2
Slices=30
Stacks=30
link(onDraw,4857150:doPopMatrix,[])
}
Add(GL_Torus,1447528,114,40)
{
inRadius=0.14
outRadius=1.21
Sides=16
Rings=50
link(onDraw,169790:doPushMatrix,[])
}
Add(Gl_Translate,14052653,163,131)
{
Z=0.135
link(onTranslate,14760710:doDraw,[])
}
Add(GL_GTools,11930124,114,131)
{
Point(doPushMatrix)
link(onEvent,14052653:doTranslate,[])
}
Add(GL_GTools,4857150,261,131)
{
Point(doPopMatrix)
link(onEvent,8789336:doPushMatrix,[])
}
Add(GL_GTools,169790,163,40)
{
Point(doPushMatrix)
link(onEvent,7812187:doPushAttrib,[])
}
Add(GL_GTools,13452770,464,89)
{
Point(doPopMatrix)
link(onEvent,11930124:doPushMatrix,[(508,95)(508,116)(102,116)(102,137)])
}
Add(GL_Sphere,5815883,352,40)
{
Radius=0.015
Slices=10
Stacks=10
link(onDraw,140046:doTranslate,[(394,46)(394,77)(102,77)(102,95)])
}
Add(GL_GTools,7812187,212,40)
{
Point(doPushAttrib)
link(onEvent,2297635:doSet,[])
}
Add(GL_GTools,10165953,415,89)
{
Point(doPopAttrib)
link(onEvent,13452770:doPopMatrix,[])
}
Add(GL_Material,2297635,268,40)
{
Diffuse=0
Specular=255
Emission=128
Shininess=50
link(onSet,11804416:doTranslate,[])
}
Add(Gl_Translate,11804416,310,40)
{
X=-1.1
Z=0.3
link(onTranslate,5815883:doDraw,[])
}
Add(Gl_Translate,140046,114,89)
{
X=2.2
link(onTranslate,7035382:doDraw,[])
}
Add(GL_Sphere,7035382,163,89)
{
Radius=0.015
Slices=10
Stacks=10
link(onDraw,9891782:doTranslate,[])
}
Add(Gl_Translate,9891782,212,89)
{
X=-1.1
Y=1.1
link(onTranslate,13860135:doDraw,[])
}
Add(GL_Sphere,13860135,261,89)
{
Radius=0.015
Slices=10
Stacks=10
link(onDraw,3846578:doTranslate,[])
}
Add(Gl_Translate,3846578,317,89)
{
Y=-2.2
link(onTranslate,1147034:doDraw,[])
}
Add(GL_Sphere,1147034,366,89)
{
Radius=0.015
Slices=10
Stacks=10
link(onDraw,10165953:doPopAttrib,[])
}
END_SDK
Add(Case,8468842,140,273)
{
Value=Integer(60)
DataOnTrue=Integer(0)
link(onTrue,11293263:doEvent1,[(350,286)(350,76)])
}
Add(Hub,7371988,91,273)
{
link(onEvent1,8468842:doCase,[])
link(onEvent2,9831368:doEvent1,[(128,286)(128,251)])
}
Add(Memory,11807718,364,224)
{
link(onData,11106670:doEvent1,[(425,230)(425,258)])
}
Add(Hub,14003187,294,231)
{
InCount=2
link(onEvent1,11807718:doValue,[(355,237)(355,230)])
}
END_SDK


Редактировалось 9 раз(а), последний 2023-04-07 01:55:19
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 793
Рейтинг: 168
#14: 2023-04-07 07:09:55 ЛС | профиль | цитата
Aziz писал(а):
Dream Knob 1.0 - кноб (крутилка, регулятор)

Извини, схема …… - просто нет нематерных слов чтобы описать то, что я увидел.
Три варианта (3 разных подхода). Управление – колёсиком мышки.
https://disk.yandex.ru/d/TDxL0T-XnbB1SQ
https://disk.yandex.ru/d/NgC3w2PF0ZmTPQ
https://disk.yandex.ru/d/8brpFRYmA51bFQ
Все картинки из интернета. На Yandex диске из-за размера.
карма: 16

0
Ответов: 1291
Рейтинг: 47
#15: 2023-04-07 10:09:10 ЛС | профиль | цитата
Gunta, я же уже выше написал что ЛУЧШЕ читаемости никогда не будет.. Ну не в силах я. Зачем меня еще раз в это тыкать носом? Невежливо как-то. И что мне теперь прикажешь делать? Хочешь удалю все свои схемы отсюда и больше не буду ими делиться? Так лучше по твоему? Что мне, уже в подписи это написать чтобы запомнили? Что я не художник - дизайнер схем. Вот и не хочется больше ничего выкладывать, а только качать. Спасибо за схемы, какие бы они не были, я никогда не буду критиковать дающего.. Если бы я ставил целью идеальную схему сделать, я бы об этом написал. Делал ДЛЯ СЕБЯ, а не для форума или конкурса по читаемости схем.

--- Добавлено в 2023-04-07 10:22:39

И что же в этой схеме матерного ? Схема как схема. Я могу и похуже и запутаннее. Это же моя фирменная личная азизовская обфускация кода) Матерые Халявщики (кому лень чуть мозг напрячь чтобы разобраться) явно не у дел) А вы что думали, я тут бесплатно буду свой исходный код раздавать?))

--- Добавлено в 2023-04-07 10:27:43

Твои схемы конечно проще, но там нет управления мышью и по дизайну это совсем не рисованные Кнобы нужные мне. Эти трудно на практике использовать - они не ресайзятся и не генерируются динамически как мои и меньше функционала. Нет проверки по диапазону, предустановки дефолтной и многого другого. Мои кнобы могут даже отрицательные значения как генерировать так и отображать, предустанавливаться. Так и неполный диапазон, когда минимальное значение больше нуля. Отсюда и сложность моей схемы. Лучше бы помог убрать тормоза с отрисовкой в моей схеме, там не так уж сложно понять логику работы если развито логическое мышление.

--- Добавлено в 2023-04-07 10:37:30

Вариант с полосками (сырой)


Add(ChildPanelEx,6678596,280,329)
{
link(onResult,3904486:doText,[])
}
BEGIN_SDK
Add(EditMultiEx,11526556,21,21)
{
WorkCount=#7:doValue|7:doClear|10:doMinValue|10:doMaxValue|16:doPresisionValue|6:doInit|11:doThickness|7:doColor|
EventCount=#8:onResult|
VarCount=#5:Value|
Width=1189
Height=844
link(doValue,11433014:doCompare,[(73,27)(73,461)])
link(doClear,295307:doClear,[(252,34)(252,489)])
link(doMinValue,3734854:doValue,[(207,41)(207,496)])
link(doMaxValue,3231430:doValue,[(227,48)(227,496)])
link(doPresisionValue,11876470:doValue,[(277,55)(277,496)])
link(doInit,13767139:doEvent1,[(56,62)(56,34)])
link(doThickness,6131807:doEvent2,[(301,69)(301,62)])
link(doColor,6281007:doEvent2,[(427,76)(427,174)])
link(Value,8433487:Result,[(27,732)(377,732)])
}
Add(Panel,14086760,35,105)
{
Left=60
Top=40
Width=200
Height=200
Point(Width)
Point(Height)
Point(onMouseWheel)
Point(onShow)
Point(onSetFocus)
link(onMouseWheel,12871532:doCompare,[(83,118)(83,286)])
}
Add(Img_Point,10361775,511,392)
{
Color=33023
Size=30
Point(X)
Point(Y)
Point(Size)
Point(Color)
link(Size,6666965:Result,[(538,310)(573,310)])
}
Add(PaintBox,12465343,616,329)
{
Left=2
Top=2
Width=587
Height=535
Align=5
Color=-16777215
WinStyle=1
ColorSp=0
Point(onClick)
Point(MouseX)
Point(MouseY)
Point(onMouseMove)
Point(onDblClick)
Point(onMouseWheel)
link(onMouseMove,12814260:doCompare,[])
link(onDblClick,14755892:doOpen,[(709,356)(709,167)])
}
Add(MathParse,14307840,518,329)
{
@Hint=#38:Math.sin((Math.PI * angl / 180) / 2), |30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=4
MathStr="%3 + %2 * cos (%1 - %4)"
AngleMode=1
link(X2,9867155:Var2,[(531,299)(510,299)])
link(X3,11880627:Var2,[(538,299)(552,299)])
link(X4,12635440:Var2,[(545,316)(622,316)])
}
Add(CounterEx,10043336,448,406)
{
Max=10
Point(doPrev)
Point(doValue)
Point(onThroughMax)
Point(doMax)
link(onThroughMax,7556766:doEvent1,[])
}
Add(MathParse,16095580,567,329)
{
@Hint=#30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=4
MathStr="%3 + %2 * sin(-(%1 - %4)) "
AngleMode=1
link(X2,9867155:Var3,[(580,285)])
link(X3,11880627:Var3,[(587,292)])
link(X4,12635440:Var1,[(594,299)])
}
Add(Hub,8911218,476,329)
{
OutCount=3
link(onEvent1,14307840:doCalc,[])
link(onEvent2,16095580:doCalc,[(528,342)(528,335)])
link(onEvent3,328943:doEvent1,[(502,349)(502,363)(464,363)(464,377)])
}
Add(Memory,13135093,504,238)
{
@Hint=#6:Радиус|
Default=Integer(150)
link(onData,12991355:doWork3,[(552,244)])
}
Add(Memory,7855591,546,238)
{
@Hint=#8:смещение|
Default=Integer(240)
}
Add(GetDataEx,9867155,504,280)
{
link(Data,13135093:Value,[])
}
Add(GetDataEx,11880627,546,287)
{
link(Data,7855591:Value,[])
}
Add(TrackBar,16036997,532,49)
{
Left=20
Top=5
Min=1
Position=5
}
Add(For,4971670,245,245)
{
End=300
link(onEvent,8911218:doEvent1,[(377,251)(377,335)])
link(onStop,11642599:doWork2,[])
link(End,13509061:Var2,[])
}
Add(Memory,10242442,623,238)
{
Default=Integer(-30)
}
Add(GetDataEx,12635440,616,294)
{
Angle=1
link(Data,10242442:Value,[(629,299)])
}
Add(Hub,7396834,336,182)
{
InCount=5
OutCount=4
link(onEvent2,4971670:doFor,[(362,195)(362,223)(233,223)(233,251)])
}
Add(Memory,9730464,252,182)
{
link(onData,14727359:doEvent1,[])
}
Add(SampleDelta,2751912,623,392)
{
link(onCalcDelta,6570741:doWork3,[(681,398)])
link(Data,12465343:MouseX,[])
}
Add(Math,11944055,77,182)
{
link(onResult,2369521:doCompare,[])
link(Op2,11365138:Var1,[(90,170)(186,170)(186,222)])
}
Add(If_else,12814260,672,343)
{
Op2=Integer(0)
link(onTrue,12143584:doEvent1,[(716,349)(716,381)(576,381)(576,412)])
}
Add(Memory,11835883,728,392)
{
Default=Integer(0)
}
Add(GetDataEx,11365138,252,217)
{
link(Data,9730464:Value,[])
}
Add(SampleDelta,6102838,623,441)
{
link(onCalcDelta,7688841:doValue,[(667,447)(667,454)])
link(Data,12465343:MouseY,[(629,401)(636,401)])
}
Add(Hub,12143584,588,406)
{
link(onEvent1,2751912:doCalcDelta,[(612,412)(612,398)])
link(onEvent2,6102838:doCalcDelta,[(612,419)(612,447)])
}
Add(HubEx,6570741,677,385)
{
Angle=3
link(onEvent,14122141:doValue,[(681,382)(739,382)(739,398)])
}
Add(Math,7511346,728,448)
{
OpType=1
link(onResult,6570741:doWork2,[(772,454)(772,422)(672,422)(672,391)])
link(Op1,16215539:Var2,[])
link(Op2,7688841:Value,[(741,429)(713,429)(713,485)(685,485)])
}
Add(Memory,7688841,679,448)
{
Default=Integer(-30)
link(onData,7511346:doOperation,[])
}
Add(If_else,2369521,147,182)
{
Type=2
Op2=Integer(0)
link(onTrue,14260345:doCompare,[])
}
Add(If_else,14260345,189,182)
{
Type=1
link(onTrue,11434397:doOperation,[(226,188)(226,97)])
link(Op2,16294626:Value,[(202,142)(174,142)])
}
Add(Hub,636877,49,182)
{
InCount=2
OutCount=1
link(onEvent1,11944055:doOperation,[])
}
Add(Math,4054707,903,392)
{
OpType=33
Op2=2
link(onResult,432243:doCompare,[])
}
Add(If_else,432243,952,392)
{
Type=1
Op2=Integer(5)
link(onTrue,1885234:doData,[])
}
Add(SampleDelta,6626697,847,392)
{
link(onCalcDelta,4054707:doOperation,[])
}
Add(Memory,14122141,798,392)
{
link(onData,6626697:doCalcDelta,[])
}
Add(DoData,1885234,1001,392)
{
link(onEventData,636877:doEvent1,[(1045,398)(1045,293)(30,293)(30,188)])
link(Data,14122141:Value,[(1007,380)(905,380)(905,436)(804,436)])
}
Add(Math,6666965,567,196)
{
OpType=3
Op2=5
Default=30
link(onResult,7396834:doEvent3,[(611,202)(611,190)(324,190)(324,202)])
link(Op1,9867155:Var1,[(573,184)(501,184)(501,285)])
link(Op2,6913377:Value,[(580,138)(636,138)])
}
Add(Hub,14727359,301,182)
{
OutCount=3
link(onEvent1,7396834:doEvent1,[])
link(onEvent2,13758681:doEvent1,[(327,195)(327,370)(240,370)(240,545)])
}
Add(LedNumber,14553885,462,49)
{
Left=40
Top=45
Width=185
Height=110
Color=-16777215
Font=[MS Sans Serif,8,0,33023,1]
Text="0"
SegColor=33023
Point(doText)
Point(doSegColor)
Point(doWidth)
Point(doHeight)
Point(doLeft)
Point(doTop)
}
Add(Math,11434397,231,91)
{
OpType=35
Op2=1
link(onResult,8757309:doEvent1,[(268,97)(268,132)])
}
Add(ColorDialog,14755892,770,161)
{
link(onSelect,6281007:doEvent1,[])
}
Add(Memory,11829184,861,161)
{
Default=Integer(2072575)
link(onData,7396834:doEvent4,[(905,167)(905,188)(324,188)(324,209)])
}
Add(Label,2033887,266,56)
{
Left=55
Top=185
Width=116
Height=17
Color=-16777215
Font=[MS Sans Serif,8,0,-16777211,1]
Caption="Dream Knob by Aziz"
}
Add(If_else,12871532,98,280)
{
Type=2
Op2=Integer(0)
link(onTrue,11568369:doData,[])
link(onFalse,180397:doOperation,[(142,293)(142,328)])
}
Add(DoData,11568369,147,280)
{
link(onEventData,4194936:doWork2,[])
link(Data,5260772:Var2,[])
}
Add(Memory,5800032,147,224)
{
Default=Integer(1)
}
Add(Math,180397,154,322)
{
OpType=1
link(onResult,4194936:doWork3,[(205,328)])
link(Op1,16215539:Var1,[(160,317)(407,317)(407,439)])
link(Op2,5260772:Var3,[(167,264)])
}
Add(GetDataEx,5260772,147,259)
{
link(Data,5800032:Value,[])
}
Add(HubEx,4194936,201,280)
{
Angle=3
link(onEvent,636877:doEvent2,[(205,239)(30,239)(30,195)])
}
Add(GetDataEx,16215539,728,434)
{
link(Data,11835883:Value,[])
}
Add(MathParse,5999133,329,329)
{
@Hint=#38:Math.sin((Math.PI * angl / 180) / 2), |30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=1
MathStr="%1 / 3.3 "
AngleMode=1
link(onResult,14553885:doLeft,[(411,335)(411,83)])
link(X1,14086760:Width,[(335,233)(41,233)])
}
Add(MathParse,8433487,371,567)
{
@Hint=#36:round( (%1 * ((%3+abs(%2))/300)),%4)|39:round( (%1 * ((%3+abs(%2))/300))+%2,%4)|0:|48:round(((%3 - (300-%1)) * ((%3+abs(%2))/300)),%4)|0:|36:(%5 - %1) * ((%2-%3) / (%5+abs(%4)))|40:((((%5 - %1)-%4) * ((%2-%3) / (%5-%4))))|36:(((%5-%4)-%1) * ((%2-%3) / (%5-%4)))|30:((%4-%1) * (%2 / %5))- (%3/2) |
DataCount=4
MathStr="\r\n\r\n"
Point(doMathStr)
link(onResult,11324101:doEvent1,[])
link(X1,10866940:Var2,[])
link(X2,13758913:Var2,[(384,545)(398,545)])
link(X3,5511496:Var2,[(391,545)(440,545)])
link(X4,11938062:Var1,[(398,545)])
}
Add(Memory,3734854,392,490)
{
@Hint=#9:Min value|
Default=Real(0)
}
Add(Memory,3231430,434,490)
{
@Hint=#9:Max value|
Default=Real(100)
}
Add(Memory,11876470,532,490)
{
@Hint=#15:Round precision|
Default=Real(1)
}
Add(GetDataEx,13509061,252,231)
{
link(Data,11365138:Var2,[])
}
Add(Memory,16294626,168,70)
{
@Hint=#15:Round precision|
Default=Integer(301)
}
Add(If_else,2283850,315,119)
{
Type=2
link(onFalse,2122626:doWork1,[(481,132)])
link(Op2,13509061:Var1,[(328,107)(249,107)(249,236)])
}
Add(Switch,12204523,399,406)
{
Point(onOn)
}
Add(Hub,328943,476,371)
{
link(onEvent1,10043336:doNext,[(502,377)(502,395)(436,395)(436,412)])
}
Add(Hub,8757309,280,126)
{
InCount=2
link(onEvent1,2283850:doCompare,[(304,132)(304,125)])
link(onEvent2,9730464:doValue,[(306,139)(306,163)(240,163)(240,188)])
}
Add(DoData,4783746,294,574)
{
Data=String(round( (%1 * ((%3+abs(%2-1))/300))+%2-1,%4))
link(onEventData,7907162:doWork2,[])
}
Add(Hub,13758681,252,539)
{
link(onEvent1,9557567:doCompare,[(294,545)(294,524)])
link(onEvent2,8433487:doCalc,[(318,552)(318,573)])
}
Add(If_else,9557567,308,518)
{
Type=1
Op2=Integer(0)
link(onTrue,4783746:doData,[(352,524)(352,552)(282,552)(282,580)])
link(onFalse,7275907:doCompare,[(352,531)(352,573)(205,573)(205,615)])
link(Op1,11463559:Var1,[(314,506)])
}
Add(GetDataEx,13758913,392,525)
{
link(Data,3734854:Value,[])
}
Add(DoData,7974367,294,609)
{
Data=String(round( (%1 * ((%3+%2)/300)),%4))
link(onEventData,7907162:doWork3,[(347,615)])
}
Add(HubEx,7907162,343,574)
{
link(onEvent,8433487:doMathStr,[])
}
Add(HubEx,12991355,548,196)
{
link(onEvent,6666965:doOperation,[])
}
Add(Hub,4018710,623,112)
{
OutCount=3
link(onEvent1,2122626:doWork3,[(649,118)(649,146)])
link(onEvent2,12991355:doWork1,[(649,125)(649,162)(552,162)])
link(onEvent3,12740700:doEvent2,[(649,132)(649,94)(163,94)(163,55)])
}
Add(HubEx,2122626,477,140)
{
Angle=1
link(onEvent,12465343:doClear,[(481,342)])
}
Add(If_else,7275907,217,609)
{
Op2=Integer(0)
link(onTrue,7974367:doData,[])
link(onFalse,5273580:doData,[(282,622)(282,650)])
}
Add(DoData,5273580,294,644)
{
Data=String(round( (%1 * ((%3-%2)/300))+%2,%4))
link(onEventData,7907162:doWork1,[(336,650)(336,571)(347,571)])
}
Add(Hub,2911665,399,273)
{
OutCount=3
link(onEvent1,1821441:doEvent1,[(437,279)(437,594)])
link(onEvent2,4182267:doData,[])
link(onEvent3,7396834:doEvent2,[(425,293)(425,244)(324,244)(324,195)])
}
Add(Memory,295307,483,476)
{
@Hint=#22:Input, preset, default|
Default=Real(0)
link(onData,1821441:doEvent2,[(527,482)(527,548)(450,548)(450,601)])
}
Add(DoData,4182267,448,280)
{
}
Add(MathParse,15795284,511,588)
{
@Hint=#36:round( (%1 * ((%3+abs(%2))/300)),%4)|39:round( (%1 * ((%3+abs(%2))/300))+%2,%4)|0:|48:round(((%3 - (300-%1)) * ((%3+abs(%2))/300)),%4)|0:|36:(%5 - %1) * ((%2-%3) / (%5+abs(%4)))|40:((((%5 - %1)-%4) * ((%2-%3) / (%5-%4))))|36:(((%5-%4)-%1) * ((%2-%3) / (%5-%4)))|30:((%4-%1) * (%2 / %5))- (%3/2) |
DataCount=4
MathStr="\r\n"
Point(doMathStr)
link(onResult,8757309:doEvent2,[(548,594)(548,366)(268,366)(268,139)])
link(X1,12669674:Var2,[(517,555)(489,555)])
link(X2,13758913:Var3,[(524,530)])
link(X3,5511496:Var3,[(531,537)])
link(X4,11938062:Var2,[(538,568)(531,568)])
}
Add(GetDataEx,5511496,434,532)
{
link(Data,3231430:Value,[])
}
Add(GetDataEx,11938062,525,540)
{
link(Data,11876470:Value,[(531,531)(538,531)])
}
Add(Hub,1821441,462,588)
{
InCount=2
OutCount=3
link(onEvent1,11829659:doCompare,[(488,594)(488,632)(415,632)(415,671)])
link(onEvent2,15795284:doCalc,[(494,601)(494,594)])
}
Add(DoData,16180259,420,616)
{
Data=String(round( (%1 / ((%3+%2)/300)),%4))
link(onEventData,1612843:doWork2,[])
}
Add(If_else,7116149,476,665)
{
Type=1
Op2=Integer(0)
link(onTrue,15671250:doData,[(530,671)(530,713)])
link(onFalse,5726707:doData,[(530,678)(530,748)])
link(Op1,12669674:Var1,[(482,530)])
}
Add(GetDataEx,12669674,483,525)
{
link(Data,295307:Value,[])
}
Add(If_else,11829659,427,665)
{
Type=1
Op2=Integer(0)
link(onTrue,7116149:doCompare,[])
link(onFalse,7902103:doData,[(506,678)(506,671)])
link(Op1,11463559:Var2,[(433,587)(342,587)])
}
Add(GetDataEx,11463559,336,501)
{
Angle=1
link(Data,13758913:Var1,[(354,506)(354,530)])
}
Add(DoData,7902103,553,665)
{
Data=String(round( (%1 / ((%3+abs(%2))/300))-(%2)*2,%4))
link(onEventData,15321215:doWork3,[(597,671)])
}
Add(HubEx,1612843,477,616)
{
Angle=3
link(onEvent,15795284:doMathStr,[(481,601)])
}
Add(DoData,15671250,553,707)
{
Data=String(round( (%1 / ((%3+abs(%2))/300))-(%2-1)*2,%4))
link(onEventData,472989:doWork3,[(589,713)])
}
Add(HubEx,15321215,593,658)
{
Angle=3
link(onEvent,1612843:doWork1,[(597,622)])
}
Add(DoData,5726707,553,742)
{
Data=String(round( (%1 / ((%3+abs(%2))/300))-(%2)*2,%4))
link(onEventData,472989:doWork1,[(597,748)(597,699)])
}
Add(HubEx,472989,585,693)
{
Angle=3
link(onEvent,15321215:doWork2,[(589,664)])
}
Add(Hub,14492645,448,168)
{
InCount=2
OutCount=5
link(onEvent1,2122626:doWork2,[(470,174)(470,146)])
link(onEvent2,13135093:doValue,[(490,181)(490,244)])
link(onEvent3,3179870:doOperation,[(483,188)(483,153)])
link(onEvent4,10899728:doOperation,[(474,195)(474,157)(443,157)(443,118)])
link(onEvent5,16154425:doEvent1,[(474,202)(474,272)(282,272)(282,342)])
}
Add(Math,10899728,455,112)
{
OpType=3
Op2=1.5
Default=30
link(onResult,14553885:doHeight,[(499,118)(499,97)(450,97)(450,76)])
}
Add(MathParse,14619068,329,371)
{
@Hint=#38:Math.sin((Math.PI * angl / 180) / 2), |30:x = 150 + R * cos ((pi *2)* t)|31:y = 150 + R * sin (-(pi *2)* t)|27:%3 + %2 * cos ((pi *2)* %1)|
DataCount=1
MathStr="%1 / 2.5 "
AngleMode=1
link(onResult,14553885:doTop,[(411,377)(411,90)])
link(X1,12550175:Var2,[(335,254)(48,254)])
}
Add(Hub,16154425,294,336)
{
link(onEvent1,5999133:doCalc,[(318,342)(318,335)])
link(onEvent2,14619068:doCalc,[(318,349)(318,377)])
}
Add(Math,3179870,504,147)
{
OpType=2
Op2=1.1
Default=30
link(onResult,14553885:doWidth,[(548,153)(548,111)(450,111)(450,69)])
}
Add(DoData,12873480,847,504)
{
}
Add(GetDataEx,12550175,42,147)
{
link(Data,14086760:Height,[])
}
Add(Hub,13767139,91,28)
{
link(onEvent1,3826012:doEvent1,[(235,34)(235,216)])
link(onEvent2,2911665:doEvent1,[(252,41)(252,279)])
}
Add(TrackBar,8882717,126,42)
{
Left=85
Top=35
Visible=1
Max=300
Min=-300
Position=150
}
Add(Hub,12740700,175,42)
{
InCount=2
link(onEvent2,2033887:doText,[(227,55)(227,62)])
}
Add(Math,4070639,392,189)
{
OpType=3
Op2=2.8
Default=30
link(onResult,14492645:doEvent1,[(436,195)(436,174)])
link(Op1,14346336:Var2,[])
}
Add(Math,6654163,392,231)
{
OpType=3
Op2=2
Default=30
link(onResult,7855591:doValue,[(485,237)(485,244)])
link(Op1,14346336:Var1,[(398,213)(389,213)(389,180)])
}
Add(Hub,3826012,364,210)
{
link(onEvent1,4070639:doOperation,[(385,216)(385,195)])
link(onEvent2,6654163:doOperation,[(385,223)(385,237)])
}
Add(GetDataEx,14346336,392,175)
{
link(Data,12550175:Var3,[(398,152)])
}
Add(Memory,6913377,630,49)
{
@Hint=#7:Толщина|
Default=Integer(3)
link(onData,4018710:doEvent1,[(674,55)(674,87)(611,87)(611,118)])
}
Add(Hub,11324101,420,567)
{
link(onEvent1,14553885:doText,[(448,573)(448,55)])
link(onEvent2,11526556:onResult,[(822,580)(822,27)])
}
Add(If_else,11433014,126,455)
{
Type=3
link(onTrue,3872806:doCompare,[])
link(onFalse,9727000:doMessage,[(614,468)(614,608)])
link(Op2,5511496:Var1,[(139,443)(288,443)(288,537)])
}
Add(Message,9727000,1071,602)
{
Message="Input value is out of MAX range!"
}
Add(If_else,3872806,182,455)
{
Type=1
link(onTrue,1175819:doMessage,[(642,461)(642,650)])
link(onFalse,295307:doValue,[(348,468)(348,482)])
link(Op2,11463559:Var3,[(195,443)(342,443)])
}
Add(Message,1175819,1071,644)
{
Message="Input value is out of Min range!"
}
Add(Hub,6131807,581,49)
{
InCount=2
}
Add(Hub,6281007,833,161)
{
InCount=2
OutCount=3
link(onEvent1,11829184:doValue,[])
link(onEvent2,15771391:doEvent1,[(859,174)(859,139)(422,139)(422,104)])
link(onEvent3,11642599:doWork1,[(859,181)(859,218)(340,218)])
}
Add(Hub,15771391,434,98)
{
link(onEvent1,14553885:doSegColor,[(455,104)(455,62)])
}
Add(HubEx,11642599,336,252)
{
link(onEvent,12465343:doRefresh,[(447,258)(447,335)])
}
Add(Img_Line,8089033,518,434)
{
Point2=10
Point2AsOffset=0
Size=5
Point(Point1)
Point(Point2)
Point(Size)
Point(Color)
Point(Transform)
link(Bitmap,12465343:Bitmap,[(524,400)(622,400)])
link(Point1,6801853:Point,[(531,422)(552,422)(552,464)(573,464)])
link(Color,11829184:Value,[(552,314)(867,314)])
link(Transform,7434545:Transform,[(559,422)(597,422)(597,555)(636,555)])
}
Add(PointXY,6801853,567,420)
{
link(X,16095580:Result,[])
link(Y,14307840:Result,[(580,390)(524,390)])
}
Add(Img_UseRotate,7434545,630,511)
{
Angle=90
link(Angle,16036997:Position,[(643,300)(538,300)])
}
Add(GetDataEx,10866940,371,473)
{
link(Data,13509061:Var3,[(377,236)])
}
Add(PointXY,9192580,721,560)
{
}
Add(MathParse,13810258,700,518)
{
@Hint=#36:round( (%1 * ((%3+abs(%2))/300)),%4)|39:round( (%1 * ((%3+abs(%2))/300))+%2,%4)|0:|48:round(((%3 - (300-%1)) * ((%3+abs(%2))/300)),%4)|0:|36:(%5 - %1) * ((%2-%3) / (%5+abs(%4)))|40:((((%5 - %1)-%4) * ((%2-%3) / (%5-%4))))|36:(((%5-%4)-%1) * ((%2-%3) / (%5-%4)))|30:((%4-%1) * (%2 / %5))- (%3/2) |
DataCount=4
MathStr="0 - %1\r\n"
Point(doMathStr)
link(X1,10866940:Var3,[(706,478)])
}
Add(Hub,7556766,490,413)
{
link(onEvent1,13810258:doCalc,[(602,419)(602,524)])
link(onEvent2,8089033:doDraw,[(511,426)(511,440)])
}
END_SDK
Add(MainForm,5818658,35,112)
{
@Hint=#8:(c) Aziz|
Width=481
Height=415
Caption="Dream Knob 1.0"
Position=1
Point(onMouseWheel)
Point(Width)
Point(Height)
link(onCreate,6678596:doInit,[(173,132)(173,370)])
}
Add(Label,3904486,343,329)
{
Left=355
Top=145
}
Add(Edit,2269443,98,266)
{
Left=345
Top=50
Text="108"
DataType=4
link(onChange,6678596:doValue,[(205,272)(205,335)])
}
Add(BitBtn,7930152,98,406)
{
Left=345
Top=185
Caption="Reset"
link(onClick,8767528:doEvent1,[])
}
Add(Timer,7919437,287,147)
{
Interval=500
Enable=1
link(onTimer,13129573:doEvent1,[])
}
Add(BitBtn,1632998,213,131)
{
Left=335
Top=220
Width=85
Height=50
Caption="Demo"
link(onClick,7919437:doTimer,[(266,137)(266,153)])
}
Add(RGB,6592141,413,203)
{
link(onRGB,6678596:doColor,[(457,209)(457,335)(268,335)(268,384)])
link(R,16595329:Random,[(419,191)(363,191)])
link(G,11314125:Random,[(426,191)(405,191)])
link(B,7270620:Random,[(433,191)(454,191)])
}
Add(Random,16595329,357,147)
{
Max=255
link(onRandom,11314125:doRandom,[])
}
Add(Random,11314125,399,147)
{
Max=255
link(onRandom,7270620:doRandom,[])
}
Add(Random,7270620,448,147)
{
Max=255
link(onRandom,6592141:doRGB,[(492,153)(492,181)(401,181)(401,209)])
}
Add(Random,3465738,357,203)
{
Min=5
Max=10
link(onRandom,6678596:doThickness,[(401,209)(401,332)(268,332)(268,377)])
}
Add(Hub,13129573,329,147)
{
OutCount=3
link(onEvent1,16595329:doRandom,[])
link(onEvent2,8968820:doNext,[(355,160)(355,188)(275,188)(275,216)])
link(onEvent3,9318257:doRandom,[(350,167)(350,258)])
}
Add(Random,9318257,357,252)
{
link(onRandom,2269443:doText,[(401,258)(401,265)(86,265)(86,272)])
}
Add(CounterEx,8968820,287,210)
{
Max=4
Point(onThroughMax)
link(onThroughMax,3465738:doRandom,[(338,223)(338,209)])
}
Add(Hub,8767528,182,406)
{
link(onEvent1,6678596:doClear,[(238,412)(238,342)])
link(onEvent2,7919437:doStop,[(242,419)(242,160)])
}


Редактировалось 9 раз(а), последний 2023-04-07 10:39:29
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)