Компонентът Memo има редица свойства, типични за визуалните компоненти.

Компонентът Memo има редица свойства, характерни за визуалните компоненти - раздел Компютърни науки, Лекция № 25 Компонент Memo (клас Tmemo).

Компонент Memo (клас TMemo).

Пиктограма: .

КомпонентътMemo има редица свойства, типични за визуалните компоненти.

Компонентът Memo също има свойстватаШрифт, Само за четене, Височина, Ширина, Отляво, Отгоре. Значението на тези свойства е същото като това накомпонента Редактиране.

За разлика от компонентаEdit, компонентътMemo може да съдържа няколко реда, които се определят или от свойствотоText, или от свойствотоLines. СвойствотоText се използва за достъп до цялото съдържание на компонентаMemo. Например, за да въведете знаци в компонент, можете да включите следния оператор за присвояване в цикъла:

Memo1.Text := Memo1.Text + S;

където S е низова променлива. СвойствотоLines се използва за достъп ред по ред.

СвойствотоLines от своя страна е обект от класаTStrings, така че когато работите с обектаMemo, можете да използвате методите, налични в класаTStrings.

5.12.6. Свойства и методи на класа Tstrings.

LoadFromFile ('path') – (зареждане от файл), където 'path' е пътят до файла.

Например, за да заредите файлаc:My.txt в компонента Memo1, е достатъчно да включите инструкцията в съответния манипулатор на събития:

Броят на редовете в компонента може да бъде намерен чрез свойството Count:

Отделен низ може да бъде достъпен с помощта на метода Strings[n]( classTstrings), където n е номерът на низа (номерирането започва от 0). Например:

ShowMessage(Memo1.Lines.Strings[0]); // Показва първия ред текст в диалоговия прозорец.

Изчисти - премахвасъдържание на компоненти, например

Бележка1.Редове.Изчистване.

Добавяне (добавяне) - добавя ред, напр.

Бележка1.Редове.Добавяне(St); където St е низова константа или променлива.

Insert(n,St) вмъква низ St на мястото на низ номер n, където St е константа или променлива на низ, например,

Delete(n) Изтриване на ред номер n, например,

Memo1.Lines.Delete(0); // премахва първия ред

Когато използвате процедурата за изтриване на низDelete, не забравяйте първо да проверите компонентаTMemo за всички низове. Проверката може да се извърши с помощта на функциятаCount, която връща броя на редовете. Програмната работа с избрания текст е подобна на ръчната работа на потребителя. Ако потребителят избере да изреже избрания текст в клипборда или да го изтрие, той ще изчезне. Изборът на текст се извършва чрез две процедури.

Memo1.SelStart:=0; // задаване на начална позиция за избор Memo1.SelLength:=15; // задаваме дължината на избрания текст

Ако искате винаги да виждате избрания текст, дори когато контролата се промени на друга контрола, задайте свойството HideSelection на false. Работа с селекция от текст

Memo1.ClearSelection; // изтриване на избран текст Memo1.CutToClipboard; // изрязване в клипборда Memo1.CopyToClipboard; // копиране в клипборда Memo1.PasteFromClipboard; // поставяне от клипборда Memo1.SelText; // тази функция връща текстовия низ на избрания текст

Отмяната на последната промяна е процедурата Memo1.Undo.

Забележка. Компонентът Memo може да се използва за показване на масив от числа на екрана. Ако въвеждате числа в Memo с помощта на оператора

Бележка1.Текст :=Бележка1.Текст+S;

тогава при формирането на таблицата трябва точно да зададете ширината на полето (свойството Width). Ако използвате добавяне на редове (метод Add), например така

където Sx и Sy са символни представяния на числа,

тогава ширината на полето няма значение - всеки ред в този случай ще съдържа две числа.

Пример: изведете масиви от числа в Memo.

Нека е необходимо да се изчисли таблицата със стойностите на функцията (например y=x*x). Като първоначални данни ще зададем стойностите Xn, Dx и N - съответно началната стойност на аргумента, стъпката и броя на стойностите на функцията. Стойностите на аргумента и функцията ще бъдат въведени съответно в масивите XA и Y. Да изберем размер на масивите, равен на 50 елемента. Ще изведем масиви към компонента Memo.

Така формата трябва да съдържа компонент Memo, полета Edit за въвеждане на Xn, Dx, N стойности и два бутона: "Таблица" и "Затваряне". Когато щракнете върху бутона "Таблица", масивът от стойности на функцията Y = X * X се изчислява и таблицата (стойности X и Y) се показва в компонента Memo. Щракването върху бутона "Затвори" затваря приложението. Дизайнът на формуляра е показан на фигура 5.25.1.

редица

1. Кликнете върху иконата Memo и начертайте правоъгълник върху формуляра.

2. В инспектора на обекти отворете свойството Lines на компонента Memo и изтрийте присъстващия там текст (той може да бъде изтрит и чрез метода Clear).

3. За да покажете таблица с две колони, задайте ширината на компонента Memo на 220 пиксела. Нека таблицата съдържа до 50 реда, тоест не се вписва в полето на компонента Memo. В този случай е необходимо да се осигури вертикална лента за превъртане. За да направите това, задайте свойството ScrollBar на ssVertical.

4. Създайте, както преди, бутон с надпис „Таблица“ (за изчисляване на таблицата със стойности на функциите) и бутон снадписа "Close" (за затваряне на приложението).

Добавете към модула на формуляра:

а) към секцията за деклариране на променливи

XA,Y : масив [1..50] от разширени;

b) добавете следното към манипулатора на бутона "Таблица":

процедура TForm1.Button1Click(Подател: TObject);