Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Многострочный редактор и строки

Для работы с многострочным текстом используется компонент Memo, или многострочный редактор. Свойство WordWrap отвечает за автоматический перенос не умещающихся по ширине окна строк текста. А свойство Alignment отвечает за выравнивание текста по левому (taLeftJustify) или правому (taRightJustify) краям, или по центру (taCenter).

Для работы с множеством строк могут понадобиться полосы прокрутки. За их наличие и расположение отвечает свойство ScrollBars, которое может принимать одно за 4 значений: ssNone – без полос прокрутки (это значение принято по умолчанию), ssHorizontal – полоса для горизонтальной прокрутки, ssVertical – полоса для вертикальной прокрутки и ssBoth – с обеими полосами прокрутки.

Рассмотрим свойства, относящиеся собственно к текстовому содержимому многострочного редактора. Разумеется, у него есть свойство Text, через которое можно получить доступ к всему содержимому сразу. Но если вы поместите элемент Memo на форму и посмотрите на инспектор объекта, то не найдете в нем этого свойства. Дело в том, что оно не является опубликованным для класса TMemo, и доступно лишь программно. Зато у многострочного редактора имеется другое, более подходящее свойство – Lines, являющееся опубликованным.

Если в инспекторе объекта щелкнуть по кнопке с многоточием напротив этого свойства, то откроется окно редактирования, в котором можно ввести начальный текст.

В качестве типа данных для свойства Lines используется не строка, а специальный объект TStrings, являющийся классом, инкапсулирующем работу со строками, или, если быть точнее – со списками строк. С его помощью можно манипулировать содержимым многострочного редактора, рассматривая его как отдельные строки. Свойства класса TStrings приведены в таблице.

Свойство Тип данных Описание  
CommaText String Представляет весь список одной строкой, разделенной запятыми. При этом строки с пробелами заключаются в двойные кавычки  
Count Integer Указывает на количество строк в списке  
DelimitedText String Представляет весь список одной строкой в соответствии со значениями свойств Delimeter и QuoteChar  
Delimiter Char Определяет разделитель для свойства DelimitedText  
Names [Index: Integer]: string Представляет собой массив имен для строк формата имя-значение  
NameValueSeparator Char Определяет символ, по которому будут разделены имя и значение  
Objects [Index: Integer]: TObject Представляет собой массив объектов, ассоциированных со строками  
QuoteChar Char Определяет символ кавычек для свойства DelimitedText  
Strings [Index: Integer]: string Представляет список в качестве массива строк  
Text String Список строк одной строкой, включая символы «возврат каретки» и «новая строка»  
ValueFromIndex [Index: Integer]: string Представляет собой массив значений для строк формата имя-значение  
Values [const Name: string]: string Позволяет получить значение по его имени для строк формата имя-значение  

Что касается свойств, предназначенных для работы со списком как с единой строкой текста, то это, прежде всего, свойство Text, представляющее все содержимое списка в качестве одной строки. При этом в тех местах, где заканчиваются реальные строки списка, добавляются символы новой строки и возврата каретки (#10 и #13). Применительно к компоненту Memo, его собственное свойство Text содержит точно те же данные, что и Lines.Text.

Что касается методов класса TStrings, то среди них можно выделить Add, AddObject, AddStrings, Append, Assign, Clear, Delete, IndexOf, Insert, LoadFromFile и SaveToFile. Пожалуй, самыми интересными являются последние 2 метода, позволяющие без каких-либо дополнительных действий загрузить из файла или сохранить в файл сразу все содержимое текстового редактора.

Метод Параметры Описание
Add const S: string Добавляет новую строку к списку
AddObject const S: string; AObject: TObject Добавляет строку к списку и ассоциирует с ней объект
AddStrings Strings: TStrings Добавляет группу строк к списку
Append const S: string Добавляет строку к списку, но в отличие от Add не возвращает результат операции
Assign Source: TPersistent Присваивает строки, и, по возможности, объекты, из другого списка к данному
Clear - Удаляет все строки списка
CustomSort Compare: TStringListSortCompare Сортирует строки в списке используя правила, определенные в указанной функции
Delete Index: Integer Удаляет из списка строку с указанным индексом
Equals Strings: TStrings Сравнивает 2 списка и возвращает результат сравнения
Exchange Index1, Index2: Integer Меняет между собой расположение 2 строк в списке
Find const S: string; var Index: Integer Находит строку в отсортированном списке и возвращает ее индекс
IndexOf const S: string Аналогично Find, но подходит и для несортированных списков
IndexOfName const Name: string Возвращает индекс первого найденного совпадения имени для списков типа имя-значение
IndexOfObject AObject: TObject Возвращает индекс первой строки, ассоциированной с указанным объектом
Insert Index: Integer; const S: string Вставляет строку в указанную позицию списка
InsertObject Index: Integer; const S: string Вставляет строку и объект в указанную позицию
LoadFromFile const FileName: string Заполняет список строками текста из указанного текстового файла
Move CurIndex, NewIndex: Integer Перемещает строку в списке
SaveToFile const FileName: string Сохраняет строки списка в указанный файл
Sort - Производит сортировку строк списка
<== предыдущая лекция | следующая лекция ==>
Поля ввода текста | Панели и группы
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 494; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.