Вверх ↑
Этот топик читают: Гость
Ответов: 1924
Рейтинг: 172
#1: 2019-10-05 11:24:09 ЛС | профиль | цитата
Ну, вот требовалось людям.
А это мой вариант - схемой (для ввода цифр):

Add(Edit,12563647,252,154)
{
Left=75
Top=45
Width=200
Text="__._"
ReadOnly=0
Point(Position)
Point(doPosition)
Point(onChar)
link(onChar,16693700:onChar,[])
}
Add(MultiElementEx,16693700,301,168)
{
link(Text,11416631:Var,[])
link(Position,7358493:Var,[])
link(doText,9986567:In,[])
link(doPosition,3253187:In,[])
}
BEGIN_SDK
Add(EditMultiEx,6616031,21,21)
{
WorkCount=#6:onChar|
EventCount=#6:doText|10:doPosition|
DataCount=#4:Text|8:Position|
Width=643
Height=67
HOffset=70
link(onChar,9580321:doCompare,[(56,27)(56,125)])
}
Add(StrMask,9580321,91,119)
{
Mask="#"
link(onTrue,6512860:doValue,[])
}
Add(LineBreak,13420086,371,357)
{
Caption="+1"
link(Out,6350728:doWork2,[])
Primary=[4234897,182,-105]
}
Add(Memory,6512860,133,126)
{
link(onData,6249007:doEvent1,[])
}
Add(CharArray,14961951,427,126)
{
Point(Count)
link(onGetStr,6616031:doText,[(541,139)(541,27)])
link(String,6616031:Text,[(433,74)(97,74)])
}
Add(ArrayRW,6967953,427,245)
{
link(onRead,15862525:doCase,[])
link(Array,14961951:Array,[])
link(Index,4005301:Var,[])
link(Value,2679207:Var,[])
}
Add(Hub,6249007,217,126)
{
InCount=3
link(onEvent1,14961951:doLoad,[])
link(onEvent2,2125725:doCompare,[])
}
Add(LineBreak,7437455,133,168)
{
Caption="#"
Type=1
link(Data,6512860:Value,[])
Primary=[2679207,308,49]
}
Add(LineBreak,16024496,98,56)
{
Caption="pos"
Type=1
link(Data,8066346:Var2,[])
Primary=[4005301,336,140]
}
Add(LineBreak,12478586,112,56)
{
Caption="pos"
Type=1
link(Data,9274634:Var2,[])
Primary=[5624778,315,259]
}
Add(Hub,47868,392,252)
{
OutCount=3
link(onEvent1,6967953:doWrite,[])
link(onEvent2,14961951:doGetStr,[(416,265)(416,139)])
link(onEvent3,6350728:doWork1,[(417,272)])
}
Add(Hub,210831,525,252)
{
link(onEvent1,4234897:In,[])
link(onEvent2,1224439:In,[])
}
Add(LineBreak,9681080,175,133)
{
link(Out,6249007:doEvent2,[])
Primary=[1224439,378,126]
}
Add(Math,6606398,427,357)
{
Op2=1
ResultType=0
link(onResult,1710276:doWork2,[])
link(Op1,2771370:Var2,[])
}
Add(HubEx,6350728,413,357)
{
link(onEvent,6606398:doOperation,[])
}
Add(Math,3293120,441,413)
{
OpType=1
Op2=1
ResultType=0
link(onResult,1710276:doWork3,[(487,419)])
link(Op1,2771370:Var3,[(447,341)])
}
Add(GetDataEx,2771370,427,336)
{
link(Data,5624778:Var,[])
}
Add(Hub,3141218,294,133)
{
link(onEvent1,3293120:doOperation,[(374,139)(374,419)])
link(onEvent2,6170769:In,[])
}
Add(HubEx,1710276,483,357)
{
link(onEvent,6616031:doPosition,[(555,363)(555,34)])
}
Add(LineBreak,2765575,175,140)
{
link(Out,6249007:doEvent3,[])
Primary=[6170769,147,0]
}
Add(Case,15862525,476,245)
{
Value=String(.)
link(onNextCase,3507836:In,[(516,251)(516,244)])
link(onTrue,210831:doEvent1,[])
AddHint(-2,35,28,13,Value)
}
Add(If_else,2125725,245,133)
{
@Hint=#21:Курсор в конце строки|
link(onTrue,3141218:doEvent1,[])
link(onFalse,6967953:doRead,[(287,146)(287,251)])
link(Op1,3146207:Var,[])
link(Op2,9274634:Var3,[(258,40)])
AddHint(-103,58,131,13,@Hint)
}
Add(LineBreak,6452447,441,168)
{
Caption="cnt"
Type=1
link(Data,14961951:Count,[])
Primary=[3146207,-196,-63]
}
Add(LineBreak,12305898,350,252)
{
link(Out,47868:doEvent1,[])
Primary=[3507836,175,-14]
}
Add(GetDataEx,8066346,98,35)
{
link(Data,6616031:Position,[])
}
Add(GetDataEx,9274634,112,35)
{
Angle=3
link(Data,8066346:Var3,[])
}
Add(InfoTip,6494671,84,245)
{
Info=#33:Избегайте масок с точкой в конце!|
Font=[MS Sans Serif,8,1,0,1]
Frame=2
Transparent=1
HAlign=0
Width=148
Height=39
Margin=3
}
END_SDK
Add(LineBreak,11507496,210,168)
{
link(Out,12563647:doPosition,[])
Primary=[3253187,133,7]
}
Add(LineBreak,10295765,210,161)
{
link(Out,12563647:doText2,[])
Primary=[9986567,133,7]
}
Add(LineBreak,5845979,259,203)
{
Type=1
link(Data,12563647:Position,[])
Primary=[7358493,49,-63]
}
Add(LineBreak,13222452,252,217)
{
Type=1
link(Data,12563647:Text,[])
Primary=[11416631,49,-91]
}

Поле всегда ReadOnly, маску в нём прописать сразу: вместо цифр - любые символы, точка - неизменный. В конце точку не ставить - смысла всё равно нет, и будет вылетать.
карма: 9
0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2019-10-05 17:24:10 ЛС | профиль | цитата
45 компонент, 100 линков.
Давно пора создать полноценный компонент MaskEdit
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
Голосовали:Konst, DataEntry
2
Сообщение
...
Прикрепленные файлы
(файлы не залиты)