
- •Палитра компонент Объекты и компоненты
- •Компоненты ввода и отображения текстовой информации Отображение текста в надписях Компонент Label(метка)
- •Компонент StaticText(меткаcбордюром)
- •Компонент Panel (панель)
- •Окна редактирования Компонент Edit(окно редактирования)
- •Компонент MaskEdit (окно маскированного редактирования)
- •Компонент LabeledEdit (окно редактирования с привязанной к нему меткой)
- •Многострочные окна редактирования Компонент Memo (многострочное окно редактирования)
- •Компонент RichEdit(многострочное окно редактирования в форматеRtf)
- •Компоненты выбора из списков Компонент ListBox(окно списка)
- •Компонент ComboBox (редактируемый список)
Компонент MaskEdit (окно маскированного редактирования)
Страница Additional
Используется для форматирования данных или для ввода символов в соответствии с шаблоном.
Компонент аналогичен по своим свойствам компоненту TEdit, позволяя редактировать в окне однострочные тексты без возможности их выравнивания и переноса на следующую строку. Компонент отличается отTEditвозможностью задавать строку маски (свойствоEditMask), в каждой позиции которой записываются условные символы, буквы или цифры, кодирующие возможности записи в этих позициях определённых знаков, например, только цифр или только букв.
Маскированный ввод позволяет контролировать синтаксическую правильность ввода и сократить возможность ошибок.
Маска состоит из трех разделов, между которыми ставится точка с запятой (;). В первом разделе - шаблоне записываются специальным образом символы (см. приведенную ниже таблицу), которые можно вводить в каждой позиции, и символы, добавляемые самой маской; во втором разделе записывается 1 или 0 в зависимости от того, надо или нет, чтобы символы, добавляемые маской, включались в свойство Text компонента MaskEdit; в третьем разделе указывается символ, используемый для обозначения позиций, в которых еще не осуществлен ввод.
Специальные символы маски:
! Наличие символа "!" означает, что недостающие символы предваряются пробелами, а отсутствие символа "!" означает, что пробелы размещаются в конце.
> Символ ">" означает, что все последующие за ним символы должны вводиться в верхнем регистре, пока не кончится маска или пока не встретится символ "<".
< Символ "<" означает, что все последующие за ним символы должны вводиться в нижнем регистре, пока не кончится маска или пока не встретится символ ">".
<> Символы "<>" означают, что анализ регистра не производится.
\ Символ "\" означает, что следующий за ним символ является буквенным, а не специальным, характерным для маски. Например, символ ">" после символа "\" воспримется как знак >, а не как символ, указывающий на верхний регистр.
L Символ "L" означает, что в данной позиции должна быть буква.
l Символ "l" означает, что в данной позиции может быть только буква или ничего.
A Символ "A" означает, что в данной позиции должна быть буква или цифра.
a Символ "a" означает, что в данной позиции может быть буква, или цифра, или ничего.
C Символ "C" означает, что в данной позиции должен быть любой символ.
c Символ "c" означает, что в данной позиции может быть любой символ или ничего.
0 Символ "0" означает, что в данной позиции должна быть цифра.
9 Символ "9" означает, что в данной позиции может быть цифра или ничего.
# Символ "#" означает, что в данной позиции может быть цифра, знак "+", знак "-" или ничего.
: Символ ":" используется для разделения часов, минут и секунд.
/ Символ "/" используется для разделения месяцев, дней и годов в датах.
_ Символ "_" означает автоматическую вставку в текст пробела.
Примеры масок
Семизначный номер телефона: !000-00-00;0;_
Номер телефона с кодом страны: !\(999\) 000-00-00;0;_
Почтовый индекс: !0000000;1;_
Паспорт: !L-LL 999999;0;_
Дата с указанием дня: !99/99/00;1;_
Дата без указания дня: !99/00;1;_
Время с секундами: !90:00:00;1;_
Время без секунд: !90:00;1;_
Если с помощью EditMask надо ввести, например, целое число без знака, состоящее не более чем из двух цифр, можно задать маску “99;0; “ Если число обязательно должно быть двузначным, то маска должна иметь вид “00;0; “;
События
OnChangeНаступает, когда текст в окне, возможно, изменился
Методы
Основные методы такие же, как и у Tedit
procedure ValidateEdit; – Проверяет соответствие маске текста в окне. Если нет соответствия, генерируется исключение и курсор устанавливается на первую позицию, не соответствующую маске.