![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Допустим, что у меня в переменной TList хранятся объекты пользовательского класса, содержащего поля string. Как мне, используя метод класса TlLst Sort, отсортировать объекты в алфавитном порядке и вывести их в ListBox? Я так понимаю в Sort передается функция, выполняющая сортировку, но какие параметры передать в эту функцию при ее описании? Вобщем нужен пример.
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
type TListSortCompare = function (Item1, Item2: Pointer): Integer;
Item1,Item2 - указатели (из TList.Items) Тебе нужно всего лишь определить эту функцию:
-------------------- |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Демо,
это из области "найди 10 отличий? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Да уж. Что-то я вчера торопился...
-------------------- |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
А как теперь добавить отсортированные объекты из TList'a в TListBox'ы? Проблема в том, что TList содержит объекты двух типов. И теперь, когда они перемешались, их надо добавить в соответствующие TListBox'ы
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
заведи у объектов свойство Тип (или просто is' ом проверяй) и в зависимости от него рассовывай
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
WERITAS, можно в свойство tag одних записать 1 другиих 2,
а потом проверять if TMyObject(Item1).tag = 1 then ... if TMyObject(Item1).tag = 2 then ... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
_hunter
Что-то я не могу разобраться с is'ом. Выдает ошибку: Operator not applicable to this type. Возможно, проблема в том, что я не зарегестрировал свои классы (не знаю где их регистрировать надо).
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
стоп. если TL -- TList как он может быть MyClass?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Там было TL[b]. Как мне к объектам, которые у меня в TL хранятся, получить доступ? К их полям?
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| Ryn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
надо TObject(TL[b]) is MyClass писать
|
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Ryn
А ничего, что у меня MyClass наследован от TComponent? Просто сделал как вы сказали и приложение аварийно закрывается, хотя компилится. Это сообщение отредактировал(а) WERITAS - 21.4.2006, 18:45 -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| Ryn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 21.4.2006 Репутация: нет Всего: нет |
какую ошибку выдает ?
напиши код где ты добавляешь компоненты в Tlist. к примеру:
Это сообщение отредактировал(а) Girder - 23.4.2006, 16:04 |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Ryn
Ошибка в том, что типы несовместимы. Я их попробовал привести оператором as и у меня это не получилось. Объект в TList я добавляю конструктором с параметрами этого класса (параметры конструктора берутся из Edit'ов) Даже разыменование объекта не помогло привести типы... Люди, помогите! Это сообщение отредактировал(а) WERITAS - 22.4.2006, 08:29 -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |