100 компонентов общего назначения библиотеки Delphi5

Окно редактора масок с загруженными файлами стандартных масок: американским (а) и российским (6)

a)
b)

Кнопка Masks позволяет выбрать и загрузить какой-либо другой файл стандартных масок. К сожалению, среди файлов стандартных масок, поставляемых с Delphi, отсутствует маска, соответствующая российским стандартам. Но вы легко можете сами сделать себе такой файл стандартных масок. Он делается в обычном текстовом редакторе и должен сохраняться как «только текст» с расширением .dem. Чтобы редактор масок Delphi видел этот файл, его надо сохранить в каталоге Delphi BIN. Каждая строка файла состоит из трех частей, разделяемых символом вертикальной черты. Первая часть состоит из пояснительного текста, появляющегося в левой панели окна Sample Masks редактора масок. Вторая часть — пример, который появляется в правой панели окна Sample Masks редактора масок. А третья часть — сама маска. Например, я сделал себе файл с текстом, приведенным ниже, и сохранил его с именем ru.dem. Телефон | 5551212 | !000-00-00;0;_ Телефон с кодом страны | 0955551212 | !\(999\) 000-00-00;0;_ Почтовый индекс | 123456 | !000000;1;_ Паспорт| VII123456 | !L-LL 999999;0;_ Дата с указанием дня | 270694 | !99/99/00;1;_ Дата без указания дня | 0694 | !99/00;1;_ Время с секундами | 210515 | ! 90:00:00;1;_ Время без секунд | 1345 | !90:00;1;_

На Рисунок 3.6 б вы можете видеть его в работе, а на Рисунок 3.5 вы можете видеть ввод в окна с масками телефона и даты.

Рассмотрим примеры масок. В приведенном выше файле маска для ввода номера телефона имеет вид: !\(999\) 000-00-00;0;_ В этой маске символ 9 означает, что в соответствующей позиции может быть только цифра. Символ 0 означает, что в данной позиции должна быть цифра. Символ подчеркивания в конце маски будет заполнять пустые позиции. Таким образом, пользователю для ввода в окне будет отображен шаблон (см. Рисунок 3.5): (___)___-__-__

Поскольку второй раздел маски равен 0, то при чтении введенных пользователем значений свойства EditText и Text будут различаться. Свойство EditText для примера Рисунок 3.5 будет равно (095) 123-45-67, а свойство Text будет равно 0951234567. Если второй раздел маски сделать равным 1, то значения обоих свойств будут равны (095) 123-45-67.

Рассмотрим еще пример. Если с помощью EditMask надо ввести, например, целое число без знака, состоящее не более, чем из двух цифр, можно задать маску 99;0; . Если число обязательно должно быть двузначным, то маска должна иметь вид 00;0; .

Содержание раздела