TMaskEdit - специальный редактор.

Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, TMaskEdit работает как обычный редактор TEdit. Свойство IsMasked: Boolean доступно только для чтения и содержит True, если строка шаблона задана. Свойство EditText: string содержит текст до наложения на него маски шаблона (т. е. то, что ввел пользователь), а свойство Text: String может (в зависимости от шаблона см. ниже) содержать либо исходный текст, либо результат наложения на него маски шаблона.
Шаблон состоит из трех частей, отделенных друг от друга символами “;”. Первая часть задает маску ввода, вторая - это символ “О” или “I”, определяющий, записывается ли в Text результат наложения маски или исходный текст (“О” - исходный текст). В третьей части указывается символ, который в окне редактора будет стоять в полях, предназначенных для ввода символов (текст в редакторе может содержать символы маски; например, для ввода семизначного номера телефона текст в начале ввода может выглядеть так: (095)ХХХ-ХХ-ХХ где доступные для ввода пользователя поля указаны символом “X” -последним символом в шаблоне).
Маска состоит из описателей полей ввода, специальных символов и литералов. Описатель указывает, какой именно символ может ввести пользователь в данное поле (описатель всегда описывает поле единичной длины, т. е. рассчитанное на ввод одного символа). Литерал вставляется в текст, показываемый в окне редактора, но при вводе курсор перескакивает через литерал и не дает пользователю возможности изменить его. Литералами считаются любые символы, кроме описателей полей и специальных символов, а также любой символ, которому предшествует символ “\”. Специальные символы формируют дополнительные указания редактору.
Описатели полей ввода представлены в следующей таблице:
Символ Поле...
|
L должно содержать букву
с может содержать любой символ
1 может содержать букву
0 должно содержать цифру
А должно содержать букву или цифру
9 может содержать цифру
а может содержать букву или цифру
# может содержать цифру, “+”, “-”
С должно содержать любой символ
|
Специальные символы:
|
|
Следующий символ - литерал. Позволяет вставить в маску литералы из символов описателей полей ввода и специальных символов
|
|
На это место вставляется символ-разделитель Windows для часов, минут, секунд
|
|
На это место вставляется символ-разделитель Windows для полей даты
|
|
Разделитель частей шаблона
|
|
Подавляет все ведущие пробелы
|
|
Все следующие за ним поля ввода преобразуют буквы к заглавным
|
|
Все следующие за ним поля ввода преобразуют буквы к строчным
|
|
Отменяет преобразование букв
|
Маска
|
|
Свойство EditText
|
|
(095)000-0000;0;х
|
|
123456
|
|
(095)0000000;1;х
|
|
7 12345
|
|
(095)\0\00-0000;1; .
|
|
1234567
|
|
Если не все требуемые поля ввода заполнены и компонент лишился фокуса ввода, возникает исключительная ситуация edbe-ditError, на экран выводится окно с сообщением и после закрытия окна курсор устанавливается к месту, где закончился правильный ввод.
Остальные свойства компонента повторяют соответствующие свойства TEdit. В частности, установка в свойство passwordchar любого символа, кроме #0, обеспечивает секретность ввода: в этом случае все вводимые в компоненте символы заменяются символом PasswordChar.
назад - Вперёд
|