Вверх ↑
Этот топик читают: Гость
Ответов: 1043
Рейтинг: 33
#1: 2012-02-01 14:12:55 ЛС | профиль | цитата

Ребят, я конечно не великий математик и понять чет не могу...

формула " положение объекта относительно окна + его ширина = ширина окна. " объясню

ширина окна (A) = 715

крайнее правое положение объекта (точка соприкосновения объекта с краем окна)(S) = 534

крайнее правое положение объекта (точка соприкосновения объекта с краем окна)(S)

ширина объекта (F) = 165

Полагаю, что сложив S+F должно получиться 715 (А), но результат мат операции 699...

Или я дурак, или лыжи не едут!?

Объясните что я не так делаю, и в чем проблема
карма: 0

0
Ответов: 119
Рейтинг: 0
#2: 2012-02-01 14:23:13 ЛС | профиль | цитата
S+F=534+165=699 ))) С другой стороны смотреть нужно, что даете то и суммирует.
карма: 0

0
Ответов: 1043
Рейтинг: 33
#3: 2012-02-01 14:39:39 ЛС | профиль | цитата
Solid писал(а):
534+165=699 )))

Solid, ну и что? Зачем повторять мои слова???
Читайте эту строчку внимательней!
Полагаю, что сложив S+F должно получиться 715 (А), но результат мат операции 699.


Проблема в том, что при сложении должна получиться ширина окна. А ширина окна не 699, а 715
карма: 0

0
Ответов: 1061
Рейтинг: 22
#4: 2012-02-01 14:45:15 ЛС | профиль | цитата
ashkalov, а где окно А (715)? Почему ты показываешь окно S (534)? когда должно это окно равняться 550!
карма: 0

0
Ответов: 119
Рейтинг: 0
#5: 2012-02-01 14:54:06 ЛС | профиль | цитата
ashkalov писал(а):
Полагаю, что сложив S+F должно получиться 715 (А), но результат мат операции 699.

Если S=534, а F=165, то S+F ровняться 715 не будет, о чем и говорят твои вычисления. 534+165=699, настолько быть не математиком сложно.
Значит у вас не крайнее положение и до правого края еще 16 у.е.
карма: 0

0
Ответов: 1043
Рейтинг: 33
#6: 2012-02-01 15:35:32 ЛС | профиль | цитата
RinniX, S это не окно! , это
крайнее правое положение объекта (точка соприкосновения объекта с краем окна)(S)


Во избежание последующих недопониманий как с RinniX,
Выкладываю скриншот
Для тех кому в картинках
------------ Дoбавленo в 15.29:
КСТАТИ!, если проверить ширину на картинке то, она равна 699
а в графе ширина, написано 715.

------------ Дoбавленo в 15.32:
вот схема

Add(MainForm,12777480,175,70)
{
Width=715
Height=413
Point(Width)
}
Add(VisualShape,2692408,175,126)
{
Width=165
Height=160
Point(onMouseDown)
Point(Handle)
Point(Left)
Point(doLeft)
Point(onMove)
Point(onMouseUp)
Point(onKeyUp)
Point(Top)
Point(doTop)
Point(Width)
link(onMouseDown,6151626:doMove,[(243,132)(243,244)])
link(onMove,1968640:doText,[(243,139)(243,150)])
}
Add(MoveWindow,6151626,259,238)
{
link(Handle,2692408:Handle,[(265,184)(181,184)])
}
Add(Label,2352545,264,83)
{
Left=300
Top=35
Width=57
Height=17
Caption="LEFT окна"
}
Add(Label,1968640,280,144)
{
Left=300
Top=55
Width=57
Height=17
Caption="0"
link(Text,2692408:Left,[(286,132)(237,132)(237,170)(188,170)])
}

------------ Дoбавленo в 15.32:
даже в ней написано 715
------------ Дoбавленo в 15.35:
[color=blue] Вообщем я понял, лишнии 16 это рамка окна
раньше она у меня не считалась почему то [/color]
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2012-02-01 15:35:40 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-11 14:10:07
карма: 0

0
Ответов: 1043
Рейтинг: 33
#8: 2012-02-01 15:40:08 ЛС | профиль | цитата
г. ость, ща попробую
------------ Дoбавленo в 15.40:
г. ость, то что надо
скажи свой ник...)
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#9: 2012-02-01 16:29:27 ЛС | профиль | цитата
.....
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1043
Рейтинг: 33
#10: 2012-02-01 16:36:08 ЛС | профиль | цитата
Tad, позже + поставлю
------------ Дoбавленo в 16.36:
почему в этой схеме объект не ровно по краю выравнивается?

Add(MainForm,2953706,490,140)
{
@Color=5614335
Width=799
Height=540
ClientSize=0
Point(Width)
}
Add(VisualShape,16265361,273,161)
{
@Color=0
Left=270
Top=160
Width=200
Height=165
Point(onMouseDown)
Point(Handle)
Point(onMouseMove)
Point(Left)
Point(Width)
Point(doLeft)
link(onMouseDown,6715686:doEvent1,[])
}
Add(MoveWindow,11461177,364,140)
{
@Color=65535
link(Handle,16265361:Handle,[(370,121)(257,121)(257,209)(279,209)])
}
Add(MultiElementEx,15020131,364,182)
{
@Color=11184640
link(onEvent2,9805864:doOperation,[(412,188)(412,258)])
}
BEGIN_SDK
Add(EditMultiEx,6386012,21,21)
{
WorkCount=#25:doData=нажатие на объекте|
EventCount=#43:onEvent2=Событие при отпускании кнопки мыши|
Width=650
Height=207
link(doData,4855570:doEvent1,[(49,27)(49,69)])
}
Add(DoData,14170715,140,63)
{
Data=Integer(1)
link(onEventData,5799958:doWork2,[])
}
Add(Memory,258351,245,63)
{
Default=Integer(0)
}
Add(Timer,13354911,140,119)
{
Interval=0
Enable=1
link(onTimer,16011426:doReadKey,[])
}
Add(Hub,4855570,77,63)
{
link(onEvent1,14170715:doData,[])
link(onEvent2,13354911:doTimer,[(115,76)(115,125)])
}
Add(Keyboard,16011426,273,119)
{
Key=1
link(onReadKey,12590615:doEvent,[])
}
Add(IndexToChanel,12590615,343,119)
{
link(onEvent1,12522902:doData,[])
}
Add(DoData,12522902,434,119)
{
Data=Integer(0)
link(onEventData,9897161:doEvent1,[])
}
Add(HubEx,5799958,210,63)
{
link(onEvent,258351:doValue,[])
}
Add(Hub,9897161,504,119)
{
link(onEvent1,16149698:doEvent1,[])
link(onEvent2,13354911:doStop,[(528,132)(528,191)(128,191)(128,132)])
}
Add(Hub,16149698,539,119)
{
link(onEvent1,5799958:doWork3,[(563,125)(563,39)(214,39)])
link(onEvent2,6386012:onEvent2,[(612,132)(612,27)])
}
END_SDK
Add(Hub,6715686,322,161)
{
@Color=255
link(onEvent1,11461177:doMove,[(350,167)(350,146)])
link(onEvent2,15020131:doData,[(350,174)(350,188)])
}
Add(Math,9805864,427,252)
{
link(onResult,12473736:doCompare,[])
link(Op1,16265361:Left,[(433,236)(286,236)])
link(Op2,685180:Var2,[])
}
Add(If_else,12473736,483,252)
{
Type=2
link(onTrue,7259531:doOperation,[])
link(Op2,5653877:Var2,[])
}
Add(Math,7259531,539,252)
{
OpType=1
link(onResult,16265361:doLeft,[(592,258)(592,306)(246,306)(246,167)])
link(Op1,5653877:Var3,[(545,208)])
link(Op2,685180:Var3,[(552,236)])
}
Add(GetDataEx,5653877,490,203)
{
link(Data,2953706:Width,[])
}
Add(GetDataEx,685180,434,231)
{
link(Data,16265361:Width,[(440,226)(293,226)])
}


Для проверки, перетащите объект за пределы окна с права)
карма: 0

0
Ответов: 3889
Рейтинг: 362
#11: 2012-02-01 16:41:55 ЛС | профиль | цитата
ashkalov писал(а):
если проверить ширину на картинке то, она равна 699
а в графе ширина, написано 715.

А с учётом толстенной рамки?
карма: 1

0
Ответов: 1043
Рейтинг: 33
#12: 2012-02-01 16:50:48 ЛС | профиль | цитата
1nd1g0, этот же вопрос уже решили
ashkalov писал(а):
Вообщем я понял, лишнии 16 это рамка окна

у меня другой вопрос

почему в этой схеме объект не ровно по краю выравнивается?
карма: 0

0
Ответов: 3889
Рейтинг: 362
#13: 2012-02-01 16:53:49 ЛС | профиль | цитата
ashkalov писал(а):
почему в этой схеме объект не ровно по краю выравнивается?

Ровно по краю, но как раз таки по "логическому" краю, а не "экранному", и потом затирается рамкой.
карма: 1

0
Ответов: 1043
Рейтинг: 33
#14: 2012-02-01 16:56:44 ЛС | профиль | цитата
1nd1g0, а почему? я же поставил ClientSize = True
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#15: 2012-02-01 17:23:28 ЛС | профиль | цитата
ashkalov,
code_26717.txt
------------ Дoбавленo в 17.23:
ashkalov писал(а):
я же поставил ClientSize = True
Это никагого отношения к твоим рассчетам не имеет.
Попробуй ClientSize = TrueFalse
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_26717.txt [2.5KB] [103]
Голосовали:ashkalov
Сообщение
...
Прикрепленные файлы
(файлы не залиты)