TPXPictureValidator (модуль Validate)


TObject
 
Init
Done
Free
TValidator
Options
Status
Init
Load
IsInvalid
IsValidInput
Store
Transfer
Valid
TPXPictureValidator
Pic
Init
Load
Done
Error
IsValid
IsValidInput
Picture
Store

    Трафаретные объекты проверки допустимости сравнивают ввод пользователя с трафаретом (шаблоном) формата данных и определяют допустимость введенных данных. Трафареты совместимы с шаблонами реляционной базы данных Paradox фирмы Borland, используемыми для управления вводом данных. Полное описание спецификаторов трафарета см. в методе Picture объекта TPXPictureValidator.

Поля


Pic

     Pic: PString:

    Указатель на строку, содержащую трафарет, определяющий формат данных в соответствующей строке ввода. Конструктор Init устанавливает Pic в строку, переданную в качестве одного из параметров.

Методы


    Ниже описываются методы, определенные в данном объекте.

Init


     constructor Init(const APic: String; AutoFill: Boolean);

    Строит объект проверки допустимости по трафарету, вызывая сначала конструктор Init, наследуемый из TValidator, а затем выделяя копию APic в динамически распределяемой памяти и устанавливая на нее Pic. Затем, если AutoFill имеет значение True, устанавливает бит voFill в Options.

    См. также: TValidator.Init.

Load


     constructor Load(var S: TStream);

    Строит и загружает объект проверки допустимости по трафарету из потока S, вызывая сначала конструктор Load, наследуемый из TValidator, а затем считывая значение поля Pic, введенное в TPXPictureValidator.

    См. также: TValidator.Load.

Done


     destructor Done; virtual;

    Уничтожает строку, на которую указывает Pic, затем уничтожает объект проверки допустимости по трафарету, вызывая деструктор Done, наследуемый из TValidator.

Error


     procedure Error; virtual;

    Выполняет блок сообщения, указывая на ошибку в формате трафарета, и выводит строку, на которую указывает Pic.

ISValidInput


     function ISValidInput(var S: string; SupressFill: Boolean):
                           Boolean; virtual;

    Проверяет передаваемую в S строку, сравнивая ее с трафаретным форматом, заданным в Pic, и возвращает значение True, если Pic равно nil, или Picture не возвращает для S prError. В противном случае возвращается False. Параметр SupressFill переопределяет значение в voFill на время выполнения вызова IsValidInput.

    Так как S - это параметр-переменная, IsValidInput может модифицировать ее значение. Например, если SupressFill равно False, и установлено voFill, то вызов Picture возвращает на основе S заполненную строку, так что образ строки ввода автоматически отражает заданный в Pic формат.

    См. также: TPXPictureValidator.Picture.

IsInvalid


     function IsValid(const S: string): Boolean; virtual;

    Сравнивает переданную в S строку с шаблоном формата, заданным в Pic, и возвращает True, если Pic равно nil, или если Picture возвращает для S prComplete, указывая, что S для соответствия данному формату не требует дальнейшего ввода.

    См. также: TPCPictureValidator.Picture.

Picture


     function Picture(var Input: String): TPicResult; virtual;

    Форматирует переданную в Input строку в соответствии с форматом, заданным строкой трафарета, на которую указывает Pic. Если в строке трафарета имеется ошибка, или Input содержит данные, не помещающиеся в заданном трафарете, возвращает prError. Если Input может полностью удовлетворять заданному трафарету, возвращает prComplete. Если Input содержит данные, не полностью соответствующие заданному трафарету, возвращает prIncomplete.

    Символы, используемые для создания трафаретов формата, показаны в следующей таблице:

Символы трафарета формата. Таблица 21.26
Тип символаСимволОписание
Специальный # Воспринимается только цифра.
? Воспринимается только буква (без различия регистра).
& Воспринимается только буква (преобразуется в верхний регистр).
@ Воспринимается любой символ.
! Воспринимается любой символ (преобразуется в верхний регистр).
Соответствие ; Следующий символ воспринимается литерально.
* Счетчик повторения.
[] Параметр.
{} Группирование операций.
' Набор альтернатив.
Все прочие Воспринимаются литерально.

    См. также: тип TPicResult.

Store


     procedure Store(var S: TStream);

    Сохраняет объект проверки допустимости по трафарету в потоке S, вызывая сначала при записи строки, на которую указывает Pic, наследуемый из TValidator метод Store.