Справочник по компонентам Delphi. Часть 1
Страница 4. Класс TStringlist


 

Класс TStringlist

Этот класс объединяет в себе свойства TStrings и TList простейшим способом — указатель на объект и соответствующая строка объединяются в запись, ука­затель на которую хранится в списке. В классе переопределены многие вирту­альные методы TStrings: Add, Clear, Delete, Exchange, IndexOf, Insert; он явля­ется полностью функциональным и вы можете создавать экземпляры TStringList в своей программе для работы с наборами строк и объектов (помимо тех, которые уже есть в компонентах).

Кроме унаследованных от TStrings, определены дополнительно полезные ме­тоды и свойства:

function Find(const S: string; var Index: Integer): Boolean;

Метод ищет в наборе строку S и в случае успеха возвращает результат True, а в параметре Index — ее индекс.

property Sorted: Boolean;

Свойство — признак отсортированности элементов (сортировка осуществляется через посимвольное сравнение строк). Установка Sort := True вызывает процедуру сортировки, которую можно вызвать и явно при помощи метода:

procedure Sort;

Попытка добавить или вставить элемент в отсортированный список вызывает исклю­чительную ситуацию EListError; в этом случае до выполнения действия свойству Sorted нужно присвоить значение False.

property Duplicates: TDuplicates; TDuplicates = (duplgnore, dupAccept, dupError);

Свойство определяет, что происходит при попытке добавить в список дубликат уже имеющейся строки: duplgnore — добав­ление игнорируется (отклоняется); dupError — добавление приводит к созда­нию исключительной ситуации EListError; dupAccept — одинаковые строки разре­шены. В этом случае при поиске в неотсор­тированном списке не определено, которая из строк будет найдена первой.

property OnChange: TNotifyEvent; property OnChanging: TNotifyEvent;

Два свойства, предусмотренные для определения пользователем своей реакции на изменение данных. Событие OnChanging вызывается во многих рассмотренных выше методах до внесения первого изменения, OnChange — после последнего.

 
« Предыдущая статья   Следующая статья »