Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите сделать маску в MaskEdit.


Kolan ©   (2007-11-21 09:16:00) 

Что-то не получается сделать маску.

Маска нужна такая:

.

Например:
T90.
C00.1
J00.12


Пробовал такую:
'AAA.AA'

Но на значение
С00. оно ругается «Invalid input value».

Маска нужна, чтобы пользователю не надо было набирать «.», все проверки правильности данных делаются в другом месте.


{RASkov}   (2007-11-21 11:36:00) [1]

> [15] Leonid Troyanovsky ©   (21.11.07 11:30)

:) Угу..)


Leonid Troyanovsky   (2007-11-21 11:30:00) [2]


> {RASkov}   (21.11.07 11:02) [14]

> Т.е. потом слетает маска и пользователь уже не сможет ввести

Настоящий карнавал :)

--
Regards, LVT.


{RASkov}   (2007-11-21 11:02:00) [3]

> [12] Leonid Troyanovsky ©   (21.11.07 10:59)
> А в чем необходимость?

А попробуй :)

Именно
с маской

> > 'aaa\.aa;0; '

и

> MaskEdit.EditText := 'C00.'

:о)


{RASkov}   (2007-11-21 11:02:00) [4]

Т.е. потом слетает маска и пользователь уже не сможет ввести данные после точки....


Leonid Troyanovsky   (2007-11-21 10:59:00) [5]


> {RASkov}   (21.11.07 10:51) [11]

> В таком случае будет необходимо по полной маске текст присваивать.

А в чем необходимость?

--
Regards, LVT.


{RASkov}   (2007-11-21 10:51:00) [6]

> [10] Leonid Troyanovsky ©   (21.11.07 10:37)
> MaskEdit.EditText := 'C00.'

В таком случае будет необходимо по полной маске текст присваивать... т.е. так:
MaskEdit.EditText := 'C00.05' или MaskEdit.EditText := 'C00.  ' //два пробела после точки. )


Leonid Troyanovsky   (2007-11-21 10:37:00) [7]


> Kolan ©   (21.11.07 10:04) [7]

> Я присваиваю MaskEdit.Text := 'C00.'

MaskEdit.EditText := 'C00.'

--
Regards, LVT.


Kolan   (2007-11-21 10:36:00) [8]

Так и сделал, нормально — юлагодарю :)


{RASkov}   (2007-11-21 10:13:00) [9]

> [7] Kolan ©   (21.11.07 10:04)
> И при вставке получается две точки:
>
> Я присваиваю MaskEdit.Text := 'C00.' и получаю C00…

Вставляй программно без точки... т.е.:
MaskEdit.Text := 'C00';


Kolan   (2007-11-21 10:04:00) [10]

> 'aaa\.aa;0; '

Ага, так хорошо.

Только вот кроме пользователя в этот эдит еще вставляются данные программой. В программе они ессно с точкой.

И при вставке получается две точки:

Я присваиваю MaskEdit.Text := 'C00.' и получаю C00…


Leonid Troyanovsky   (2007-11-21 10:03:00) [11]


> Leonid Troyanovsky ©   (21.11.07 09:56) [5]

> 'aaa\.aa;0; '

Правильней, видимо, 'aaa\.aa;1; ',
а лишние пробелы удалять при проверке MaskEdit.Text

--
Regards, LVT.


Leonid Troyanovsky   (2007-11-21 09:56:00) [12]


> Kolan ©   (21.11.07 09:42) [2]

> К сожалению это международный формат кодов болезний…

А может это я зря наговариваю, возможно, что с "/" спутал.

> А можно ли убрать подчёркивание в эдите.

Можно выбрать любой character for blanks, хоть пробел,
просто "_" показывает где не введено.
'aaa\.aa;0; '

--
Regards, LVT.


Kolan   (2007-11-21 09:54:00) [13]

> Если я верно понял )

Пустой эдит выгдалит так:
___.__


> Замени на пробел… т.е. последний символ в маске «_» замени
> на «VK_SPACE»)

маска такая:
aaa.aa
что на что заменить?


{RASkov}   (2007-11-21 09:51:00) [14]

> [2] Kolan ©   (21.11.07 09:42)
> А можно ли убрать подчёркивание в эдите.

Замени на пробел... т.е. последний символ в маске "_" замени на "VK_SPACE")
Если я верно понял )


Kolan   (2007-11-21 09:42:00) [15]

> И еще — точка не очень удачный разделитель, может лучше

К сожалению это международный формат кодов болезний…

О, точно такая нужна:
aaa.aa

А можно ли убрать подчёркивание в эдите.


Leonid Troyanovsky   (2007-11-21 09:39:00) [16]


> Kolan ©   (21.11.07 09:16)  

> Пробовал такую:
> 'AAA.AA'

AAA.aa

И еще - точка не очень удачный разделитель, может лучше "-".

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо