Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Сортировка компонентов в Components   Найти похожие ветки 

 
Deadlock   (2003-04-13 03:17) [0]

У меня есть объект типа TComponent, на нем выляются другие дочерние TComponent с моим свойством Х. Так вот мне их надо отсортировать.
Все бы было просто, но свойство Components ReadOnly и так просто свопить нельзя...че делать???

П.С. Т.Е. в Components мне нужно свопить адреса дочерних объектов, а не значения Х...


 
default ©   (2003-04-13 03:23) [1]

валятся на TComponent никто не может, он может лишь владеть другими компонентами(родителем быть он не может)
код свой напиши...


 
Deadlock   (2003-04-13 04:20) [2]

2 default: че-то я ниче не понимаю, объясни...


 
default ©   (2003-04-13 04:28) [3]

тогда объясни что ты понимаешь под "на нем выляются другие дочерние TComponent с моим свойством Х." !!
Код лучше приведи и всё станет ясно. Надеюсь...


 
Deadlock   (2003-04-13 06:29) [4]

Например

TCurve = Class(TComponent)
...........
End;

TPeak = Class(TComponent)
X : Single
.........
End;

Curve:=TComponent.Create(Form1);
Peak:=TPeak.Create(Curve,X);

Procedure Tpeak.Create(AOwner : TComponent;X : Single);
Begin
Inherited Create(AOwner);
Self.X:=X;
End;

Терь в Curve.Components будут пики, их надо сортить так как я описывал выше...


 
default ©   (2003-04-13 08:06) [5]

если глянуть исходники VCL то видно что умалчиваемое свойство-массив
Components индексируется через private свойство FComponents: TList;
все нужные методы спрятаны в private...можно описать свой класс в модуле
Classes тем самым ты получишь доступ к нужным методам(скрытым)
можно всё сделать используя InsertComponent и RemoveComonent но
что поменять позиции двух компонентов в компонентном массиве потребуется
большее число операции...выбирай...


 
Юрий Зотов ©   (2003-04-13 10:30) [6]

Используйте коллекцию и сортируйте ее, как хотите. См. раздел Hello, world на Королевстве.


 
Alex44   (2003-04-13 12:15) [7]

Mozhno skopirovat" ih vse vo vremennyj TList, ego otsortirovat",
i potom, v cycle, RemoveComponent (dlya vseh components) i InsertComponent (uzhe v poryadke temp. TList).



 
default ©   (2003-04-13 12:18) [8]

да хорошая идея


 
Deadlock   (2003-04-14 03:40) [9]

Всем пасиба, особенно Alexx44, его идея оказалась очень хорошей.
2 Ю.Зотов: Про коллекции слышал, пользовался, но сам никода не делал свои...посмотрю...
2 2efault: пасиба за внимание...



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
14-77091
SergeN
2003-04-07 10:10
2003.04.24
Алгоритмы


1-76905
Arch-vile
2003-04-11 23:00
2003.04.24
Процедура sleep


1-76953
Pitay
2003-04-12 17:56
2003.04.24
Создание компонент во время работы проложения


3-76858
off
2003-04-07 18:47
2003.04.24
Почему не обновляется ДБЕдит?


7-77192
dimkamai
2003-03-06 21:28
2003.04.24
Перехват переключения раскладки клавиатуры