Обзор компонентов библиотеки C++Builder___________                149

найти в соответствующем разделе главы 15. Здесь коротко укажем только на его
основные свойства и методы, используемые в свойстве Lines.

Весь текст, представленный одной строкой типа String, внутри которой испо-
льзуются разделители типа символов возврата каретки и перевода строки, пред-
ставлен свойством Text.

Доступ к отдельной строке текста вы можете получить с помощью свойства
AnsiString Strings[int Index]. Индексы, как и везде в C++Builder, начинаются с 0.
Так что Memol->Lines->Strings[0] — это текст первой строки. Учтите, что если
окно редактирования изменяется в размерах при работе с приложением и свойство
Wordwrap = true, то индексы строк будут изменяться при переносах строк, так
что в этих случаях индекс мало о чем говорит.

Свойство только для чтения Count указывает число строк в тексте.

Для очистки текста в окне надо выполнить процедуру Clear. Этот метод отно-
сится к самому окну, а не к его свойству Lines.
|        Для занесения новой строки в конец текста окна редактирования можно вос-
\    пользоваться методами Add или Append свойства Lines. Для загрузки текста из
[    файла применяется метод LoadFromFile. Сохранение текста в файле осуществля-
ется методом SaveToFile.

Пусть, например, в вашем приложении имеется окно редактирования Editi, в
котором пользователь вводит имя сотрудника, и есть кнопка, при щелчке на кото-
рой в окно Memol должна занестись шапка характеристики этого сотрудника, по-
сле чего пользователь может заполнить текст характеристики.

Обработчик щелчка на кнопке может иметь вид:

Memol->Clear () ;

Memol->Lines->Add("X АРАКТЕРИСТИКА");

Memol->Lines->Add( "Сотрудник "+Editl->Text) ;

Memol->SetFocus() ;

В компоненте RichEdit тот же фрагмент может выглядеть иначе. Можно, на-
пример, строки «Характеристика» и «Сотрудник ...» выделить жирным шрифтом и
выровнять по центру, после чего вернуться к стилю по умолчанию. Код, выполня-
ющий подобные операции, может иметь вид:

RichEditl->Clear() ;

/* установка выравнивания по центру */
RichEditl->Paragraph->Alignnient = taCenter;

/* установка жирного шрифта */
RichEditl->SelAttributes->Style =
RichEditl->SelAttributes->Style « fsBold;

RichEditl->Lines->Add("X АРАКТЕРИСТИКА");

RichEditl->Lines->Add("Сотрудник "+Editl->Text);

/* восстановление атрибутов по умолчанию */
RichEditl->SelAttributes -> Assign(RichEditl->DefAttributes);

/* установка выравнивания по левому краю */
RichEditl->Paragraph->Aiignment = taLeftJustify;

RichEditl->SetFocus();

Загрузка в окно RichEditI текста из файла (например, хранящейся в файле
характеристики сотрудника) может осуществляться командой

RichEditl->Lines->LoadFromFile("text.rtf") ;

Сохранение текста в файле может осуществляться командой
RichEditl->Lines->SaveToFile("text.rtf") ;

Свойство SelStart компонентов Memo и RichEdit указывает позицию курсора
в тексте или начало выделенного пользователем текста. Свойство CaretPos указы-
вает на запись, поле Х которой содержит индекс символа в строке, перед которым
расположен курсор, а поле Y — индекс строки, в которой находится курсор. Таким