Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Многострочные окна редактирования 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');

Поделиться:

Дата добавления: 2015-09-14; просмотров: 117; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты