Самоучитель по Delphi 7 для профессионалов


Класс TStringList - часть 4


Свойство только для чтения

property Count: Integer;

возвращает число элементов списка.

Так как основу списка составляет динамический массив, то для него в процессе работы должна выделяться память. При добавлении в список новой строки память для нее выделяется автоматически. Свойство

property Capacity: Integer;

определяет число строк, для которых выделена память. Вы можете самостоятельно управлять этим параметром, помня при этом, что значение Capacity всегда должно быть больше или равно значению Count.

Свойство

property Duplicates: TDuplicates;

определяет, можно ли добавлять в список повторные значения. 

Тип

type

TDuplicates = (duplgnore, dupAccept, dupError);

определяет реакцию списка на добавление повторного элемента: 

  •  dupignore —- запрещает добавление повторных элементов;
  •   dupAccept — разрешает добавление повторных элементов;
  •  dupError — запрещает добавление повторных элементов и генерирует исключительную ситуацию.

Класс TStringList немыслимо представить себе без возможностей сортировки. Если вас удовлетворит обычная сортировка, то для этого можно использовать свойство sorted (сортировка выполняется при значении True) или метод Sort. Под "обычной" имеется в виду сортировка по тексту строк с использованием функции Ansicomparestr (т. е. с учетом национальных символов, в порядке возрастания). Если вы хотите отсортировать список по другому критерию, к вашим услугам метод:

type

TStringListSortCompare = function(List: TStringList; Indexl, Index2: Integer): Integer;

 procedure CustomSort(Compare: TStringListSortCompare);

Чтобы отсортировать список, вы должны описать функцию сравнения двух элементов с индексами indexl и index2, которая должна возвращать следующие результаты:

  •  1 — если элемент с индексом indexl вы хотите поместить впереди элемента Index2;
  • 0 — если они равны;
  •  1 — если элемент с индексом indexl вы хотите поместить после элемента Index2.

Для описанного выше примера с объектом-городом нужны три процедуры:




Начало  Назад  Вперед