TURBO PASCAL |
Новости
|
TPXPictureValidator
Объект TPXPictureValidator проверяет введенную пользователем строку на соответствие некоторому шаблону ввода. Шаблон ввода определяется с помощью специальных символов, подобно тому, как задается допустимый ввод в базе данных Paradox корпорации Borland. В шаблоне можно использовать следующие специальные символы:
Любой другой символ шаблона представляет сам себя, т.е. не является управляющим. Символ «;», предшествующий специальному символу, отменяет его специальное назначение. Чтобы в шаблон вставить собственно символ «;», его нужно удвоить. Перечисленные символы позволяют формировать шаблоны любой сложности. Например:
TFilterValidator
Этот объект проверяет все введенные пользователем символы на их принадлежность к набору допустимых символов. Если очередной вводимый символ не принадлежит эталонному множеству, он игнорируется и при наборе просто не появляется в строке ввода. Таким образом, объект TFilterValidator действительно фильтрует вводимую строку, удаляя из нее неправильные символы. Например, экземпляр объекта MyFilter := New(PFilterValidator,Init(['0'..'9'])) выбирает из ввода только цифры.
TRangeValidator
Объект TRangeValidator порожден от TFilterValidator. Он преобразует символьный ввод в целое число и проверяет, находится ли оно в диапазоне указанных значений Min...Max. Его метод IsValid вернет значение True только в том случае, когда, во-первых, пользователь введет правильное число, и, во-вторых, это число будет принадлежать нужному диапазону. Например, объект MyRange := New(PRangeValidator,Init(0,100)) позволяет вводить числа в диапазоне от 0 до 100 включительно.
TLookupValidator
Абстрактный объект TLookupValidator предназначен для контроля соответствия введенной пользователем строки набору эталонных строк. Фактически он модифицирует поведение базового объекта TValidator на случай, когда проверяется произвольная текстовая строка. В его потомках должен перекрываться метод Lookup, осуществляющий нужный контроль и возвращающий True только в том случае, когда подготовленная пользователем строка соответствует одному из желаемых значений. Например, с помощью объекта type TMyLookupValidator = object(TLookupValidator) Function Lookup(const S: String): Boolean; Virtual; end; Function TMyLookupValidator.Lookup; const Textl = 'Turbo'; Text2 = 'Pascal'; begin Lookup := (S=Textl) or (S=Text2) or (S=Textl+' '+Text2) end; можно потребовать от пользователя ввода только одной из трех возможных строк: Turbo, Pascal или Turbo Pascal.
TStringLookupValidator
Этот объект порожден от TLookupValidator и сравнивает введенную пользователем строку с набором допустимых строк, хранящихся в отсортированной коллекции. Чтобы объект осуществлял сравнение с нужным набором строк, он инициируется следующим образом: var MyCollection: PStringCollection; MyStrVal: PStringLookupValidator; begin {Создаем коллекцию строк} MyCollection := New(PStringCollection,Init(1,1)); {Наполняем коллекцию - размещаем строки в куче} MyCollection.Insert(NewStr('Турбо')); MyCollection.Insert(NewStr('Паскаль')) ; {Создаем объект-контролер} MyStrCol := New(PStringLookupValidator,Init(MyCollection)) end;
|
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |