Вверх ↑
Этот топик читают: Гость
Ответов: 167
Рейтинг: 7
#1: 2020-03-29 22:54:12 ЛС | профиль | цитата
Вопрос : Есть ли элемент, который будет получать координаты точки, сформированной элементом PointXY?
Просто опять же неудобно таскать за собой кучку элементов

Редактировалось 1 раз(а), последний 2020-03-29 23:02:48
карма: 0
c, c++, lua
0
Разработчик
Ответов: 26155
Рейтинг: 2127
#2: 2020-03-29 23:13:58 ЛС | профиль | цитата
UtoECat писал(а):
Есть ли элемент, который будет получать координаты точки, сформированной элементом PointXY?

Нет, такого элемента нет. Да это и не обязательно, тк все можно сделать математическим расчетом

Схема

Add(MainForm,2953706,112,217)
{
link(onCreate,506591:doText,[])
}
Add(PointXY,5011592,182,112)
{
X=5
Y=10
}
Add(MultiElement,9709178,182,168)
{
link(Data1,5011592:Point,[])
}
BEGIN_SDK
Add(EditMulti,757301,21,21)
{
DataCount=1
VarCount=2
Width=104
Height=137
link(Var1,3928503:reCalc,[(27,131)(41,131)])
link(Var2,7763482:reCalc,[(34,138)(83,138)])
}
Add(MathParse,7763482,70,91)
{
DataCount=1
MathStr="%1 div 65536"
ResultType=0
Point(reCalc)
link(X1,13297015:Var3,[(76,61)])
}
Add(MathParse,3928503,28,91)
{
DataCount=1
MathStr="%1 mod 65536"
ResultType=0
Point(reCalc)
link(X1,13297015:Var2,[])
}
Add(GetDataEx,13297015,28,56)
{
Angle=3
link(Data,757301:Data1,[(27,61)])
}
END_SDK
Add(Edit,506591,182,231)
{
Left=35
Top=10
TabOrder=-1
Text=""
link(onChange,8403315:doText,[])
link(Str,9709178:Var1,[])
}
Add(Label,9988524,119,168)
{
Left=10
Top=12
Width=16
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="X:"
}
Add(Edit,8403315,231,231)
{
Left=35
Top=40
TabOrder=-1
Text=""
link(Str,9709178:Var2,[(237,222)(195,222)])
}
Add(Label,415016,112,161)
{
Left=10
Top=42
Width=16
Height=17
Font=[MS Sans Serif,8,1,0,1]
Caption="Y:"
}
/code]
[/scroll]

Редактировалось 2 раз(а), последний 2020-03-29 23:17:05
карма: 22

0
Ответов: 167
Рейтинг: 7
#3: 2020-03-29 23:32:00 ЛС | профиль | цитата
nesco писал(а):
тк все можно сделать математическим расчетом

Хммм... А у меня вот такой расчёт :/

Add(PointXY,4411676,196,105)
{
X=0
Y=0
link(X,15488465:Value,[(202,100)(195,100)])
link(Y,16492450:Value,[(209,100)(237,100)])
}
Add(Memory,15488465,189,63)
{
Default=Integer(90)
}
Add(Memory,16492450,231,63)
{
Default=Integer(30)
}
Add(Label,15612893,259,175)
{
Left=170
Top=65
Width=50
Height=15
Align=0
Color=-16777201
Font=[MS Sans Serif,8,0,0,1]
ParentFont=1
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=1
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
ModeSp=0
SizeSp=4
ColorSp=-16777201
MinOwn=0
MinRest=0
Transparent=1
Caption="Label"
AutoSize=0
Alignment=0
ColorHover=0
Underline=1
CaptionOnClick=1
}
Add(Label,10500525,259,259)
{
Left=110
Top=65
Width=50
Height=15
Align=0
Color=-16777201
Font=[MS Sans Serif,8,0,0,1]
ParentFont=1
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=1
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
ModeSp=0
SizeSp=4
ColorSp=-16777201
MinOwn=0
MinRest=0
Transparent=1
Caption="Label"
AutoSize=0
Alignment=0
ColorHover=0
Underline=1
CaptionOnClick=1
}
Add(Hub,3924125,154,175)
{
InCount=1
OutCount=2
link(onEvent1,5878004:doOperation,[])
link(onEvent2,9370110:doOperation,[(182,188)(182,223)])
}
Add(Math,5878004,196,175)
{
OpType=10
Op1=1
Op2=16
ResultType=1
Default=0
AngleMode=0
link(onResult,15612893:doText,[])
link(Op1,1159879:Var2,[])
}
Add(Math,9370110,196,217)
{
OpType=9
Op1=0
Op2=16
ResultType=1
Default=0
AngleMode=0
link(onResult,3583101:doOperation,[(242,223)(242,256)(177,256)(177,265)])
link(Op1,5878004:Result,[])
}
Add(Math,3583101,189,259)
{
OpType=1
Op1=0
Op2=16
ResultType=1
Default=0
AngleMode=0
link(onResult,10500525:doText,[])
link(Op1,1159879:Var1,[(195,159)])
link(Op2,9370110:Result,[])
}
Add(GetDataEx,1159879,196,154)
{
Angle=0
link(Data,4411676:Point,[])
}
Add(MainForm,6391071,105,161)
{
Left=0
Top=0
Width=400
Height=300
Align=0
Color=-16777201
Font=[MS Sans Serif,8,0,0,1]
ParentFont=1
Visible=0
Enabled=0
Cursor=0
KeyPreview=0
TabOrder=0
Ctl3D=1
WinStyle=0
Name=""
Hint=""
HintManager="(empty)"
Layout="(empty)"
WidthScale=0
HeightScale=0
AlphaBlendValue=255
Caption="Form"
BorderStyle=2
WindowsState=0
Icon=[]
TaskBar=0
DragForm=1
TransparentColor=16777215
Picture=[]
SavePosName=""
MouseCapture=1
ClientSize=1
Position=0
ShiftLeft=0
ShiftTop=0
OffsetShift=1
TransparentManager="(empty)"
FormFastening="(empty)"
link(onCreate,3924125:doEvent1,[])
}

карма: 0
c, c++, lua
0
Разработчик
Ответов: 26155
Рейтинг: 2127
#4: 2020-03-29 23:41:56 ЛС | профиль | цитата
UtoECat писал(а):
А у меня вот такой расчёт

А на кой черт туда сюда двигать, а потом вычитать, когда div делит без остатка, а mod уже сам выделяет остаток.
Вот на обычных элементах Math
Схема

Add(PointXY,4411676,595,273)
{
link(X,15488465:Value,[(601,268)(594,268)])
link(Y,16492450:Value,[(608,268)(636,268)])
}
Add(Memory,15488465,588,231)
{
Default=Integer(90)
}
Add(Memory,16492450,630,231)
{
Default=Integer(30)
}
Add(Label,15612893,658,343)
{
Left=170
Top=65
}
Add(Label,10500525,658,392)
{
Left=110
Top=65
}
Add(Hub,3924125,553,343)
{
link(onEvent1,5878004:doOperation,[])
link(onEvent2,3583101:doOperation,[(578,356)(578,398)])
}
Add(Math,5878004,595,343)
{
OpType=7
Op1=1
Op2=65536
link(onResult,15612893:doText,[])
link(Op1,1159879:Var2,[])
}
Add(Math,3583101,588,392)
{
OpType=8
Op2=65536
link(onResult,10500525:doText,[])
link(Op1,1159879:Var1,[(594,327)])
}
Add(GetDataEx,1159879,595,322)
{
link(Data,4411676:Point,[])
}
Add(MainForm,6391071,504,329)
{
link(onCreate,3924125:doEvent1,[])
}


Редактировалось 1 раз(а), последний 2020-03-29 23:42:27
карма: 22

0
Ответов: 8926
Рейтинг: 823
#5: 2020-03-30 12:09:34 ЛС | профиль | цитата
Наглядно


Add(PointXY,4411676,476,126)
{
link(X,14187383:Var2,[])
link(Y,1309393:Var2,[])
}
Add(Label,15612893,539,196)
{
Left=170
Top=65
}
Add(Label,10500525,539,245)
{
Left=110
Top=65
}
Add(Hub,3924125,434,182)
{
OutCount=4
link(onEvent1,10300690:doText,[(606,188)(606,202)])
link(onEvent2,6709087:doText,[(466,195)(466,237)(578,237)(578,251)])
link(onEvent3,5878004:doOperation,[])
link(onEvent4,3583101:doOperation,[(459,209)(459,251)])
}
Add(Math,5878004,476,196)
{
OpType=7
Op1=1
Op2=65536
link(onResult,15612893:doText,[])
link(Op1,1159879:Var2,[])
}
Add(Math,3583101,469,245)
{
OpType=8
Op2=65536
link(onResult,10500525:doText,[])
link(Op1,1159879:Var1,[(475,180)])
}
Add(GetDataEx,1159879,476,175)
{
link(Data,4411676:Point,[])
}
Add(MainForm,6391071,385,119)
{
}
Add(Timer,1362888,385,182)
{
Interval=30
link(onTimer,3924125:doEvent1,[])
}
Add(MouseEvent,13892278,476,70)
{
}
Add(Label,10300690,616,196)
{
Left=110
Top=35
link(Text,14187383:Var3,[(622,110)])
}
Add(Label,6709087,609,245)
{
Left=170
Top=35
link(Text,1309393:Var3,[(615,117)])
}
Add(GetDataEx,14187383,476,105)
{
link(Data,13892278:MouseX,[])
}
Add(GetDataEx,1309393,483,112)
{
link(Data,13892278:MouseY,[])
}

Хотя не совсем понимаю, зачем это нужно
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#6: 2020-03-30 19:05:35 ЛС | профиль | цитата
Леонид писал(а):
Хотя не совсем понимаю
А я совсем не понимаю.
Но поддержу наверное UtoECat - на каждый шифратор, коим безусловно является PointXY, должен быть дешифратор.
Для справки: сдвиг в любую сторону на 1 разряд - 12 тактов процессора.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)