Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Иллюстрированный самоучитель по Delphi 6 / Часть III. Компоненты и программы / Использование компонентов общего назначения / Компоненты страницы Additional /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


TMaskEdit - специальный редактор - Программирование от RIN.RU
TMaskEdit - специальный редактор




Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, TMaskEdit работает как обычный редактор TEdit. Свойство IsMasked: Boolean доступно только для чтения и содержит True, если строка шаблона задана. Свойство EditText: string содержит текст до наложения на него маски шаблона (т. е. то, что ввел пользователь), а свойство Text: String может (в зависимости от шаблона см. ниже) содержать либо исходный текст, либо результат наложения на него маски шаблона.


Шаблон состоит из трех частей, отделенных друг от друга символами ";". Первая часть задает маску ввода, вторая - это символ "О" или "I", определяющий, записывается ли в Text результат наложения маски или исходный текст ("О" - исходный текст). В третьей части указывается символ, который в окне редактора будет стоять в полях, предназначенных для ввода символов (текст в редакторе может содержать символы маски; например, для ввода семизначного номера телефона текст в начале ввода может выглядеть так: (095)ХХХ-ХХ-ХХ где доступные для ввода пользователя поля указаны символом "X" -последним символом в шаблоне).


Маска состоит из описателей полей ввода, специальных символов и литералов. Описатель указывает, какой именно символ может ввести пользователь в данное поле (описатель всегда описывает поле единичной длины, т. е. рассчитанное на ввод одного символа). Литерал вставляется в текст, показываемый в окне редактора, но при вводе курсор перескакивает через литерал и не дает пользователю возможности изменить его. Литералами считаются любые символы, кроме описателей полей и специальных символов, а также любой символ, которому предшествует символ "\". Специальные символы формируют дополнительные указания редактору.


Описатели полей ввода представлены в следующей таблице:


Символ Поле...


    L должно содержать букву
    с может содержать любой символ
    1 может содержать букву
    0 должно содержать цифру
    А должно содержать букву или цифру
    9 может содержать цифру
    а может содержать букву или цифру
    # может содержать цифру, '+', '-'
    С должно содержать любой символ




Специальные символы:
\ Следующий символ - литерал. Позволяет вставить в маску литералы из символов описателей полей ввода и специальных символов
: На это место вставляется символ-разделитель Windows для часов, минут, секунд
/ На это место вставляется символ-разделитель Windows для полей даты
; Разделитель частей шаблона
! Подавляет все ведущие пробелы
> Все следующие за ним поля ввода преобразуют буквы к заглавным
< Все следующие за ним поля ввода преобразуют буквы к строчным
< > Отменяет преобразование букв



Примеры:


МаскаВид в редактореСвойство EditTextСвойство Text
(095)000-0000;0;х(095)ххх-хххх1234561234567
(095)0000000;1;х(095)ххх-хххх7 12345(095)1234567
(095)\0\00-0000;1; .(095)00.-....1234567(095)0012345



Если не все требуемые поля ввода заполнены и компонент лишился фокуса ввода, возникает исключительная ситуация edbe-ditError, на экран выводится окно с сообщением и после закрытия окна курсор устанавливается к месту, где закончился правильный ввод.


Остальные свойства компонента повторяют соответствующие свойства TEdit. В частности, установка в свойство passwordchar любого символа, кроме #0, обеспечивает секретность ввода: в этом случае все вводимые в компоненте символы заменяются символом PasswordChar.



 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь