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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
3-70122
GAlex
2003-04-29 15:36
2003.05.22
Не пойму в чем косяк при создании временных таблиц


3-70106
romario
2003-04-29 10:20
2003.05.22
Как произвести обсчет?


1-70205
Knight
2003-05-07 23:00
2003.05.22
Печать с канвы на принтер


7-70546
Markoff
2003-03-25 09:51
2003.05.22
Как в w2k обратиться к порту 0х300?


1-70317
pathfinder
2003-05-06 04:45
2003.05.22
Как запустить файл справки?