Add(MainForm,5476612,308,161)
{
Left=20
Top=105
Width=539
Height=368
Font=[Arial,8,0,0,1]
}
Add(Timer,3556552,385,140)
{
Interval=10
link(onTimer,9244294:doRefresh,[])
}
Add(PaintBox,9244294,434,140)
{
Left=135
Top=55
Width=210
Height=210
Color=12639424
ClearBeforeDraw=0
link(onBeforeDraw,9184855:doFor,[])
}
Add(Button,331381,371,189)
{
Left=200
Top=30
Width=65
Font=[Arial,8,0,0,1]
Caption="Add"
link(onClick,14227323:##add,[])
}
Add(MultiElementEx,14227323,434,189)
{
Mode=1
link(Handle,9244294:Bitmap,[])
}
BEGIN_SDK
Add(EditMultiEx,10129213,3,3)
{
WorkCount=#5:##add|8:##select|
VarCount=#7:##count|
DataCount=#6:Handle|
Width=440
Height=319
Point(##add)
Point(##select)
Point(##count)
link(##add,2149117:doRandom,[(19,9)(19,55)])
link(##select,10271306:doDraw,[(14,16)(14,251)])
}
Add(Img_Ellipse,10271306,84,245)
{
Point2AsOffset=0
Point(Point1)
Point(Point2)
link(onDraw,2658985:doOperation,[])
link(Bitmap,10129213:Handle,[(90,34)(9,34)])
link(Point1,4655807:Point,[])
link(Point2,5914282:Point,[(111,233)(139,233)])
}
Add(PointXY,5914282,133,189)
{
X=10
Y=10
}
Add(Memory,7646524,126,49)
{
link(onData,2559567:doWork1,[(169,55)(169,167)])
}
Add(Memory,10908804,189,49)
{
link(onData,2196150:doWork1,[(268,55)(268,167)])
}
Add(PointXY,4655807,98,140)
{
link(X,6591336:Var1,[(104,114)])
link(Y,13022105:Var1,[(111,121)])
}
Add(MultiElement,2559567,210,161)
{
}
BEGIN_SDK
Add(EditMulti,2784491,3,3)
{
WorkCount=1
VarCount=1
Height=102
link(doWork1,13198225:doCompare,[(26,9)(26,41)])
link(Var1,115467:Value,[(9,86)(272,86)])
}
Add(If_else,13198225,49,35)
{
Type=1
Op2=Integer(1)
link(onTrue,1277010:doWork2,[])
link(onFalse,4875620:doCompare,[])
}
Add(Switch,8043746,203,35)
{
DataOn=Integer(-2)
DataOff=Integer(2)
link(onSwitch,115467:doValue,[])
}
Add(If_else,4875620,112,42)
{
Type=2
Op2=Integer(200)
link(onTrue,1277010:doWork3,[(179,48)])
}
Add(HubEx,1277010,175,35)
{
link(onEvent,8043746:doSwitch,[])
}
Add(Memory,115467,266,35)
{
Default=Integer(1)
}
END_SDK
Add(Hub,3093429,252,245)
{
link(onEvent1,11790344:doOperation,[])
link(onEvent2,2811565:doWork3,[(294,258)(294,283)(81,283)])
}
Add(Math,2658985,203,245)
{
link(onResult,3093429:doEvent1,[])
link(Op1,6591336:Var3,[(209,114)])
link(Op2,2559567:Var1,[])
}
Add(GetDataEx,6591336,126,109)
{
link(Data,7646524:Value,[])
}
Add(Math,11790344,308,245)
{
link(onResult,10908804:doValue,[(394,251)(394,26)(174,26)(174,55)])
link(Op1,13022105:Var3,[(314,121)])
link(Op2,2196150:Var1,[])
}
Add(GetDataEx,13022105,189,116)
{
link(Data,10908804:Value,[])
}
Add(MultiElement,2196150,315,161)
{
}
BEGIN_SDK
Add(EditMulti,2784491,3,3)
{
WorkCount=1
VarCount=1
Height=102
link(doWork1,13198225:doCompare,[(26,9)(26,41)])
link(Var1,115467:Value,[(9,86)(272,86)])
}
Add(If_else,13198225,49,35)
{
Type=1
Op2=Integer(1)
link(onTrue,1277010:doWork2,[])
link(onFalse,4875620:doCompare,[])
}
Add(Switch,8043746,203,35)
{
DataOn=Integer(-1)
DataOff=Integer(1)
link(onSwitch,115467:doValue,[])
}
Add(If_else,4875620,112,42)
{
Type=2
Op2=Integer(200)
link(onTrue,1277010:doWork3,[(179,48)])
}
Add(HubEx,1277010,175,35)
{
link(onEvent,8043746:doSwitch,[])
}
Add(Memory,115467,266,35)
{
Default=Integer(1)
}
END_SDK
Add(Random,2149117,35,49)
{
Min=1
link(onRandom,2811565:doWork2,[])
}
Add(HubEx,2811565,77,49)
{
link(onEvent,7646524:doValue,[])
}
END_SDK
Add(For,9184855,490,140)
{
IncludeEnd=1
link(onEvent,14227323:##select,[(545,146)(545,242)(424,242)(424,202)])
link(End,14227323:##count,[(503,130)(478,130)(478,231)(440,231)])
}
Add(Label,12293726,245,161)
{
Left=135
Top=10
Width=53
Height=18
Font=[Arial,8,0,0,1]
Caption="Example 2"
}
Этот топик читают: Гость
Ответов: 62
Рейтинг: 0
|
|||
С Новым годом !Есть рабочая схема(взял с нашего форума)[url=load.php?a=21985]code_21984.txt[/url] Рисует сетку на PaintBox.При размещении схемы в MultiElementEx[url=load.php?a=21986]code_21985.txt[/url]сетка рисуеться на доли секунды и пропадает . В чем ошибка ?Схему в MultiElementEx размещал по образу другой ,взятой на форуме счемы
|
|||
карма: 0 |
| ||
файлы: 2 | code_21984.txt [1.7KB] [116], code_21985.txt [2.6KB] [133] |
Ответов: 8961
Рейтинг: 824
|
|||
buchkov, а прочитать комментарии к точкам слабо? (не говоря уж о назначении всяких панелей) code_21986.txt
|
|||
карма: 19 |
| ||
файлы: 1 | code_21986.txt [2.7KB] [205] |
Ответов: 301
Рейтинг: 11
|
|||
deleted
|
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2025-02-25 16:46:24 |
|||
карма: 0 |
|
Ответов: 8961
Рейтинг: 824
|
|||
buchkov, можно и так, конечно, но создавать на каждый вид сетки свою отрисовку не совсем рационально, все мзменяемые параметры проще передавать на одну схему.
|
|||
карма: 19 |
|
Ответов: 62
Рейтинг: 0
|
|||
Леонид писал(а): buchkov, можно и так, конечно, |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
buchkov, применяй компонент Math. Для равномерной (т.е. все ячейки одного размера) прямоугольной сетки поиск пересекаемой(-ых) линии(-ий) - раз плюнуть (хинт: на каждую координату один Math с Mode=- и один - с Mode=mod). Для других сеток задачка посложнее будет, но всё равно - если есть математическое описание линий сетки, то просчитать пересечение просто (по кр. мере для того, кто закончил 11 классов средней школы).
|
|||
карма: 1 |
|
Ответов: 8961
Рейтинг: 824
|
|||
buchkov, узнать "Мышь на линии" просто code_21993.txt , но чтобы менять цвет части или всей линии лучше отказаться от отрисовки в цикле (надо в этих циклах ловить нужный кусок и менять цвет), а формировать Список координат линий, в этом списке менять нужныу параметры и уже по нему проводить отрисовку.
|
|||
карма: 19 |
| ||
файлы: 1 | code_21993.txt [6.4KB] [167] |
Ответов: 62
Рейтинг: 0
|
|||
Спасибо буду думать
------------ Дoбавленo в 15.44: [quote=Леонид]buchkov, узнать "Мышь на линии" просто [/quote]Подскажи , почему я ставлю Step=10 или 100 , а на Label отображаются координаты до соприкасновиния с линией, непосредственно при соприкосновении и после него, т.е. отображаються координаты -1,= и +1
|
|||
карма: 0 |
|
Ответов: 8961
Рейтинг: 824
|
|||
buchkov, внимательно и вдумчиво читаем примечания к точкам:
LED писал(а): onChange=Событие происходит при смене состояния...![]() Если толщина линий 1 пиксель и не будет изменяться, то формулу MathParse можно (и нужно) облегчить (%1 mod %3)=0[b] |
|||
карма: 19 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2025-02-25 16:46:25 |
|||
карма: 0 |
|
11