Вверх ↑
Разработчик
Ответов: 26160
Рейтинг: 2127
#1: 2012-09-18 12:43:59 ЛС | профиль | цитата
Netspirit писал(а):
Но не решает поставленной задачи - как ты и писал, это возможно на уровне кодов

Не обязательно
nesco писал(а):
Вы хотите такую схему, я вам сейчас ее нарисую

Нарисовал



Add(MainForm,7793634,98,175)
{
link(onCreate,5234883:doWork2,[])
}
Add(ChildPanelPoly,10691305,364,154)
{
Childrens=#4:beep|6:nobeep|
Selected="beep"
}
BEGIN_SDK
Add(EditPolyMulti,10258763,21,21)
{
WorkCount=#5:##add|7:##clear|
Point(##add)
Point(##clear)
}
Add(Panel,1636013,35,105)
{
Width=95
Height=70
BorderWidth=0
BevelInner=0
BevelWidth=0
}
END_SDK
BEGIN_SDK
Add(EditPolyMulti,4208174,21,21)
{
WorkCount=#5:##add|7:##clear|
Width=265
Height=221
Point(##add)
Point(##clear)
link(##add,4306077:doWork2,[(45,27)(45,62)])
}
Add(Panel,10726954,56,196)
{
Width=95
Height=70
}
Add(Edit,16420258,56,147)
{
Left=10
Top=30
Text=""
link(onEnter,4058697:doCompare,[])
}
Add(Random,16630336,119,56)
{
link(onRandom,3056266:doText,[])
}
Add(Label,3056266,189,56)
{
Left=65
Top=35
Width=10
Height=17
Caption="0"
}
Add(Beep,16247115,189,112)
{
link(onBeep,14461891:doWork2,[])
}
Add(HubEx,4306077,91,56)
{
link(onEvent,16630336:doRandom,[])
}
Add(If_else,4058697,119,154)
{
link(onTrue,16247115:doBeep,[(180,160)(180,118)])
link(onFalse,14461891:doWork3,[(249,167)])
link(Op1,16630336:Random,[])
}
Add(HubEx,14461891,245,112)
{
Angle=3
link(onEvent,4306077:doWork1,[(249,47)(95,47)])
}
END_SDK
BEGIN_SDK
Add(EditPolyMulti,5544854,21,21)
{
WorkCount=#5:##add|7:##clear|
Width=265
Height=221
Point(##add)
Point(##clear)
link(##add,4306077:doWork2,[(57,27)(57,62)])
}
Add(Panel,12532295,56,196)
{
Width=95
Height=70
}
Add(Edit,16420258,56,147)
{
Left=10
Top=30
Text=""
link(onEnter,4058697:doCompare,[])
}
Add(Random,16630336,119,56)
{
link(onRandom,3056266:doText,[])
}
Add(Label,3056266,189,56)
{
Left=65
Top=35
Width=10
Height=17
Caption="0"
}
Add(HubEx,4306077,91,56)
{
link(onEvent,16630336:doRandom,[])
}
Add(If_else,4058697,119,154)
{
link(onTrue,14461891:doWork2,[])
link(onFalse,14461891:doWork3,[(249,167)])
link(Op1,16630336:Random,[])
}
Add(HubEx,14461891,245,154)
{
Angle=3
link(onEvent,4306077:doWork1,[(249,47)(95,47)])
}
END_SDK
Add(StrList,7798254,287,147)
{
Strings=#6:nobeep|4:beep|
Point(onGetString)
Point(doGetString)
link(onGetString,10691305:##add,[])
}
Add(DoData,13483766,217,189)
{
link(onEventData,7798254:doGetString,[])
link(Data,12286048:Checked,[])
}
Add(CheckBox,12286048,217,140)
{
Left=10
Top=75
Width=65
TabOrder=-1
Caption="Bip if true"
}
Add(Button,3832103,98,231)
{
Left=15
Top=105
TabOrder=-1
Caption="ReInit"
link(onClick,15399744:doEvent1,[])
}
Add(HubEx,5234883,182,189)
{
link(onEvent,13483766:doData,[])
}
Add(Hub,15399744,147,231)
{
link(onEvent1,10691305:##clear,[(344,237)(344,167)])
link(onEvent2,5234883:doWork3,[(186,244)])
}


Идея у ТС была правильная, вот только использовать надо было именно полиморфную панель
------------ Дoбавленo в 12.43:
Netspirit писал(а):
Возможный костыль - это два Edit'a: в одном onEnter с Beep'ом, в другом - без. А при старте формы делается видимым то один, то другой в зависимости от условия

Неоправданное использование ресурсов, но направление верное. У ТС идея была более правильная
карма: 22

0