property CaseSensitive: Boolean;
включает или отключает режим поиска и сортировки с учетом регистра символов.
Помимо свойства strings, содержимое списка можно получить при помощи свойств
property Text: string;
и
property CommaText: string;
Они представляют все строки списка в виде одной строки. При этом в первом свойстве элементы списка разделены символами возврата каретки и переноса строки. Во втором свойстве строки заключены в двойные кавычки и разделены запятыми или пробелами. Так, для списка городов (Москва, Петербург, Одесса) свойство Text будет равно
Москва#$Р#$АПетербург#$Р#$АОдесса а (ЖЙСГЮ CommaText равно
"Москва", "Петербург", "Одесса".
Важно иметь в виду, что эти свойства доступны не только по чтению, но и по записи. Так что заполнить список вы сможете не только циклически, вызывая и используя методы Add или insert, но и одним-единственным Присвоением значения свойствам Text ИЛИ ComrnaTexL
Список может взаимодействовать с другими экземплярами класса TStringList.
Широко распространенный метод
procedure Assign (Source: TPersistent);
полностью переносит список Source в данный.
Метод
function Equals (Strings: TStrings): Boolean;
возвращает значение True, если элементы списка strings полностью совпадают с элементами данного списка.
Список можно загрузить из файла или потока. Для этого используются методы
procedure LoadFromFile(const FileName: string); И
procedure LoadFromStream(Stream: TStream) ; Сохранение списка выполняется методами
procedure SaveToFile (const FileName: string) ;
И
procedure SaveToStream(Stream: TStream) ;
Перед изменением списка вы можете получить управление, описав обработчик события
property CnChange: TNotifyEvent;
а после изменения
property OnChanging: TNotifyEvent;
На дискете, прилагаемой к этой книге, вы можете ознакомиться с примером ИШОЛЫОваРШЯ СПИСКОВ строк DemoStrings.
Список указателей
Для хранения списка указателей на размещенные в адресном пространстве структуры (объекты, динамические массивы, переменные) предназначен класс TList. Так же, как и список строк TStringList, список указателей обеспечивает эффективную работу с элементами списка.
Класс TList
Основой класса TList является список указателей. Сам список представляет собой динамический массив указателей, к которому можно обратиться через индексированное свойство
property Items [Index: Integer]: Pointer; Нумерация элементов начинается с нуля.
Прямой доступ к элементам массива возможен через свойство type
PPointerList = "TPointerList;
TPointerList = array[0..MaxListSize-1] of Pointer;
property List: PPointerList;
которое имеет атрибут "только для чтения".
Так как элементы списка являются указателями на некоторые структуры, прямое обращение к составным частям этих структур через свойство items невозможно. Как это можно сделать, рассказывается ниже в примере.
( Примечание J
В списке могут содержаться указатели на разнородные структуры. Не обяза-тельнохранить в списке только указатели на объекты или указатели на записи.
Реализованные в классе TList операции со списком обеспечивают потребности разработчика и совпадают с операциями списка строк.