Извиняюсь за длительное отсутствие (2 недели), продолжаем и
заканчиваем тему.
Продолжение...
Мы рассмотрели основные отличия Memo и RichEdit. Теперь
остановимся на свойствах этих окон редактирования.
Свойства Alignment и Wordwrap имеют тот же смысл, что,
например, в метках, и определяют выравнивание текста и допустимость переноса
длинных строк. Установка свойства Readonly в true задает текст только для
чтения. Свойство MaxLength определяет максимальную
длину вводимого текста. Если MaxLength = 0, то длина текста не ограничена.
Свойства WantReturns и WantTab определяют допустимость ввода пользователем в
текст символов перевода строки и табуляции.
Свойство ScrollBars определяет наличие полос прокрутки
текста в окне. По умолчанию ScrollBars = ssNone, что означает их отсутствие.
Пользователь может в этом случае перемещаться по тексту только с помощью
курсора. Можно задать свойству ScrollBars значения ssHorizontal, ssVertical или
ssBoth, что будет соответственно означать наличие горизонтальной, вертикальной
или обеих полос прокрутки.
Основное свойство окон Memo и RichEdit — Lines, содержащее
текст окна в виде списка строк и имеющее тип TStrings. Начальное значение текста
можно установить в процессе проектирования, нажав кнопку с многоточием около
свойства Lines в окне Инспектора Объектов. Перед вами
откроется окно редактирования списков строк. Вы можете редактировать или вводить
текст непосредственно в этом окне, или нажать кнопку CodeEditor и работать в
обычном окне Редактора Кода. В этом случае, завершив работу с текстом, выберите
из контекстного меню, всплывающего при щелчке правой кнопкой мыши, команду
Close Раgе и ответьте
утвердительно на вопрос, хотите ли вы сохранить текст в соответствующем свойстве
окна редактирования.
Во время выполнения приложения вы можете заносить текст в
окно редактирования с помощью методов свойства Lines типа TStrings. Этот тип
широко используется в свойствах многих компонентов. Здесь коротко укажем только
на его основные свойства и методы, используемые в свойстве Lines.
Весь текст, представленный одной строкой типа String,
внутри которой используются разделители типа символов возврата каретки и
перевода строки, содержится в свойстве Text.
Доступ к отдельной строке текста вы можете получить с
помощью свойства Strings[Index: Integer]. Индексы, как и везде в Delphi,
начинаются с 0. Так что Memol.Lines.Strings[O] — это текст первой строки.
Учтите, что если окно редактирования изменяется в размерах при работе с
приложением и свойство WordWrap = true, то индексы
строк будут изменяться при переносах строк, так что в этих случаях индекс мало о
чем говорит.
Свойство только для чтения Count указывает число строк в
тексте. Для очистки текста в окне надо выполнить процедуру Clear. Этот метод
относится к самому окну, а не к его свойству Lines.
Для занесения новой строки в конец текста окна
редактирования можно воспользоваться методами Add или Append свойства Lines. Для
загрузки текста из файла применяется метод LoadFromFile. Сохранение текста в
файле осуществляется методом SaveToFile.
Пусть, например, в вашем приложении имеется окно
редактирования Edit1, в котором пользователь вводит
имя сотрудника, и есть кнопка, при щелчке на которой в окно Memol должна
занестись шапка характеристики этого сотрудника, после чего пользователь может
заполнить текст характеристики.
Обработчик щелчка на кнопке может иметь вид:
Memo1.Clear;
Memo1.Lines.Add(‘XАРАКТЕРИСТИКА’);
Memo1.Lines.Add('Сотрудник
'+Edit1.Text);
Memo1.SetFocus;
Загрузка в окно Memol текста из файла (например, хранящейся
в файле характеристики сотрудника) может осуществляться командой
Memo1.Lines.LoadFromFile('text.txt');
Сохранение текста в файле может осуществляться командой
Memo1.Lines.SaveToFile('text.txt');
Свойство SelStart компонентов Memo и RichEdit указывает
позицию курсора в тексте или начало выделенного пользователем текста. Свойство
CaretPos указывает на запись, поле X которой содержит индекс символа в строке,
перед которым расположен курсор, а поле Y — индекс строки, в которой находится
курсор (встроенная справка Delphi утверждает другое — что свойство CaretPos
содержит координаты курсора в пикселах, но, к счастью, это не так). Таким
образом, учитывая, что индексы начинаются с 0, значения Memo1.CaretPos.Y+1 и
Memo1.CaretPos.X+1 определяют соответственно номер
строки и символа в ней, перед которым расположен курсор.
Размещение рекламы на сайте или в рассылке в виде текста, более
4000 подписчиков. antonxp2004@hotmail.com
www.hostingsystem.ru
-
качественный хостинг без простоев, хостинг для компаний,
круглосуточная поддержка по телефону, e-mail, а также из
личной панели управления пользователя, неограниченный трафик.
Сайт
рассылки
http://mydelphi7.narod.ru,
на котором есть архив рассылки, также гостевая книга, переводчик.
Копировать, размещать, продавать представленную информацию
запрещается.