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

Вниз

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

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

Наверх




Память: 0.5 MB
Время: 0.035 c
1-1083497810
XSteel
2004-05-02 15:36
2004.05.16
Динамические массивы в Delphi 1 и структуры > 65кил


14-1082889813
Nikolay M.
2004-04-25 14:43
2004.05.16
Крутится в голове песТня, а названия не помню :(


1-1082978090
Влад Сташневский
2004-04-26 15:14
2004.05.16
Double -> Integer


1-1083573849
Amid
2004-05-03 12:44
2004.05.16
Создать Функцию каторая ждала сообщение от Сервера


3-1082614692
jenya_d
2004-04-22 10:18
2004.05.16
Средства разработчика БД MS SQL 2000





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