Главная страница
    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.008 c
11-76865
Kirill
2002-07-12 19:11
2003.04.24
ошибка с фонтом


9-76738
Shipilin Sergey
2002-11-22 21:18
2003.04.24
Создание стратегии!


7-77181
Frakt
2003-03-04 22:14
2003.04.24
ISA


3-76789
Weare
2003-04-04 13:34
2003.04.24
Сохранение всех изменений в таблице и их отмена.


1-77006
Лана Розанова
2003-04-14 07:35
2003.04.24
MSOffice





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский