К содержанию

Компонент Memo

В некоторых случаях для ввода (вывода)  элементов массива можно использовать компонент Memo. Компонент Memo позволяет вводить текст, состоящий из достаточно большого количества строк, поэтому его удобно использовать для ввода символьного массива. Значок компонента находится на вкладке Standard.

В таблице перечислены некоторые свойства компонента Memo.

Свойство

Определяет

Name Имя компонента. Используется в программе для доступа к свойствам компонента
Text Текст, находящийся в поле Memo. Рассматривается как единое целое
Lines Текст, находящийся в поле Memo. Рассматривается как совокупность строк. Доступ к строке осуществляется по номеру
Lines .Count Количество строк текста в поле Memo
Left Расстояние от левой границы поля до левой границы формы
Top Расстояние от верхней границы поля до верхней границы формы
Height Высоту поля
Width Ширину поля
Font Шрифт, используемый для отображения вводимого текста
ParentFont Признак наследования свойств шрифта родительской формы

При использовании компонента Memo для ввода массива значение каждого элемента массива следует вводить в отдельной строке и после ввода каждого элемента массива нажимать клавишу Enter.

Получить доступ к находящейся в поле Memo строке текста можно при помощи свойства Lines, указав в квадратных скобках номер нужной строки (строки нумеруются с нуля).

Основной цикл процедуры ввода символьного массива из компонента Memo может выглядеть так:

for i:=l to SIZE do

a [ i ]:= Memol.Lines[i];

SIZE – именованная константа, определяющая размер массива;

а – массив;

Memo1 – имя Memo-компонента;

Lines – свойство компонента Memo, представляющее собой массив, каждый элемент которого содержит одну строку находящегося в поле Memo текста.

Пример:
procedure TForml .ButtonlClick(Sender: TObject);
const
SIZE=5;
var
a:array[l..SIZE]of string[30];
n: integer;
i:integer;
st:string;
begin
n:=Memo1.Lines.Count;
if n = 0 then begin
ShowMessage(‘Исходные данные не введены!’);
Exit;
end;
if n > SIZE then begin
ShowMessage(‘Количество строк превышает размер массива.’);
n:=SIZE;
end;
for i:=1 to n do
a[i]:=Form1.Memol.Lines[i-1];
if n > 0 then begin
st:=’Введенный массив:’+#13;
for i: =1 to n do
st:=st+IntToStr(i)+’ ‘+ a[i]+f13; ShowMessage(st);
end;
end;
Добавить комментарий

Частые вопросы

Можно ли считать рейтинг на Языки программирования Pascal и Delphi рекламой?

Нет, это справочная подборка. Партнёрские ссылки, если они есть, не заменяют проверку оферты, лицензий и отзывов на стороне сервиса.

Чем страница «Компонент Memo» отличается от главной Языки программирования Pascal и Delphi?

Это отдельная карточка или рубрика, а не дубль главной. Канонический адрес — текущий URL без www и с https.

Стоит ли покупать «Компонент Memo» только по этому тексту?

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

Где смотреть источники и контакты редакции Языки программирования Pascal и Delphi?

Автор указан в карточке страницы. Служебные разделы — «О проекте», «Контакты» и политика конфиденциальности — в подвале сайта.