Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компоненты ввода и отображения текстовой информ...doc
Скачиваний:
2
Добавлен:
04.05.2019
Размер:
213.5 Кб
Скачать

3 MaskEdit – форматированный ввод

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

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

(095) XXX-XX-XX

Здесь доступные для ввода пользователя места обозначены символом х — последним символом в шаблоне.

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

4 Memo – многострочное окно редактирования

Компоненты класса TMemo предназначены для ввода, редактирования и/или отображения достаточно длинного текста.

Текст хранится в свойстве Lines класса Tstrings и, таким образом, представляет собой пронумерованный набор строк (нумерация начинается с нуля).

Свойства BorderStyle, CanUndo, HideSelection, MaxLentgh, Modified, OnChange, Readonly, SelLength, SelStart и SelText аналогичны соответствующим свойствам класса TEdit.

Свойство wordwrap аналогично свойству TLabel.Wordwrap. Другие специфические свойства представлены в таблице.

Свойства компонента Mето

Свойство

Описание

property Lines: TStrings;

Содержит строки текста

TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth) ;

property ScrollBars: т TScrollStyle;

Определяет наличие в многострочном поле полос прокрутки1 ssNone – нет полос, ssHorizontal – есть горизонтальная полоса; ssVertical– есть вертикальная полоса; ssBoth – есть обе полосы

property Text: String;

Отображает содержимое свойства Lines в виде од­ной длинной стоки, в которой границы отдельных строк определяются символами EOL (CR+LF)

property WantReturns: Boolean;

Если содержит значение True, нажатие клавиши <Enter> вызывает переход на новую строку, в про­тивном случае – обрабатывается системой. Для пе­рехода на новую строку в этом случае следует на­жать клавиши <Ctrl>+<Enter>

property WantTabs: Boolean;

Если содержит значение True, нажатие клавиши <ТаЬ> вызывает ввод в текст символа табуляции, в противном случае – обрабатывается системой. Для ввода символа табуляции в этом случае следует на­жать клавиши <Ctrl>+<Tab>

Поскольку компонент является потомком класса TControl, он имеет также свойство Text, которое содержит отображаемый компонентом текст в виде одной длинной строки. В этой цепочке символов границы строк много­строчного текста выделяются символами с кодом #13#10 (признак eoln – конец строки) В отличие от этого, свойство Lines содержит пронумерован­ный список строк первая строка в этом списке имеет индекс 0, вторая – 1, а общее количество строк можно узнать с помощью метода Lines.Count.

Для загрузки в компонент текста из файла и для сохранения текста в файле удобно использовать методы LoadFromFile и SaveToFile класса Tstrings.

Литература: 1, с.41-52.

Контрольные вопросы:

1. Для чего предназначен компонент Edit, основные свойства компонента?

2. Для чего предназначен компонент Memo, основные свойства компонента?

3. Для чего предназначено свойство Lines компонента Memo?

4. Как переносить слова в строке с использованием компонента Label?

5. Из скольких частей состоит шаблон маски?