Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Вниз

Сортировка компонентов в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-76916
Ольга
2003-04-03 20:11
2003.04.24
Работа с файлами.


1-76958
Gliser
2003-04-11 12:35
2003.04.24
Цветное Memo


3-76793
Ahmad K
2003-04-04 17:24
2003.04.24
Пороль на базы Paradox.


7-77178
Casperr
2003-03-05 09:53
2003.04.24
Порты


3-76836
Vovaka
2003-04-07 10:18
2003.04.24
BDE - ошибка Insufficient memory for this operation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский