Страница 2 из 39 Класс 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; возвращает указатель непосредственно на список указателен ((ко) означает, что свойство доступно только для чтения). |