![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
![]() Цитата:
Класс 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; Упаковывает список, сдвигая элементы к началу на пустующие места. Наконец, если приведенных методов почему-либо недостаточно, то свойство property List: pPointerList; pPointerList = ^TPointerList; TPointerList = array[0..65520 div SizeOf(Pointer)] of Pointer; возвращает указатель непосредственно на список указателен ((ко) означает, что свойство доступно только для чтения). |
|
![]() |
![]() |
![]() |
#12 |
Ещё не
Форумчанин
Регистрация: 04.01.2010
Сообщений: 517
|
![]()
Спасибо всем кто откликнулся вот как я это сделал
Код:
Воображение важнее, чем знания. (Albert Einstein)
![]() |
![]() |
![]() |
![]() |
#14 | |
Ещё не
Форумчанин
Регистрация: 04.01.2010
Сообщений: 517
|
![]() Цитата:
А клас pointer я так понимаю всеобщий да?
Воображение важнее, чем знания. (Albert Einstein)
![]() |
|
![]() |
![]() |
![]() |
#16 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Вообще-то, господа корнеты, для менеджмента компонентов и контролов придуман TObjectList (наследник TList более приспособленный для обьектов).
Например одно из его преимуществ в том что удаляемый из него обьект не просто выбрасывается из списка, а к тому же вызывается его деструктор, что способствует благой очистки памяти от мусора, чего TList делать не умеет.
I'm learning to live...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование Self.Handle при создании и уничтожении компонента | spamer | Общие вопросы Delphi | 19 | 11.03.2010 00:51 |
Как узнать handle окна имея handle обного из его компонентов | SeRhy | Win Api | 2 | 18.10.2009 19:31 |
Как узнать HANDLE компонента который находится под курсором мыши | SeRhy | Общие вопросы Delphi | 7 | 04.02.2009 20:39 |
Как нажать на Button в чужом приложении зная его HANDLE | SeRhy | Win Api | 2 | 04.02.2009 13:43 |
Создание компонента, определить handle носителя. | Deight | Компоненты Delphi | 6 | 22.11.2008 09:45 |