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

Add(MainForm,2953706,21,105)
{
Height=531
}
Add(ChildPanel,8802258,112,154)
{
link(onEvent1,2160854:doWidth,[(155,160)(155,142)(100,142)(100,104)])
link(onEvent2,3315267:doText,[(152,167)(152,174)])
link(Data1,2160854:Width,[])
}
BEGIN_SDK
Add(EditMulti,234139,35,35)
{
EventCount=2
DataCount=1
VarCount=1
Width=902
Height=543
link(Var1,8044380:Var2,[(41,377)(76,377)])
}
Add(Panel,10592473,238,56)
{
Left=35
Top=105
Width=185
Height=140
Point(Handle)
Point(Width)
Point(doWidth)
Point(onResize)
}
Add(VisualShape,11147293,245,126)
{
Width=185
Height=140
Point(onMouseDown)
Point(Handle)
Point(Left)
Point(onMove)
Point(doWidth)
Point(Width)
link(onMouseDown,3574297:doMove,[])
}
Add(MoveWindow,3574297,448,126)
{
link(Handle,10592473:Handle,[(454,58)(311,58)(311,100)(244,100)])
}
Add(VisualShape,15155884,245,245)
{
Left=160
Top=55
Width=25
Height=25
Point(onMouseDown)
Point(onMouseMove)
Point(doLeft)
Point(onResize)
link(onMouseDown,15745445:doEvent1,[])
}
Add(Message,11341939,602,154)
{
}
Add(Label,14723250,399,245)
{
link(Text,75672:Var2,[(405,235)(349,235)])
}
Add(MouseEvent,15788605,343,182)
{
}
Add(Timer,7062903,245,301)
{
Interval=0
link(onTimer,10437145:doEvent1,[])
}
Add(Math,13762348,392,301)
{
OpType=1
link(onResult,960809:doText,[])
link(Op1,75672:Var1,[(398,261)(340,261)(340,222)])
link(Op2,14723250:Caption,[])
}
Add(GetDataEx,75672,343,217)
{
link(Data,15788605:MouseX,[])
}
Add(Label,960809,441,301)
{
Top=20
}
Add(Hub,10437145,308,301)
{
link(onEvent1,14232590:doEvent1,[])
link(onEvent2,234139:onEvent2,[(630,314)(630,48)])
}
Add(Math,9542962,679,308)
{
link(onResult,15162125:doEvent1,[])
link(Op1,8044380:Var3,[(685,172)])
link(Op2,960809:Caption,[(692,296)(570,296)(570,345)(447,345)])
}
Add(MultiElementEx,13621777,560,245)
{
@Color=11184640
}
BEGIN_SDK
Add(EditMultiEx,4453803,21,21)
{
WorkCount=#25:doData=нажатие на объекте|
EventCount=#43:onEvent2=Событие при отпускании кнопки мыши|
VarCount=#5:Value|
Width=650
Height=207
link(doData,9538921:doEvent1,[(49,27)(49,69)])
link(Value,7817314:Value,[(27,162)(251,162)])
}
Add(DoData,1217270,140,63)
{
Data=Integer(1)
link(onEventData,2149178:doWork2,[])
}
Add(Memory,7817314,245,63)
{
Default=Integer(0)
}
Add(Timer,14602816,140,119)
{
Interval=0
Enable=1
link(onTimer,2209371:doReadKey,[])
}
Add(Hub,9538921,77,63)
{
link(onEvent1,1217270:doData,[])
link(onEvent2,14602816:doTimer,[(115,76)(115,125)])
}
Add(Keyboard,2209371,273,119)
{
Key=1
link(onReadKey,366792:doEvent,[])
}
Add(IndexToChanel,366792,343,119)
{
link(onEvent1,11092333:doData,[])
}
Add(DoData,11092333,434,119)
{
Data=Integer(0)
link(onEventData,11863327:doEvent1,[])
}
Add(HubEx,2149178,210,63)
{
link(onEvent,7817314:doValue,[])
}
Add(Hub,11863327,504,119)
{
link(onEvent1,8938255:doEvent1,[])
link(onEvent2,14602816:doStop,[(528,132)(528,191)(128,191)(128,132)])
}
Add(Hub,8938255,539,119)
{
link(onEvent1,2149178:doWork3,[(563,125)(563,39)(214,39)])
link(onEvent2,4453803:onEvent2,[(612,132)(612,27)])
}
END_SDK
Add(If_else,602244,560,308)
{
Op2=Integer(1)
link(onTrue,9542962:doOperation,[])
link(Op1,13621777:Value,[])
}
Add(Hub,15745445,301,245)
{
link(onEvent1,13621777:doData,[])
link(onEvent2,14723250:doText,[(357,258)(357,251)])
}
Add(Hub,14232590,357,301)
{
link(onEvent1,13762348:doOperation,[])
}
Add(Timer,3586033,245,364)
{
Interval=0
link(onTimer,602244:doCompare,[(419,370)(419,314)])
}
Add(Label,8952450,798,308)
{
Left=55
Top=20
}
Add(Hub,15162125,735,308)
{
link(onEvent1,8952450:doText,[])
link(onEvent2,234139:onEvent1,[(843,321)(843,41)])
}
Add(GetDataEx,8044380,70,167)
{
Angle=3
link(Data,234139:Data1,[(41,171)])
}
END_SDK
Add(VisualShape,2160854,112,98)
{
Left=30
Top=270
Width=185
Height=150
Point(Width)
Point(doWidth)
}
Add(Label,3315267,161,168)
{
Left=55
link(Text,8802258:Var1,[(167,156)(143,156)(143,198)(118,198)])
}



Смысл таков, что при клике на маленьком квадратике и последующем перемещении курсора в право от него другой квадрат под ним изменял размер на один пиксель.
тоесть я хочу сделать изменение размера окна.
должно происходить следующее, при клике запоминается (x) к примеру 300(переменная var) а при последующем перемещении курсора от маленького кубика в право проверяется условие(Если X настоящее больше чем x запомненная при клике(var), то x-var=var2)
в итоге получаем при перемещении в право интеграцию 1,2,3 и т.д. далее
к ширине нижнего квадрата прибавляем var2, и передаем ширину квадрату.
значит при пемещении курсора в право квадрат увеличивается ровно на столько пикселей, на сколько перетянули мышкой.

Проблема в том, что если двинуть мышь в право и остановить числа начинают сами интегрироваться.
Где зарыта собака?
Или может кто нибудь знает способ намного проще сделать изменение размеров.
Помогите, прошу...
------------ Дoбавленo в 22.28:
ау, не поможете?
карма: 0

0
файлы: 1code_26728.txt [4.2KB] [45]
Ответов: 8926
Рейтинг: 823
#2: 2012-02-01 22:56:12 ЛС | профиль | цитата
ashkalov, экспонентизация длины и ширины: code_26730.txt
карма: 19

0
файлы: 1code_26730.txt [2.9KB] [108]
Ответов: 1043
Рейтинг: 33
#3: 2012-02-02 00:00:03 ЛС | профиль | цитата
Леонид, большое спасибо, а почему большими кусками увеличивает?
------------ Дoбавленo в 00.00:
как такую фишку присобачить ко всем сторонам, просо мне надо сделать чтоб каждую сторону можно было бы по отдельности регулировать
карма: 0

0
Ответов: 8926
Рейтинг: 823
#4: 2012-02-02 00:04:20 ЛС | профиль | цитата
ashkalov, так экспонента же, запросто можно и 10^330 получить code_26731.txt
карма: 19

0
файлы: 1code_26731.txt [3.2KB] [95]
Ответов: 1043
Рейтинг: 33
#5: 2012-02-02 00:30:53 ЛС | профиль | цитата
Леонид, добрый человек, скажите... а где мне можно подробнее про экпоненту прочесть?
------------ Дoбавленo в 00.21:
А можно как нибудь убрать прогрессию интервала?
т.е. чтоб всегда увеличивал плавно
а то он увеличивает по нарастающей, тоесть дальше опять кусками...
------------ Дoбавленo в 00.30:
---------------------------------
Помогите пожалуйста сделать вот такое


голову ломаю, никак не врублюсь как сделать...
карма: 0

0
Ответов: 1821
Рейтинг: 168
#6: 2012-02-02 00:47:30 ЛС | профиль | цитата
ashkalov, имея координаты верхней левой точки и нижней правой, рисуете квадраты по координатам
(x; y) 
(x; y+h/2) 
(x; y+h)
(x+w/2; y)
(x+w/2; y+h)
(x+w; y)
(x+w; y+h/2)
(x+w; y+h)
, где x,y - координаты формы, w,h размеры (ширина, высота).
карма: 5

0
Ответов: 1043
Рейтинг: 33
#7: 2012-02-02 01:33:54 ЛС | профиль | цитата
sаmakacd, да не, мне не квадраты нужны) А именно чтоб размер объекта менять
------------ Дoбавленo в 00.58:
но за это отдельное спасибо!
------------ Дoбавленo в 01.33:
сделал вот таким образом

Add(Panel,16000404,98,35)
{
Left=165
Top=125
Width=190
Height=155
Point(onResize)
Point(Width)
Point(doWidth)
}
Add(VisualShape,11080153,161,119)
{
Left=150
Top=60
Width=35
Height=30
Cursor=14
Point(doLeft)
Point(onMouseDown)
Point(onMouseMove)
link(onMouseDown,3877793:doEvent1,[])
}
Add(Timer,569055,28,119)
{
Interval=0
link(onTimer,9799449:doEvent1,[])
}
Add(MathParse,8284851,98,119)
{
MathStr="%1 - 40"
link(onResult,11080153:doLeft,[])
link(X1,7511429:Var2,[])
}
Add(MouseEvent,6892727,392,161)
{
}
Add(MultiElementEx,11162391,322,161)
{
@Hint=#28:Контролер нажатия на объекте|64:(Проверает удерживаете ли вы мышку нажатой на объекте , или нет)|
}
BEGIN_SDK
Add(EditMultiEx,10053395,21,21)
{
WorkCount=#25:doData=Нажатие на объекте|
VarCount=#32:Value=Если нажата, то =1 иначе 0|
link(doData,10430099:doData,[(39,27)(39,48)])
link(Value,3665137:Value,[(27,147)(195,147)])
}
Add(DoData,10430099,56,42)
{
Data=Integer(1)
link(onEventData,2226621:doEvent1,[])
}
Add(Memory,3665137,189,42)
{
Default=Integer(0)
}
Add(Keyboard,16045451,112,105)
{
Key=1
link(onReadKey,14337077:doEvent,[])
}
Add(Timer,1023075,56,105)
{
Interval=0
Enable=1
link(onTimer,16045451:doReadKey,[])
}
Add(Hub,2226621,112,42)
{
link(onEvent1,12339944:doWork2,[])
link(onEvent2,1023075:doTimer,[(138,55)(138,83)(44,83)(44,111)])
}
Add(IndexToChanel,14337077,189,105)
{
link(onEvent1,10510094:doEvent1,[])
}
Add(Hub,10510094,238,105)
{
link(onEvent1,1023075:doStop,[(276,111)(276,151)(44,151)(44,118)])
link(onEvent2,4765154:doData,[(264,118)(264,146)(44,146)(44,174)])
}
Add(DoData,4765154,56,168)
{
Data=Integer(0)
link(onEventData,12339944:doWork3,[(144,174)])
}
Add(HubEx,12339944,140,42)
{
link(onEvent,3665137:doValue,[])
}
END_SDK
Add(Hub,15024438,252,126)
{
link(onEvent1,11162391:doData,[(283,132)(283,167)])
link(onEvent2,11647556:doCompare,[(283,139)(283,223)])
}
Add(If_else,11647556,322,217)
{
Op2=Integer(1)
link(onTrue,6238331:doText,[])
link(Op1,2005517:Var2,[])
}
Add(Label,6238331,392,217)
{
Left=25
Top=20
link(Text,14047482:Var2,[])
}
Add(MathParse,2444550,322,280)
{
DataCount=3
MathStr="(%1-%2)+%3"
link(onResult,5170109:doEvent1,[])
link(X1,14047482:Var1,[(328,201)])
link(X2,6238331:Caption,[(335,264)(398,264)])
link(X3,2722764:Value,[(342,188)(377,188)])
}
Add(GetDataEx,14047482,392,196)
{
link(Data,6892727:MouseX,[])
}
Add(Label,31924,448,280)
{
Left=25
Top=45
}
Add(Hub,9799449,70,119)
{
link(onEvent1,8284851:doCalc,[])
link(onEvent2,11239910:doCompare,[(126,132)(126,223)])
}
Add(If_else,11239910,168,217)
{
Op2=Integer(1)
link(onTrue,2444550:doCalc,[(261,223)(261,286)])
link(Op1,2005517:Var1,[(174,208)])
}
Add(GetDataEx,2005517,322,203)
{
link(Data,11162391:Value,[])
}
Add(GetDataEx,7511429,98,91)
{
link(Data,12177028:Var2,[])
}
Add(Hub,5170109,406,280)
{
link(onEvent1,31924:doText,[])
link(onEvent2,16000404:doWidth,[(432,293)(432,177)(86,177)(86,48)])
}
Add(Hub,3877793,210,119)
{
link(onEvent1,7159622:doData,[(238,125)(238,69)])
link(onEvent2,15024438:doEvent1,[])
}
Add(DoData,7159622,252,63)
{
link(onEventData,2722764:doValue,[])
link(Data,12177028:Var3,[(258,51)(182,51)(182,82)])
}
Add(GetDataEx,12177028,98,77)
{
link(Data,16000404:Width,[])
}
Add(Memory,2722764,371,63)
{
}

карма: 0

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)