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

Вниз

TList и свойства его Item ов   Найти похожие ветки 

 
Arch-vile   (2003-05-10 22:39) [0]

Уважаемые мастера! Я создал лист (назовем его List) и надцать объектов (кнопок, не суть важно). Назовем эти объекты B1..B25 Мне нужно поменять у этих объектов свойство (Caption). Так вот - List.items[i].caption:="hgfdgh" не работает.
Компилятору не нравится запись items[i].caption. Я его понимаю, лист - это просто массив указателей. Подскажите, как это обойти.
Да, и еще буду не против, если мне скажут, как по-человечески эти объекты всунуть в лист. Чтобы не писать
List.Add(B1);
List.Add(B2);
...
List.Add(B25);

Заранее благодарен.


 
Palladin   (2003-05-10 22:52) [1]

2 писАть именно так как ты написал
1 обращатся TButton(List[i]).Caption когда точно уверен что TButton
или (рекомендуется) (List[i] as TButton).Caption


 
Arch-vile   (2003-05-10 23:00) [2]

2Palladin
1 спасибо. я ТОЧНО уверен в типе. специфичность :Р
2 ето плохо


 
Anatoly Podgoretsky   (2003-05-10 23:05) [3]

Обрати внимание на TObjectList, от него можешь построить более специализированный список.


 
Юрий Зотов   (2003-05-10 23:06) [4]

А "всунуть по-человечески " можно так:

for i := 1 to 25 do List.Add(TButton.Create(Self));

И не нужны никакие "B". Кнопки созданы, ссылки на них хранятся в списке - что еще требуется для работы с ними? Больше ничего.


 
Palladin   (2003-05-10 23:06) [5]


> Arch-vile © (10.05.03 23:00)

чем интересно это вдруг плохо??


 
Palladin   (2003-05-10 23:10) [6]

хм, на эти имена переменных я не обратил внимание и посчитал что претензии идут к методу Add...


 
Arch-vile   (2003-05-10 23:11) [7]

2Зотов
А как потом, придется же некоторые параметры задавать, типа где размещение на форме, caption"ы
2Palladin
а чем хорошо?


 
Palladin   (2003-05-10 23:18) [8]


> Arch-vile © (10.05.03 23:11)

достаточно выделить всего лишь одну переменную

var
b:tbutton;


b:=TButton.Create(self);
//назначил свойства
List.Add(b);
после можно повторить
b:=TButton.Create(self);
//назначил свойства
List.Add(b);


 
Arch-vile   (2003-05-10 23:21) [9]

Извините за половину Arch-vile © (10.05.03 23:11), быстро топик обновляется.
>Palladin © (10.05.03 23:18)
До этого я и сам догадался :) но мне нужны РАЗНЫЕ свойства для КАЖДОЙ кнопки. и в листе они или нет, разницы - 0


 
Palladin   (2003-05-10 23:28) [10]


> Arch-vile © (10.05.03 23:21)

в любом случае даже одной переменной можно пренебречь (см Юрий Зотов © (10.05.03 23:06) ), и обращаться к свойствам
TButton(List[List.Count-1]).свойство

и вообще, что значит разные свойства, может разные значения свойств? давай сюда пример как ты бы хотел что бы это было!


 
Arch-vile   (2003-05-10 23:35) [11]

2Palladin
Left, Top, Width, Height, Caption - это свойства, или меня заглючило?
будет использоваться в очередной новой версии моих пятнашек :)


 
Юрий Зотов   (2003-05-10 23:37) [12]

> А как потом, придется же некоторые параметры задавать, типа
> где размещение на форме, caption"ы

А как Вы вообще собирались работать с этими кнопками? Через ссылки из списка, приводя их к TButton. Вот точно так же и здесь. Только индексация должно идти от нуля, а не от единицы.

for i := 0 to 24 do
with TButton(List[List.Add(TButton.Create(Self))]) do
begin
SetBounds(...);
Caption := "...";
Parent := ...
end;

И обратите внимание на Anatoly Podgoretsky © (10.05.03 23:05). Он прав.


 
Arch-vile   (2003-05-10 23:43) [13]

большое ДЯКУЮ :) возможно, топик закрыт. По крайней мере у меня вопросов по этой теме больше нет.



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

Форум: "Основная";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
1-70392
Vasiliy
2003-05-10 20:37
2003.05.22
Господа, подскажите как синхронизировать перерисовку Canvas


3-70179
Remis
2003-05-03 01:06
2003.05.22
Delete SQL


1-70220
www.softdor.narod.ru
2003-05-11 14:54
2003.05.22
Генератор паролей


6-70420
Vovaka
2003-03-24 15:01
2003.05.22
Как получить имя домена в DNS, зная IP-адрес


3-70089
Юлия
2003-05-04 13:51
2003.05.22
table1.emptytable





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