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


 

Класс TList

Класс TList — универсальный список. Он представляет собой массив нетипированных указателей и поэтому годится для хранения набора любых, в том числе разнотипных, данных и объектов. При добавлении/удалении в список данные не создаются и не уничтожаются — эта обязанность лежит на программисте. Приведем доступные ему методы и свойства класса:

property Items[Index: Integer]: Pointer;

Возвращает указатель на содержимое элемента списка с индексом Index. Это свойство является векторным свойством, принимаемым по умолчанию, и его имя можно при записи опускать (см. раздел "Свойства").

property Count: Integer;

Определяет число элементов в списке.

property Capacity: Integer;

Определяет максимальное число элементов в списке. Оно может изменяться как явно — пользователем, так и при добавлении элементов в список, в том случае, когда Count>=Capacity. Максимальная емкость списка — 16380 элементов.

Управляют списком следующие методы:

function Add(Item: Pointer): Integer;

Добавляет в конец списка элемент, который будет равен Item (т. е. указывать на те же данные).

function Remove(Item: Pointer): Integer;

Удаляет из списка элемент, который равен Item.

procedure Insert(Index: Integer; Item: Pointer) ;

Вставляет элемент, равный Item, перед элементом с индексом Index.

procedure Delete(Index: Integer);

Удаляет из списка элемент с индексом Index.

procedure Clear;

Очищает список, устанавливая величины Count и Capacity в 0.

procedure Exchange(Indexl, Index2: Integer);

Меняет местами элементы списка с индексами Indexl и Index2.

function Expand: TList;

При соблюдении равенства Count=Capacity расширяет список. При емкости списка менее пяти элементов, он по умолчанию расширяется на четыре элемента, при пяти-восьми — на восемь, более восьми — на шестнадцать.

function First: Pointer; function Last: Pointer;

Возвращают значения первого п последнего (с индек­сом Count-1) элементов списка соответственно.

function IndexOf(Item: Pointer): Integer;

Возвращает индекс элемента, равного Item.

procedure Move(CurIndex, Newlndex: Integer) ;

Перемещает элемент списка с положения Curlndex в положение Newlndex.

procedure Pack;

Упаковывает список, сдвигая элементы к началу на пустующие места.

Наконец, если приведенных методов почему-либо недостаточно, то свойство

(rc; property List: pPointerList;
pPointerList = ^TPointerList;
TPointerList = array[0..65520 div SizeOf(Pointer)] of Pointer;

возвращает указатель непосредственно на список указателен ((ко) означает, что свойство доступно только для чтения).

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