Вверх ↑
Этот топик читают: Гость
Ответов: 952
Рейтинг: 4
#1: 2021-07-30 09:37:03 ЛС | профиль | цитата
Не могу понять, почему не меняется шрифт цифр календаря. Размер - меняется, а вот цвет - нет.


Add(MainForm,2953706,21,105)
{
Width=565
link(onCreate,1746955:doFont,[(100,125)(100,118)])
}
Add(DatePicker,11543769,245,105)
{
Left=105
Top=60
Width=145
Height=21
Point(Data)
Point(doFont)
}
Add(Font,1746955,147,112)
{
Font=[MS Sans Serif,10,0,255,1]
link(onFont,11543769:doFont,[])
}


Собственно задача состоит в том, что бы поле календаря было пустым, пока юзер не выберет конкретную дату. Пришла мысль поиграть с цветом.
И не дать закрыть форму, пока дата не выбрана (думал реализовать каким-нибудь чеком).
карма: 0

0
Ответов: 2236
Рейтинг: 676
#2: 2021-07-30 20:32:18 ЛС | профиль | цитата
Игнорирует он цвет шрифта, он сам рисует так как ему надо.
Возможно этот календарь подойдет: компонент Календарь
Можно собрать свой календарь из стандартных компонентов и компонента Календарь:
Add(Calendar,7030091,651,133)
{
Left=390
Top=165
Width=190
Height=170
Visible=1
ToDayCircle=1
ToDay=1
Point(doVisible)
link(onSelect,16057259:doEvent1,[])
}
Add(Button,10378640,525,147)
{
Left=555
Top=145
Width=25
Font=[Wingdings 3,8,0,0,2]
Caption="q"
link(onClick,13414541:doWork2,[])
}
Add(ChanelToIndex,13414541,581,140)
{
link(onIndex,4757053:doEvent1,[])
}
Add(Edit,3466686,763,154)
{
Left=390
Top=145
Width=165
Enabled=1
Text="Установить дату"
Point(doEnabled)
}
Add(Hub,16057259,693,133)
{
link(onEvent1,13414541:doWork1,[(799,139)(799,108)(569,108)(569,146)])
link(onEvent2,6087372:doConvert,[])
}
Add(Math,2104449,651,168)
{
OpType=6
Op2=1
ResultType=0
link(onResult,3466686:doEnabled,[])
}
Add(Hub,4757053,623,140)
{
link(onEvent1,7030091:doVisible,[])
link(onEvent2,2104449:doOperation,[(644,153)(644,174)])
}
Add(DateConvertor,6087372,721,140)
{
Mode=9
Format="dd-MM-yyyy"
link(onResult,3466686:doText,[(758,146)(758,160)])
}

Редактировалось 4 раз(а), последний 2021-07-30 20:59:49
карма: 11

1
Голосовали:user_asm
Ответов: 263
Рейтинг: 18
#3: 2021-07-31 07:04:52 ЛС | профиль | цитата
Была похожая задача.
Вот мое решение.

Add(MainForm,6407720,84,70)
{
Width=565
}
Add(DatePicker,721072,532,203)
{
Left=115
Top=30
Width=130
Height=21
TabOrder=-1
Ctl3D=0
WinStyle=1
Hint="Открыть календарь"
Point(doWidth)
link(onChange,13420483:doConvert,[])
}
Add(Edit,261028,539,126)
{
Left=115
Top=30
Width=100
Height=21
Ctl3D=1
Hint="Ввод даты"
Text=""
MaxLenField=10
ClearAfterEnter=1
Point(Position)
Point(onKeyDown)
Point(doWidth)
Point(doPosition)
Point(doFont)
link(onChange,4261495:doWork2,[])
link(onEnter,4261495:doWork3,[(585,139)])
link(onKeyDown,2339969:doKeyDown,[])
}
Add(HubEx,4261495,581,126)
{
link(onEvent,2339969:doInput,[])
}
Add(HubEx,10349940,518,133)
{
link(onEvent,261028:doText2,[])
}
Add(Hub,3251010,413,140)
{
link(onEvent1,12343263:doOperation,[])
link(onEvent2,721072:doWidth,[(445,153)(445,216)])
}
Add(Math,12343263,462,140)
{
OpType=1
Op2=30
link(onResult,261028:doWidth,[])
}
Add(Hub,4435396,308,133)
{
link(onEvent1,10349940:doWork2,[])
link(onEvent2,7547933:doWork2,[])
}
Add(DateConvertor,12555827,357,140)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,721072:doSetDate,[(402,146)(402,209)])
}
Add(DateConvertor,13420483,574,203)
{
Mode=9
Format="dd.MM.yyyy"
link(onResult,6219271:doCompare,[])
}
Add(If_else,6219271,616,203)
{
Type=5
Op2=String()
link(onTrue,261028:doText,[(674,209)(674,107)(530,107)(530,132)])
}
Add(Hub,9285077,686,133)
{
link(onEvent1,14165998:doText,[])
link(onEvent2,7547933:doWork3,[(706,146)(706,244)(340,244)])
}
Add(HubEx,7547933,336,140)
{
link(onEvent,12555827:doConvert,[])
}
Add(MultiElementEx,2339969,616,126)
{
@Hint=#16:маска ввода даты|
link(onText2,10349940:doWork1,[(662,132)(662,97)(522,97)])
link(onGutRezult,9285077:doEvent1,[])
link(onPosition,261028:doPosition,[(667,146)(667,189)(519,189)(519,153)])
link(onFont,261028:doFont,[(660,153)(660,179)(527,179)(527,160)])
link(Data,261028:Position,[(622,113)(592,113)(592,171)(552,171)])
}
BEGIN_SDK
Add(EditMultiEx,1081633,14,21)
{
WorkCount=#7:doInput|7:doReset|9:doKeyDown|
EventCount=#7:onText2|11:onGutRezult|10:onPosition|6:onFont|
DataCount=#4:Data|
Width=860
Height=438
link(doInput,12803965:doEvent1,[(189,27)(189,69)])
link(doReset,15929343:doEvent1,[(60,34)(60,41)])
link(doKeyDown,8903723:doCompare,[(35,41)(35,258)])
}
Add(Hub,12803965,203,63)
{
InCount=2
OutCount=8
link(onEvent1,3467017:doWork2,[(257,69)(257,62)])
link(onEvent2,233965:doClear,[])
link(onEvent3,4062207:doEnum,[])
link(onEvent4,7490749:doEnum,[(255,90)(255,167)])
link(onEvent5,4072989:doCompare,[(255,97)(255,244)])
link(onEvent6,16392028:doData,[(255,104)(255,293)])
link(onEvent7,16306630:doEvent,[(255,111)(255,328)])
link(onEvent8,10146454:doCompare,[(255,118)(255,405)])
}
Add(Str_Enum,4062207,294,77)
{
Delimiter=""
To=10
OnlyDivGroup=1
link(onEnum,14752671:doCompare,[])
}
Add(StrMask,14752671,343,77)
{
Mask="#"
link(onTrue,233965:doStrCat,[(388,90)(388,69)])
}
Add(StrCat,233965,413,63)
{
Point(doClear)
link(Str1,7380689:Var3,[(419,51)(405,51)])
}
Add(StrCat,4424312,784,49)
{
Point(doClear)
link(Str1,14918047:Var1,[(790,30)(778,30)(778,89)])
}
Add(DoData,16392028,784,287)
{
link(onEventData,1081633:onText2,[(829,293)(829,27)])
link(Data,3114304:Var2,[])
}
Add(If_else,8903723,105,252)
{
Type=5
Op2=Integer(8)
link(onTrue,4516473:doWork1,[])
link(onFalse,4516473:doWork2,[])
}
Add(ChanelToIndex,4516473,154,252)
{
link(onIndex,13320449:doValue,[])
}
Add(Memory,13320449,203,252)
{
}
Add(Str_Enum,7490749,294,161)
{
Delimiter=""
OnlyDivGroup=1
link(onEnum,1377888:doEvent1,[])
link(String,11839973:Var2,[])
}
Add(GetDataEx,7380689,399,119)
{
Angle=1
link(Data,233965:Result,[(419,124)])
}
Add(If_else,12909225,483,168)
{
Op2=Integer(2)
link(onTrue,4326720:doEvent1,[])
link(onFalse,8274391:doCompare,[])
link(Op1,3409719:Var2,[])
}
Add(GetDataEx,14918047,784,84)
{
link(Data,4424312:Result,[])
}
Add(For,15662196,343,238)
{
End=4
link(onEvent,10346049:doData,[])
link(Start,1347130:Var2,[])
}
Add(DoData,10346049,399,238)
{
Data=String( )
link(onEventData,8481896:doEvent1,[])
}
Add(If_else,12141159,483,245)
{
Op2=Integer(2)
link(onTrue,4326720:doEvent3,[(577,251)(577,188)])
link(onFalse,7253235:doCompare,[])
link(Op1,2006219:Var2,[])
}
Add(If_else,7253235,532,252)
{
Op2=Integer(4)
link(onTrue,4326720:doEvent4,[(590,258)(590,195)])
link(Op1,2006219:Var3,[(538,222)])
}
Add(GetDataEx,2006219,483,217)
{
Angle=3
link(Data,15662196:Position,[(389,222)(389,283)(349,283)])
}
Add(If_else,7044096,350,322)
{
Op2=Integer(2)
link(onTrue,13159679:doEvent1,[])
link(onFalse,14426155:doCompare,[])
link(Op1,5692967:Var2,[])
}
Add(If_else,14426155,406,329)
{
Op2=Integer(3)
link(onTrue,13159679:doEvent2,[])
link(onFalse,9789227:doCompare,[])
link(Op1,10344292:Var2,[])
}
Add(GetDataEx,5692967,350,301)
{
Angle=3
link(Data,1081633:Data,[(20,306)])
}
Add(IndexToChanel,16306630,294,322)
{
Count=1
Point(Index)
link(onEvent1,7044096:doCompare,[])
link(Index,13320449:Value,[(300,316)(209,316)])
}
Add(Math,12621925,609,322)
{
Op2=1
link(onResult,2886541:doWork3,[(837,328)])
link(Op1,10806779:Var3,[(615,306)])
}
Add(GetDataEx,10344292,406,301)
{
Angle=3
link(Data,5692967:Var3,[])
}
Add(DoData,12234526,651,168)
{
Data=String(.)
link(onEventData,15189750:doEvent2,[])
}
Add(If_else,9789227,462,336)
{
Op2=Integer(5)
link(onTrue,13159679:doEvent3,[])
link(onFalse,3834635:doCompare,[])
link(Op1,11994705:Var2,[])
}
Add(If_else,3834635,518,343)
{
Op2=Integer(6)
link(onTrue,13159679:doEvent4,[])
link(Op1,10806779:Var2,[])
}
Add(GetDataEx,11994705,462,301)
{
Angle=3
link(Data,10344292:Var3,[])
}
Add(GetDataEx,10806779,518,301)
{
Angle=3
link(Data,11994705:Var3,[])
}
Add(Hub,1377888,448,161)
{
link(onEvent1,15189750:doEvent1,[])
link(onEvent2,12909225:doCompare,[])
}
Add(If_else,8274391,532,175)
{
Op2=Integer(4)
link(onTrue,4326720:doEvent2,[])
link(Op1,3409719:Var3,[(538,145)])
}
Add(If_else,4072989,294,238)
{
Type=1
Op2=Integer(5)
link(onTrue,15662196:doFor,[])
link(Op1,15484514:Var2,[])
}
Add(Hub,4326720,616,168)
{
InCount=4
OutCount=1
link(onEvent1,12234526:doData,[])
}
Add(Hub,15189750,728,161)
{
InCount=3
OutCount=1
link(onEvent1,4424312:doStrCat,[(749,167)(749,55)])
}
Add(Hub,8481896,448,238)
{
link(onEvent1,15189750:doEvent3,[(694,244)(694,181)])
link(onEvent2,12141159:doCompare,[])
}
Add(GetDataEx,15484514,294,210)
{
link(Data,7490749:NumSubStr,[])
}
Add(GetDataEx,1347130,343,210)
{
Angle=3
link(Data,15484514:Var3,[])
}
Add(GetDataEx,3409719,483,140)
{
Angle=3
link(Data,1347130:Var1,[(349,145)])
}
Add(Hub,13159679,574,322)
{
InCount=4
OutCount=1
link(onEvent1,12621925:doOperation,[])
}
Add(Hub,15929343,105,35)
{
link(onEvent1,11416857:doData,[])
link(onEvent2,12803965:doEvent2,[(126,48)(126,76)])
}
Add(DoData,11416857,140,35)
{
Data=Integer(0)
link(onEventData,2886541:doWork2,[])
}
Add(HubEx,2886541,833,35)
{
link(onEvent,1081633:onPosition,[])
}
Add(DateConvertor,5461464,350,406)
{
Mode=8
Format="dd.MM.yyyy"
Point(Data)
link(onResult,5372633:doConvert,[])
link(Data,10970425:Var1,[(356,383)])
}
Add(GetDataEx,3114304,784,266)
{
link(Data,14918047:Var2,[])
}
Add(DateConvertor,5372633,399,406)
{
Mode=9
Format="dd.MM.yyyy"
Point(Data)
link(onResult,3555773:doCompare,[])
}
Add(If_else,3555773,448,406)
{
Type=5
Op2=String()
link(onTrue,4864256:doEvent2,[])
link(onFalse,5717193:doFont,[])
}
Add(Font,5717193,532,413)
{
Font=[MS Sans Serif,8,0,255,1]
link(onFont,5794994:doEvent2,[])
}
Add(Font,2872068,581,406)
{
link(onFont,5794994:doEvent1,[])
}
Add(DoData,12076524,672,399)
{
link(onEventData,1081633:onGutRezult,[(844,405)(844,34)])
link(Data,10970425:Var2,[])
}
Add(Hub,4864256,504,399)
{
InCount=2
link(onEvent1,12076524:doData,[])
link(onEvent2,2872068:doFont,[])
}
Add(If_else,10146454,273,399)
{
Op2=String()
link(onTrue,4445699:doEvent1,[(313,405)(313,398)])
link(onFalse,5461464:doConvert,[])
link(Op1,11839973:Var1,[(279,124)])
}
Add(GetDataEx,11839973,294,119)
{
Angle=1
link(Data,7380689:Var1,[])
}
Add(Hub,5794994,637,406)
{
InCount=2
OutCount=1
link(onEvent1,1081633:onFont,[(852,412)(852,48)])
}
Add(GetDataEx,10970425,672,378)
{
link(Data,3114304:Var1,[(678,271)])
}
Add(Hub,4445699,322,392)
{
link(onEvent1,3467017:doWork3,[(760,398)])
link(onEvent2,4864256:doEvent1,[])
}
Add(HubEx,3467017,756,56)
{
link(onEvent,4424312:doClear,[])
}
END_SDK
Add(Button,16323730,175,133)
{
Left=15
Top=5
Width=80
Caption="Установить"
link(onClick,14108317:doData,[])
}
Add(Button,9220958,168,42)
{
Left=15
Top=30
Width=80
Caption="Очистить"
link(onClick,2339969:doReset,[(602,48)(602,139)])
}
Add(Label,14165998,749,133)
{
Left=280
Top=35
Width=56
Height=17
Caption="Результат"
}
Add(Edit,11830178,231,70)
{
Left=115
Top=5
Width=100
Text="01.06.1974"
}
Add(DoData,14108317,231,133)
{
link(onEventData,4435396:doEvent1,[])
link(Data,11830178:Text,[])
}
Add(StyleXP,6930373,84,119)
{
}
карма: 3

1
Голосовали:user_asm
Ответов: 952
Рейтинг: 4
#4: 2021-08-02 22:48:48 ЛС | профиль | цитата
sla8a, ваш вариант что-то не пошёл. Даже скачать не смог.
fox-video, уж очень мощная схема для моих скромных целей.
Спасибо. Буду думать...
карма: 0

0
Ответов: 2059
Рейтинг: 132
#5: 2021-08-03 02:53:14 ЛС | профиль | цитата
Add(MainForm,12279922,28,112)
{
Point(Close)
link(Close,3862894:GetData,[])
}
Add(BaloonToolTips,10396293,448,378)
{
Title="Заполните поле"
Mode=1
link(Handle,16035595:Var1,[(454,103)])
link(Text,1384011:Value,[])
link(Point,14729985:Point,[])
}
Add(Edit,14902304,469,14)
{
Left=235
Top=25
Width=115
Color=16777215
Font=[MS Sans Serif,8,0,255,1]
HintManager="456"
Text=""
Point(doHint)
Point(Handle)
link(onChange,11696294:In,[])
}
Add(PointXY,14729985,462,273)
{
X=1
Y=1
link(X,2184464:Result,[(468,247)(503,247)])
link(Y,1605717:Result,[(475,247)(552,247)])
}
Add(Hub,10801684,238,371)
{
OutCount=5
link(onEvent1,15950849:doWinInfo,[(307,377)(307,132)])
link(onEvent2,10396293:doCreate,[])
link(onEvent3,10396293:doShow,[(297,391)(297,398)])
link(onEvent4,10394238:doTimer,[(297,398)(297,391)])
link(onEvent5,8694945:doData,[(287,405)(287,433)])
}
Add(If_else,8982665,168,371)
{
Op2=String()
link(onTrue,10801684:doEvent1,[])
link(onFalse,6818519:doData,[(264,384)(264,482)])
link(Op1,14902304:Text,[(174,92)(475,92)])
}
Add(Memory,1384011,455,315)
{
Default=String(04.08.2021)
}
Add(WinInfo,15950849,476,126)
{
Point(Left)
Point(Top)
link(onWinInfo,2184464:doOperation,[(520,132)(520,156)(478,156)(478,195)])
link(Handle,16035595:Var2,[])
}
Add(Timer,10394238,322,385)
{
Interval=3000
Enable=1
AutoStop=1
link(onTimer,12558910:doWork2,[])
}
Add(HubEx,12558910,392,385)
{
link(onEvent,10396293:doDestroy,[])
}
Add(LineBreak,14099201,322,364)
{
link(Out,12558910:doWork1,[(396,370)])
Primary=[11696294,203,-350]
}
Add(Math,2184464,497,189)
{
Op2=20
link(onResult,1605717:doOperation,[])
link(Op1,15950849:Left,[(503,173)(496,173)])
}
Add(GetDataEx,16035595,476,98)
{
link(Data,14902304:Handle,[])
}
Add(Math,1605717,546,189)
{
Op2=10
link(Op1,15950849:Top,[(552,173)(503,173)])
}
Add(DatePicker,721072,282,14)
{
Left=10
Top=25
Width=130
Height=21
TabOrder=-1
Ctl3D=0
WinStyle=1
Hint="Открыть календарь"
Point(doWidth)
link(onChange,13420483:doConvert,[])
}
Add(EventFromData,3862894,28,63)
{
link(onEvent,8982665:doCompare,[(132,69)(132,377)])
}
Add(DoData,8694945,322,427)
{
Data=Integer(1)
link(onEventData,16603592:doWork3,[(366,433)])
}
Add(DoData,6818519,329,476)
{
Data=Integer(0)
link(onEventData,16603592:doWork2,[(362,482)(362,419)])
}
Add(HubEx,16603592,362,413)
{
Angle=3
link(onEvent,3862894:doData,[(366,251)(16,251)(16,69)])
}
Add(DateConvertor,13420483,378,14)
{
Mode=9
Format="dd.MM.yyyy"
link(onResult,14902304:doText,[])
}
+ вариации на правильность заполнения даты.

Редактировалось 1 раз(а), последний 2021-08-03 02:57:46
карма: 6

0
Ответов: 783
Рейтинг: 168
#6: 2021-08-03 05:21:31 ЛС | профиль | цитата
user_asm писал(а):
Собственно задача состоит в том, что бы поле календаря было пустым,

Не совсем пустое но, скорее всего, заставит пользователя выбрать дату.
Add(Font,1746955,322,126)
{
Font=[MS Sans Serif,10,0,255,1]
link(onFont,721072:doFont,[])
}
Add(DatePicker,721072,373,112)
{
Left=180
Top=90
Width=130
Height=21
Font=[Lucida Console,1,0,0,204]
TabOrder=-1
Ctl3D=0
WinStyle=1
Hint="Открыть календарь"
Point(doWidth)
Point(doFont)
Point(onMouseDown)
link(onMouseDown,3477619:doEvent1,[])
}
Add(MainForm,12279922,532,175)
{
Point(Close)
link(Close,5183850:Value,[])
}
Add(Memory,5183850,532,126)
{
Default=Integer(1)
}
Add(Hub,3477619,413,119)
{
link(onEvent1,1746955:doFont,[(445,125)(445,104)(305,104)(305,132)])
link(onEvent2,6734246:doData,[])
}
Add(DoData,6734246,469,126)
{
Data=Integer(0)
link(onEventData,5183850:doValue,[])
}


Редактировалось 2 раз(а), последний 2021-08-03 05:51:26
карма: 15

1
Голосовали:user_asm
Ответов: 263
Рейтинг: 18
#7: 2021-08-03 06:16:31 ЛС | профиль | цитата
Вариант попроще

Add(MainForm,6407720,105,161)
{
Width=565
}
Add(DatePicker,721072,413,224)
{
Left=115
Top=30
Width=130
Height=21
TabOrder=-1
Ctl3D=0
WinStyle=1
Hint="Открыть календарь"
Point(doWidth)
link(onChange,13420483:doConvert,[])
}
Add(Edit,261028,420,147)
{
Left=115
Top=30
Width=100
Height=21
Ctl3D=1
Hint="Ввод даты"
Text=""
MaxLenField=10
ClearAfterEnter=1
link(onChange,4261495:doWork2,[])
link(onEnter,4261495:doWork3,[(466,160)])
}
Add(HubEx,4261495,462,147)
{
link(onEvent,2339969:doInput,[])
}
Add(Hub,4435396,294,154)
{
InCount=3
link(onEvent1,261028:doText2,[])
link(onEvent2,7547933:doWork2,[])
}
Add(DateConvertor,12555827,343,161)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,721072:doSetDate,[(388,167)(388,230)])
}
Add(DateConvertor,13420483,455,224)
{
Mode=9
Format="dd.MM.yyyy"
link(onResult,6219271:doCompare,[])
}
Add(If_else,6219271,497,224)
{
Type=5
Op2=String()
link(onTrue,261028:doText,[(555,230)(555,137)(409,137)(409,153)])
}
Add(Hub,9285077,567,154)
{
link(onEvent1,14165998:doText,[])
link(onEvent2,7547933:doWork3,[(596,167)(596,265)(326,265)])
}
Add(HubEx,7547933,322,161)
{
link(onEvent,12555827:doConvert,[])
}
Add(MultiElementEx,2339969,497,147)
{
@Hint=#16:маска ввода даты|
link(onText2,4435396:doEvent1,[(541,153)(541,125)(283,125)(283,160)])
link(onGutRezult,9285077:doEvent1,[])
}
BEGIN_SDK
Add(EditMultiEx,1081633,14,21)
{
WorkCount=#7:doInput|
EventCount=#7:onText2|11:onGutRezult|
Width=643
Height=144
link(doInput,12803965:doEvent1,[(49,27)(49,55)])
}
Add(Hub,12803965,56,49)
{
link(onEvent1,233965:doClear,[])
link(onEvent2,1316364:doReplace,[])
}
Add(Str_Enum,4062207,175,56)
{
Delimiter=""
OnlyDivGroup=1
link(onEnum,14752671:doCompare,[])
link(onEndEnum,7720005:doData,[(226,69)(226,111)])
}
Add(StrMask,14752671,238,56)
{
Mask="#"
link(onFalse,9759799:doCompare,[])
link(onTrue,10947442:doEvent2,[(310,69)(310,76)])
}
Add(StrCat,233965,399,42)
{
Point(doClear)
link(Str1,14346636:Var1,[(405,30)(396,30)(396,89)])
}
Add(GetDataEx,3409719,560,112)
{
Angle=3
}
Add(DateConvertor,5461464,490,112)
{
Mode=8
Format="dd.MM.yyyy"
Point(Data)
link(onResult,5372633:doConvert,[])
}
Add(DateConvertor,5372633,539,112)
{
Mode=9
Format="dd.MM.yyyy"
Point(Data)
link(onResult,3555773:doCompare,[])
}
Add(If_else,3555773,588,112)
{
Type=5
Op2=String()
link(onTrue,1081633:onGutRezult,[(638,118)(638,34)])
}
Add(DoData,7720005,399,105)
{
link(onEventData,559931:doEvent1,[])
link(Data,14346636:Var2,[])
}
Add(Hub,559931,448,105)
{
link(onEvent1,1081633:onText2,[(560,111)(560,27)])
link(onEvent2,5461464:doConvert,[])
}
Add(Replace,1316364,119,56)
{
SubStr=","
DestStr="."
link(onReplace,4062207:doEnum,[])
}
Add(StrMask,9759799,287,56)
{
Mask="."
link(onTrue,10947442:doEvent1,[])
}
Add(Hub,10947442,350,63)
{
InCount=2
OutCount=1
link(onEvent1,233965:doStrCat,[(382,69)(382,48)])
}
Add(GetDataEx,14346636,399,84)
{
link(Data,233965:Result,[])
}
END_SDK
Add(Button,16323730,161,161)
{
Left=15
Top=5
Width=80
Caption="Установить"
link(onClick,14108317:doData,[])
}
Add(Button,9220958,161,210)
{
Left=15
Top=30
Width=80
Caption="Очистить"
link(onClick,4435396:doEvent3,[(267,216)(267,174)])
}
Add(Label,14165998,630,154)
{
Left=280
Top=35
Width=56
Height=17
Caption="Результат"
}
Add(Edit,11830178,217,98)
{
Left=115
Top=5
Width=100
Text="01.06.1974"
}
Add(DoData,14108317,217,161)
{
link(onEventData,4435396:doEvent2,[])
link(Data,11830178:Text,[])
}
Add(StyleXP,6930373,105,210)
{
}
карма: 3

0
Ответов: 5227
Рейтинг: 587
#8: 2021-08-03 19:43:15 ЛС | профиль | цитата
Вот просто интересно чем проще Наглядней для пользователя, а если это оператор, который такие данные (типа дата рождения, ФМИ, снилс и т.п) постоянно заносят с клавы
Восторга мало конечно будет когда вы мышинный интерфейс туда тащите.
fox-video, ну делал же, что не так там https://forum.hiasm.com/getfile/39233, куда уж проще
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 263
Рейтинг: 18
#9: 2021-08-03 20:15:45 ЛС | профиль | цитата
andrestudio писал(а):
ну делал же, что не так там

andrestudio, мы все видим ситуацию со своей точки зрения. Но! потребитель видит ее исключительно со своей, по этому и рождаются такие решения
user_asm писал(а):
уж очень мощная схема

Однако, в моем случае, заказчик более чем доволен
карма: 3

0
Ответов: 783
Рейтинг: 168
#10: 2021-08-03 20:37:21 ЛС | профиль | цитата
Почему-то все забыли.
user_asm писал(а):
И не дать закрыть форму, пока дата не выбрана


Add(DatePicker,721072,378,154)
{
@Group=65831600
Left=110
Top=55
Width=95
Height=21
Font=[MS Sans Serif,8,0,0,204]
TabOrder=-1
Ctl3D=0
WinStyle=1
Hint="Открыть календарь"
Point(doWidth)
Point(doFont)
Point(doBringToFront)
Point(DateTime)
Point(DateInt)
link(onChange,14719569:doEvent1,[])
}
Add(Edit,14406406,266,147)
{
@Group=65831600
Left=110
Top=55
Width=75
Font=[MS Sans Serif,8,0,0,204]
Text=""
link(onEnter,12555827:doConvert,[])
}
Add(MainForm,12279922,525,203)
{
Point(Close)
link(Close,5183850:Value,[])
}
Add(Memory,5183850,525,154)
{
Default=Integer(1)
}
Add(DoData,6734246,476,154)
{
Data=Integer(0)
link(onEventData,5183850:doValue,[])
}
Add(Hub,14719569,434,154)
{
link(onEvent1,6734246:doData,[])
link(onEvent2,721072:doBringToFront,[(459,167)(459,195)(368,195)(368,181)])
}
Add(DateConvertor,12555827,322,154)
{
Mode=8
Format="dd.MM.yyyy"
link(onResult,721072:doSetDate,[])
}

карма: 15

1
Голосовали:user_asm
Ответов: 263
Рейтинг: 18
#11: 2021-08-03 20:42:15 ЛС | профиль | цитата
Да, пожалуй по ТЗ ТС, самое верное решение.

Редактировалось 1 раз(а), последний 2021-08-03 20:43:59
карма: 3

0
Ответов: 952
Рейтинг: 4
#12: 2021-08-03 21:40:43 ЛС | профиль | цитата
Похоже,что из-за начальной кривости компонента, придется таки использовать связку Edit + DatePicker. Видимо это наиболее простой вариант.
карма: 0

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