![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите сделать маску в 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.