Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировака с помощью TObjectList [D7, XP]


Страницы:   1 2 3

Константин ©   (2010-03-05 11:12:00) 

Скажите пожалуйста возможно ли отсортировать TObjectList, используя метод объекта в роли TListSortCompare. Это нужно для того, чтобы отсортировать индексированные объекты, то есть фактически отсортировать индексы объектов, хранящиеся в TObjectList, а сами объекты оставить нетронутыми в хранилище, являющимся свойством класса, метод которого и хочу использовать для сортировки. В этом методе будут доступны объекты хранилища через их индексы.


Константин   (2010-03-12 13:03:00) [1]


> В D7 такого нет.

я так и предполагал. Спасибо.


Плохиш   (2010-03-12 13:00:00) [2]


> Например, в PHP есть оператор clone для этого...

В D7 такого нет.


Игорь Шевченко   (2010-03-12 12:59:00) [3]


> Но у меня уже другой вопрос, по копированию объектов, а
> не указателей!!


Другой вопрос - другая ветка


Константин   (2010-03-12 12:45:00) [4]


> Игорь Шевченко ©   (05.03.10 12:28) [15]
> > а как это написать
> Хранить во втором списке не индексы, а сами объекты. И не
> TObjectList, а TList

Но у меня уже другой вопрос, по копированию объектов, а не указателей!!


Игорь Шевченко   (2010-03-12 12:33:00) [5]

Константин   (12.03.10 12:18) [52]

в посте [15] было дано дао, все остальное - ненужный флуд


Плохиш   (2010-03-12 12:33:00) [6]


> а ляляля тут никому не надо.

Хм, судя по твоим постам, ты для этого ветку и завёл.


Константин   (2010-03-12 12:18:00) [7]


> Что сложного в копировании содержимого одного списка в другой
> ?
> Правда надо еще создать список, а потом еще  и прибить :
> )

Зачем флудить?  Есть конкретный вопрос, а ляляля тут никому не надо.


Amir   (2010-03-12 12:01:00) [8]

Что сложного в копировании содержимого одного списка в другой ?
Правда надо еще создать список, а потом еще  и прибить :)


Константин   (2010-03-12 11:55:00) [9]


> Насколько я понял, проблема в том, что пресловутые объекты
> должны обрабатываться не в том порядке, в котором были созданы,
>  а иначе (например для какой-нибудь печати или помещения
> в сетку для отображения).
> В этом случае уместно вообще не трогать тот самый Обжектлист,
>  а использовыть обычный ТЛист? куда копировать  содержимое
> Обжектлиста и в котором юзать стандартный метод сортировки,
>  перемещая внутри списка только УКАЗАТЕЛИ.
> По завершению программы (блока программы) сам ТЛист просто
> уничтожается. Объекты же будут уничтожены автоматически
> тем самым Обжектлистом (для чего он собственно и удобен)

я так и делаю...

> Мне не догнать...

Развивайтесь

> Создать еще один объект и скопировать в него все данные
> из искомого

А нет более простого метода? Например, в PHP есть оператор clone для этого...


Amir   (2010-03-12 11:48:00) [10]

Насколько я понял, проблема в том, что пресловутые объекты должны обрабатываться не в том порядке, в котором были созданы, а иначе (например для какой-нибудь печати или помещения в сетку для отображения).
В этом случае уместно вообще не трогать тот самый Обжектлист, а использовыть обычный ТЛист? куда копировать  содержимое Обжектлиста и в котором юзать стандартный метод сортировки, перемещая внутри списка только УКАЗАТЕЛИ.
По завершению программы (блока программы) сам ТЛист просто уничтожается. Объекты же будут уничтожены автоматически тем самым Обжектлистом (для чего он собственно и удобен)


Плохиш   (2010-03-12 11:47:00) [11]


> Константин   (12.03.10 11:11) [46]
>
>
> > TObjectList не содержит объектов!
>
> я знаю,  я думал, что можно в другом списке создать копии
> из первого, установив во втором указатели на них.

Какой полёт мысли... Мне не догнать...


яяя   (2010-03-12 11:40:00) [12]


> Скажите тогда пожалуйста как можно создать копию объекта?

Создать еще один объект и скопировать в него все данные из искомого


Константин   (2010-03-12 11:11:00) [13]


> TObjectList не содержит объектов!

я знаю,  я думал, что можно в другом списке создать копии из первого, установив во втором указатели на них. Ну может не так спросил.
Скажите тогда пожалуйста как можно создать копию объекта?


KSergey   (2010-03-12 10:36:00) [14]

> Юрий Зотов ©   (05.03.10 21:49) [37]
> Так я ничего и не понял...

Что характерно - люди что-то отвечают, причем автор вроде их даже понимает, явно идет диалог...
совсем негодный у меня телепатор :(


яяя   (2010-03-12 07:20:00) [15]

Объекты просто "висят" в вохдухе, как воздущный шар. А вот нитки, недающие ему улететь хранятся в списке. Который ты можешь сортировать или еще как извращяться


Германн   (2010-03-12 01:52:00) [16]

Нужно читать учебники.
Ещё лучше читать хелп.


Демо   (2010-03-12 01:30:00) [17]


> Константин   (12.03.10 01:28) [41]
> А не подскажите как скопировать объекты (не ссылки) из одного
> TObjectList в другой?


TObjectList не содержит объектов!


Константин   (2010-03-12 01:28:00) [18]

А не подскажите как скопировать объекты (не ссылки) из одного TObjectList в другой?


Демо   (2010-03-11 12:30:00) [19]


> Юрий Зотов ©   (05.03.10 21:49) [37]
> Так я ничего и не понял...


Действительно, автор так и не сформулировал, что же ему нужно.


> Константин   (11.03.10 12:09) [39]
> Кому интересно можно TListSortCompare вписать как подпроцедуру
> метода, тогда она будет как бы инкапсулирована в классе.
>


Да уж...


Константин   (2010-03-11 12:09:00) [20]

Кому интересно можно TListSortCompare вписать как подпроцедуру метода, тогда она будет как бы инкапсулирована в классе.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо