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

Вниз

Как обоити в цикле несколько компанентов?   Найти похожие ветки 

 
student87   (2004-05-01 19:52) [0]

Есть на форме 84 Button"a. Задача состоит в том, чтобы обойти в цикле их все и сменить значения caption.


 
Palladin ©   (2004-05-01 20:02) [1]

TComponent.ComponentCount,TComponent.Components[],is/as,=,if then else

думаю достаточно...
ах да :) for to/downto do


 
student87   (2004-05-01 20:40) [2]

Удалено модератором


 
Palladin ©   (2004-05-01 21:01) [3]

Удалено модератором


 
Jack128 ©   (2004-05-01 21:22) [4]

Удалено модератором


 
Урод   (2004-05-01 21:40) [5]

Удалено модератором


 
Marser ©   (2004-05-01 21:44) [6]

Удалено модератором


 
Урод   (2004-05-01 21:49) [7]

Удалено модератором


 
Урод   (2004-05-01 23:24) [8]

Может это можно сделать по другому. В чем смысл задачи


 
European   (2004-05-01 23:35) [9]

Что-то вроде этого:

for i:= 1 to 84 do
begin
 TButton(FindComponent("Button" + IntToStr(i))).Caption:=IntToStr(i);
end;


 
MeF88 ©   (2004-05-02 06:33) [10]


> Задача состоит в том, чтобы обойти в цикле их все и сменить
> значения caption

А зачем так много??? (я понимаю, что праздники, но всё же...)

> for i:= 1 to 84 do
> begin
>  TButton(FindComponent("Button" + IntToStr(i))).Caption:=IntToStr(i);
> end;

А не быстрее ли сделать
for i:=1 to ComponentCount do begin
 if(Components[i].Name="Button"+IntToStr(i)) then begin
   TButton(Components[i]).Caption:=IntToStr(i);
 end;
end;


 
mfender ©   (2004-05-02 06:54) [11]


> А зачем так много??? (я понимаю, что праздники, но всё же...)

Очень тонкий ход: пока пользователь сидит и разбирается в пресловутых батонах, проходит как минимум минута. Он находит требующую нажатия кнопку, и в этот момент по таймеру меняются на них всех надписи :) Вот где замысел-то! А число "84" - чистой воды кабалистика. Это к нумерологам. Был тут один такой :)


 
student87   (2004-05-02 09:57) [12]

> European   (01.05.04 23:35) [9]
Спасибо, помог.


 
student87   (2004-05-02 10:01) [13]

Другой вопрос: нужно присвоить всем Button"ам примерно одинаковый обработчик нажатия, но передавать имя нажатой кнопки?


 
Юрий Зотов ©   (2004-05-02 10:13) [14]

> student87   (02.05.04 10:01) [13]

Параметр Sender в обработчике события - это тот объект, который возбудил событие. В Вашем случае - нажатая кнопка. Никакого имени передавать не надо.


 
student87   (2004-05-02 10:18) [15]

> Юрий Зотов ©   (02.05.04 10:13) [14]
спасибо за Sender.
Еще один ламерский вопрос: как присвоить один обработчик события многим объектам?


 
Юрий Зотов ©   (2004-05-02 10:36) [16]

1. Выделить на форме все эти объекты (мышкой, удерживая Shift).
2. В Object Inspector"е назначить общий обработчик.


 
Ihor Osov'yak ©   (2004-05-02 10:44) [17]

2 [15]

С помощью оператора присваивания. Если в рантайме. Можно и в цыкле..
Только я бы вместо использования анализа name компонента (см [9], [10]) посоветовал-бы использовать className, так как в общем случае name может быть любым. У меня, например, ни один буттон в своем имени не имеет подстроки "Button"

Испоользуя инспектор обьектов, если в дизайн-тайме. Для удобства можно использовать групповую отметку компонентов.

Зы. Блин, может наконец книги почитать, и тетю соображаловку на помощь позвать? Cорри, не удержался..  См.  http://delphimaster.net/view/15-1083382635/


 
Anatoly Podgoretsky ©   (2004-05-02 11:43) [18]

mfender ©   (02.05.04 06:54) [11]
Не кабалистика, клавиатура 83/84 клавиши.

student87   (02.05.04 10:18) [15]
Пора что ни будь почитать, при том не по Дельфи



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

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

Наверх





Память: 0.51 MB
Время: 0.044 c
6-1079982247
3APA3A
2004-03-22 22:04
2004.05.16
как сделать time-out на recvfrom?


9-1072875306
Tagir
2003-12-31 15:55
2004.05.16
Кто знает хорошие статьи о glscene.


3-1082103212
RavenD
2004-04-16 12:13
2004.05.16
Как поменять кодировку?


3-1082364962
Женя
2004-04-19 12:56
2004.05.16
ограничить кол-во строк результата запроса


7-1080732327
Fiend
2004-03-31 15:25
2004.05.16
Импорт функции из .exe





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