КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Многострочные окна редактирования Memo и RichEditКомпонент Memoявляется окном редактированиямногострочного текста. Он так же, как и окно Edit, снабжены многими функциями, свойственными большинству редакторов. В них предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C — копирование выделенного текста в буфер обмена (команда Copy), Ctrl-X — вырезание выделенного текста в буфер (команда Cut), Ctrl-V — вставка текста из буфера в позицию курсора (команда Paste), Ctrl-Z — отмена последней команды редактирования.
В компоненте Memo формат (шрифт, его атрибуты, выравнивание) одинаков для всего текста и определяется свойством Font. Если вы сохраните в файле текст, введенный или отредактированный пользователем, то будет создан текстовый файл, содержащий только символы и не содержащий элементов форматирования. При последующем чтении этого файла в Memo формат будет определяться текущим состоянием свойства Font компонента Memo, а не тем, в каком формате ранее вводился текст. Имеется также компонент RichEdit работает с текстом в формате RTF (рис 5).Рис.5 Примеры компонентов Memo и RichEdit
Основное свойство окон Memo и RichEdit — Lines, содержащее текст окна в виде списка строк и имеющее тип TStrings. Начальное значение текста можно установить в процессе проектирования, нажав кнопку с многоточием около свойства Lines в окне Инспектора Объектов. Откроется окно редактирования списков строк, представленное на рис. 6.
Рис. 6 Окно редактирования списков строк
Можно редактировать или вводить текст непосредственно в этом окне, или нажать кнопку CodeEditor и работать в обычном окне Редактора Кода. Во время выполнения приложения можно заносить текст в окно редактирования с помощью методов свойства Lines. Этот тип широко используется в свойствах многих компонентов и его описание вы можете найти в во встроенной справке Delphi. Здесь коротко укажем только на его основные свойства и методы, используемые в свойстве Lines. Весь текст, представленный одной строкой типа String, внутри которой используются разделители типа символов возврата каретки и перевода строки, содержится в свойстве Text. Доступ к отдельной строке текста вы можете получить с помощью свойства Strings[Index: Integer]. Индексы, как и везде в Delphi, начинаются с 0. Например, Memo1.Lines.Strings[0] — это текст первой строки. Следует учесть, что если окно редактирования изменяется в размерах при работе с приложением и свойство WordWrap = true, то индексы строк будут изменяться при переносах строк, так что в этих случаях индекс мало о чем говорит. Дополнительные свойства свойства Lines (надо указывать Lines.свойство): Count - свойство только для чтения указывает число строк в тексте; Add или Append –методы для добавления новой строки в конец текста окна редактирования; LoadFromFile -метод для загрузки текста из файла; SaveToFile - метод сохранения текста в фале.
Для очистки текста в окне надо выполнить процедуру Clear. Этот метод относится к самому окну: Memo1.clear. Пусть, например, в приложении имеется окно редактирования Edit1, в котором пользователь вводит имя сотрудника, и есть кнопка, при щелчке на которой в окно Memo1 должна занестись шапка анкеты сотрудника. Обработчик щелчка на кнопке может иметь вид: Procedure TForm1.Button1Click((Sender: TObject);beginMemo1.Clear; // Очищаем весь текстMemo1.Lines.Add ('А Н К Е Т А'); // Добавляем строкуMemo1.Lines.Add('Сотрудник '+Edit1.Text) ;.Memo1.SetFocus;End;Загрузка в окно Memo1 текста из файла (например, хранящейся в файле характеристики сотрудника) может осуществляться командой: Memo1.Lines.LoadFromFile ('anketa.txt');Сохранение текста в файле может осуществляться командой Memo1.Lines.SaveToFile(' anketa.txt');
|