Маска ввода
Простые и лаконичные маски ввода решают две важные задачи. Они позволяют не беспокоиться о вводе некоторых символов, таких как скобки и дефисы в номерах телефонов, а также гарантируют, что даже самый беззаботный пользователь не сможет разрушить вашу базу данных. Конечно, можно установить правила, написать процедуры и обучить персонал. Но совсем не обязательно, что каждый будет выполнять правила или обратит на них внимание при обучении.
Вот вам пример. По какой-то причине компании пришли к таинственному соглашению о нумерации запасов на складе (инвентарных номеров). И предположим, что ваша компания решила начинать каждый номер с букв АБ (инициалы жены хозяина компании), за которыми следуют пять цифр. Весьма вероятно, что однажды кто-нибудь забудет об этом правиле или просто допустит опечатку.
Если вам требуется правильный ввод данных, используйте маску ввода. Символы задания маски приведены в табл.2.1. Другие надо приводить буквально. Например, чтобы вывести на экран при вводе номера телефона круглые скобки и дефис, воспользуйтесь маской (999) 000-0000. Для инвентарных номеров используйте маску АБООООО. На экране будут видны буквы АБ, а пользователю останется добавить к ним лишь пять цифр. Хотите ввести значение, состоящее из 5 или 9 цифр, - воспользуйтесь маской 000009999.
Таблица 2.1.
Символы задания маски
0 |
Только цифры от 0 до 9, обязательно. |
9 |
Необязательно, цифра или пробел. |
# |
Цифра или пробел, включая знаки плюс и минус. |
L |
Буква, обязательно |
? |
Буква, необязательно |
A |
Буква или цифра, необязательно |
A |
Буква или цифра, необязательно. |
& |
Любой символ или пробел, обязательно. |
C |
Любой символ или пробел, необязательно. |
. |
Десятичный разделитель. |
( |
Используемые символы разделителей определяются настройками в окне Язык и стандарты панели управления Windows. |
, |
Разделитель групп разрядов. |
) |
Используемые символы разделителей определяются настройками в окне Язык и стандарты панели управления Windows. |
: ; - / |
Разделители времени и даты. Используемые символы разделителей определяются настройками в окне Язык и стандарты панели управления Windows. |
< |
Переводит все символы справа в нижний регистр (в строчные). |
> |
Переводит все символы справа в верхний регистр (в заглавные). |
! |
Символы будут выводиться справа на лево, а не наоборот; может использоваться, только когда символы слева являются необязательными. |
\ |
Показывает следующий символ, даже если он является символом маски ввода (\? выведет на экран &). |
Пароль |
Выводит на экран для каждого символа звездочку. |
Кроме того, маска может состоять из двух частей, разделенных точкой с запятой.
• Часть 1: По умолчанию на диске сохраняются только вводимые вами символы. Все отображаемые символы маски (такие, как круглые скобки и дефис в маске телефонного номера) видны на экране и при печати, но не сохраняются в таблице. И это хорошо, так как экономит место. Однако если вы поместите за маской число 0, как в маске (999) 000-0000,'0, то эти символы также будут сохранены. Для того чтобы указать режим работы по умолчанию, используйте 1.
• Часть 2: Вторая, необязательная, часть маски определяет, каким символом заполняются пустые позиции (символ шаблона). По умолчанию используется символ подчеркивания ( _ ), но можно назначить что-нибудь другое. Например, маска 00000-9999; 1;* выведет на экране в поле *****.****. Чтобы указать пробел, заключите его в кавычки (" ").