Компонент delphi memo
var S: String;
begin
Memo1.Lines [3]: = 'Четверта рядок за рахунком';
S: = Memo1.Lines [3];
end;
- Add ()
- Insert ()
begin
Memo1.Lines.Add ( "Це буде останній рядок ');
Memo1.Lines.Insert (2. 'Цей рядок буде третій'); // Так як відлік йде від нуля!
end;
Delphi Memo має також метод для видалення рядка:
Memo1.Lines.Delete (i); // Видалення рядка з індексом i
Кількість рядків в компоненті Memo міститься у властивості Count:
Користуючись цим, наприклад пошук фрагмента 'Нужний_Текст' в рядках можна організувати так:
Memo1.Text: = 'Попередній текст' + # 13 + # 10 + 'Це вже новий рядок';
Delphi Memo має властивості для переміщення курсору і виділення тексту, такими ж, як і у компонента Delphi Edit.
- SelStart
- SelLenght
- SelText
- властивість SelStart типу Integer задає номер символу, після якого буде стояти курсор (відраховується від початку всього тексту);
- властивість SelLenght типу Integer визначає кількість виділених символів;
- властивість SelText типу String містить виділений текст.
Для того, щоб виділення тексту було помітно на екрані, небхідно, щоб компонент мав фокусом введення. Тобто, щоб раніше або користувач перемістив туди курсор, клавішею Tab або клацнувши мишкою, або був виконаний оператор Memo1.SetFocus.
Залишається питання, як визначити, де зараз знаходиться курсор, на якому рядку, і позицію в рядку. Ці параметри містяться у властивості CaretPos компонента Delphi Memo, яке має тип TPoint, тобто точка - запис з координатами X і Y:
Memo1.CaretPos.X // позиція курсора в рядку (на відміну від SelStart);
Memo1.CaretPos.Y // номер рядка де знаходиться курсор;