В некоторых случаях для ввода массива можно использовать компонент Memo. Компонент Memo позволяет вводить текст, состоящий из достаточно большого количества строк, поэтому его удобно использовать для ввода символьного массива. Компонент Memo добавляется в форму обычным образом. Значок компонента находится на вкладке Standard (Рисунок 19.3).
Рисунок 19.3 - Компонент Memo
В Таблица 19.2 перечислены некоторые свойства компонента Memo.
Таблица 19.2 - Свойства компонента Memo
Свойство | Определяет |
Name | Имя компонента. Используется в программе для доступа к свойствам компонента |
Text | Текст, находящийся в поле Memo. Рассматривается как единое целое |
Lines | Текст, находящийся в поле Memo. Рассматривается как совокупность строк. Доступ к строке осуществляется по номеру |
Lines.Count | Количество строк текста в поле Memo |
Left | Расстояние от левой границы поля до левой границы формы |
Top | Расстояние от верхней границы поля до верхней границы формы |
Height | Высоту поля |
Width | Ширину поля |
Font | Шрифт, используемый для отображения вводимого текста |
ParentFont | Признак наследования характеристик шрифта формы |
При использовании компонента Memo для ввода массива значение каждого элемента массива следует вводить в отдельной строке и после ввода каждого элемента массива нажимать клавишу <Enter>.
Получить доступ к находящейся в поле Memo строке текста можно при помощи свойства Lines, указав в квадратных скобках номер нужной строки (строки нумеруются с нуля).
Следующая программа, текст которой приведен в листинге 5, демонстрирует использование компонента Memo для ввода символьного массива.
Основной цикл процедуры ввода символьного массива из компонента Memo может выглядеть так:
for i:=l to SIZE do
a [ i ]:= Memol.Lines[i];
где:
· SIZE — именованная константа, определяющая размер массива;
· а — массив;
· Memol — имя Memo-компонента;
· Lines — свойство компонента Memo, представляющее собой массив, каждый элемент которого содержит одну строку находящегося в поле Memo текста.
Форма программы приведена на Рисунок 19.4 Помимо поля Memo она содержит командную кнопку (Buttonl), при щелчке на которой выполняется ввод значений элементов массива из поля Memo.
Рисунок 19.4 - Диалоговое окно приложения Ввод массива
Листинг 5. Ввод массива строк из компонента Memo
unit fr_memo_;