Вверх ↑
Ответов: 3851
Рейтинг: 159
#1: 2010-11-23 21:56:42 ЛС | профиль | цитата

этот кусок схемы делался для ввода пользователем 2-значного числового значения часов с помощью цифровых клавиш, клавиш курсора (вверх, вниз) и скроллера мыши. модуль вводимого значения задаётся в design-time (по умолчанию), так для минут, его нужно будет установить в "60".

Add(ChildPanelEx,2914297,105,105){
}
BEGIN_SDK
Add(EditMultiEx,12729487,21,21)
{
WorkCount=#9:doSetData|
VarCount=#4:Data|
Width=713
Height=550
link(doSetData,13073517:doText,[(86,27)(86,300)])
link(Data,11272686:Var1,[(27,397)])
}
Add(Panel,11396133,105,203)
{
Left=35
Top=105
Width=20
Height=21
}
Add(Edit,13073517,140,294)
{
Width=20
Text="0"
Point(Position)
Point(onKeyUp)
Point(onMouseWheel)
Point(onSetFocus)
Point(doSelectAll)
link(onChange,10232030:doLength,[(182,300)(182,209)])
link(onKeyUp,15158444:doCase,[])
link(onMouseWheel,7995420:doCompare,[(184,321)(184,454)])
link(onSetFocus,10954594:doWork3,[(179,328)(179,344)(123,344)])
}
Add(Math,7024221,525,420)
{
OpType=8
Op2=24
ResultType=0
PColor(Op2,16776960)
link(onResult,9291879:doWork2,[])
link(Op2,5715638:Var3,[(538,131)])
}
Add(Math,13349253,336,420)
{
Op2=1
ResultType=0
link(onResult,14240018:doWork2,[])
link(Op1,14674825:Var2,[])
}
Add(Math,1327248,378,497)
{
OpType=1
Op2=1
ResultType=0
link(onResult,3003015:doWork3,[(487,503)])
link(Op1,14674825:Var3,[(384,397)])
}
Add(If_else,7995420,203,448)
{
Type=2
Op2=Integer(0)
link(onTrue,2952099:doWork2,[(269,454)(269,426)])
link(onFalse,11249761:doWork2,[])
}
Add(HubEx,3003015,483,420)
{
link(onEvent,7024221:doOperation,[])
}
Add(If_else,4878195,287,490)
{
link(onTrue,14832909:doData,[])
link(onFalse,1327248:doOperation,[])
link(Op1,440990:Var2,[])
link(Op2,11430538:Value,[])
}
Add(GetDataEx,440990,287,392)
{
Angle=3
link(Data,11272686:Var3,[])
}
Add(Memory,11430538,294,441)
{
Default=Integer(0)
}
Add(HubEx,9291879,574,420)
{
Angle=3
link(onEvent,14420834:doEvent1,[(578,148)(77,148)(77,307)])
}
Add(DoData,14832909,329,490)
{
Data=Integer(23)
link(onEventData,9291879:doWork3,[(578,496)])
}
Add(Case,12071822,259,308)
{
@Hint=#5:вверх|
Value=Integer(38)
link(onTrue,2952099:doWork1,[(326,321)])
}
Add(Case,15158444,203,308)
{
@Hint=#4:вниз|
Value=Integer(40)
link(onNextCase,12071822:doCase,[])
link(onTrue,11249761:doWork1,[(242,321)])
}
Add(HubEx,11249761,238,455)
{
link(onEvent,4878195:doCompare,[(269,461)(269,496)])
}
Add(HubEx,2952099,322,420)
{
link(onEvent,13349253:doOperation,[])
}
Add(Hub,14420834,91,301)
{
link(onEvent1,13073517:doText2,[])
link(onEvent2,10954594:doWork2,[])
}
Add(HubEx,10954594,119,308)
{
link(onEvent,13073517:doSelectAll,[])
}
Add(GetDataEx,14674825,336,392)
{
Angle=3
link(Data,440990:Var3,[])
}
Add(Length,10232030,196,203)
{
link(onLength,662822:doCompare,[])
link(Str,12793133:Var1,[(202,187)])
}
Add(If_else,662822,245,203)
{
Type=2
Op2=Integer(2)
link(onTrue,3429353:doWork2,[])
link(onFalse,3608649:doCompare,[])
}
Add(Delete,16080445,448,203)
{
Count=1
link(onDelete,3003015:doWork1,[(487,209)])
link(Str,15160450:Var3,[(454,187)])
}
Add(If_else,2601068,392,210)
{
Type=4
Op2=Integer(24)
PColor(Op2,16776960)
link(onTrue,3429353:doWork3,[(438,216)])
link(onFalse,14240018:doWork1,[(438,223)])
link(Op2,5715638:Var2,[])
}
Add(GetDataEx,15160450,350,182)
{
Angle=3
link(Data,12793133:Var3,[])
}
Add(Convertor,4471439,350,210)
{
Mode=1
link(onResult,2601068:doCompare,[])
link(Data,15160450:Var2,[])
}
Add(If_else,3608649,301,210)
{
Op2=Integer(2)
link(onTrue,4471439:doConvert,[])
}
Add(HubEx,3429353,434,203)
{
link(onEvent,16080445:doDelete,[])
}
Add(Memory,15864591,399,56)
{
Default=Integer(24)
MakeExt(Default,диапазон допустимых значений (от нуля),mod)
}
Add(GetDataEx,5715638,399,126)
{
PColor(Data,16776960)
link(Data,15864591:Value,[])
}
Add(GetDataEx,11272686,140,392)
{
link(Data,13073517:Text,[])
}
Add(HubEx,14240018,434,420)
{
link(onEvent,3003015:doWork2,[])
}
Add(InfoTip,16232794,168,385)
{
Info=#20:ввод скроллером мыши|
Font=[MS Sans Serif,8,1,8388608,1]
Frame=3
VAlign=2
Width=295
Height=172
Margin=10
}
Add(InfoTip,1881974,175,154)
{
Info=#22:ввод цифр с клавиатуры|
Font=[MS Sans Serif,8,1,32768,1]
Frame=3
Width=337
Height=95
Margin=10
}
Add(InfoTip,5075274,189,266)
{
Info=#31:перебор стрелками на клавиатуре|
Font=[MS Sans Serif,8,1,128,1]
Frame=3
Width=148
Height=88
Margin=10
}
Add(GetDataEx,12793133,336,182)
{
Angle=2
link(Data,14674825:Var1,[])
}
Add(InfoTip,3238890,448,42)
{
Info=#133:здесь лежит модуль допустимых значений (внешнее свойство). При этом ноль учитывается. Если делаете часы, то модуль для минут будет 60|
Frame=2
Width=204
Height=60
Margin=2
}
Add(InfoTip,12729919,385,42)
{
Info=#
Frame=2
Height=60
}
END_SDK

Стиль ввода навеян не помню чем (понравился).
Наверняка нечто похожее уже где-то было, но сходу не нашёл, да и практики давно не было - решил размять мозги.

Улучшаем..


карма: 0
начавший
0
файлы: 1code_21576.txt [5KB] [214]