Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Строка ввода с маской – TMaskEdit






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

 

property EditMask: TEditMask;

 

Структурно маска состоит из трех полей, разделенных точкой с запятой

(рис. 8.2). Обязательным для заполнения является только первое поле, в ко-

тором записывается непосредственно маска ввода. Допустимые символы

маски приведены в табл. 8.1. Особый интерес представляет символ наклон-

ной черты «\», назначение которого – оповестить Delphi о том, что следую-

щий за ним символ является литералом (символом оформления, отображае-

мым в строке ввода). В примере наклонная черта предшествует круглым

скобкам, в которые заключается телефонный код города, т. е. круглые скоб-

ки являются литералами. Второе (необязательное) поле маски способно принимать два значения: 0 или 1. В первом случае в свойство строки ввода Text символы-литералы не включаются, во втором в обработанный текст войдут все символы. Независимо от состояния второго поля шаблона в следующем свойстве компонента окажется полный вариант текста:

property EditText: string;

 

И наконец, третье поле маски включает единственный символ, называемый символом подстановки. До тех пор пока пользователь не введет весь текст, этот символ будет отображаться во всех пустых полях строки ввода.

Таблица 8.1. Символы маски

Символ Описание Символ Описание
! Подавление пробелов в тексте > Перевод в верхний регистр
< Перевод в нижний регистр < > Отмена перевода регистров
\ Следующий символ является литералом _ Пустое поле
L Обязательна буква   Может быть буква
A Обязательна буква или цифра a Может быть буква или цифра
C Обязателен любой символ c Может быть любой символ
  Обязательна цифра   Может быть цифра
# Может быть цифра, знак " +" или " -" : Разделитель часов, минут и секунд
/ Разделитель дней, месяцев, годов ; Разделитель полей в маске

 

Соответствие введенного текста маске ввода проверяет метод:

procedure ValidateEdit; virtual;

 

При ошибке ввода методом ValidateError() генерируется исключительная

ситуация EDBEditError. Как правило, нет необходимости использовать эту

процедуру в исходном коде, т. к. она автоматически вызывается Delphi, когда строка теряет фокус. Количество символов в свойстве Text возвратит функция:

 

function GetTextLen: Integer;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.