![]() |
|
|||||||
![]() |
|
|
Опции темы |
|
|
#1 |
|
Пользователь
|
стуация такая
form1.Button1.Caption:='x'; form1.Button2.Caption:='x'; form1.Button3.Caption:='x'; form1.Button4.Caption:='x'; form1.Button5.Caption:='x'; как сделать что то вроде for i:=1 to 5 do form1.Button(i).Caption:='x'; |
|
|
|
|
|
#2 |
|
Старый брюзга
Заслуженный модератор
Регистрация: 22.11.2006
Адрес: Москва, Коньково
Сообщений: 8,851
Репутация: 2392
|
Самый прямой:
var i: integer; begin for i:=0 to Form1.ComponentCount-1 do begin if (Components[i] is TButton) then if ((Components[i] as TButton).Name='Button1') or ((Components[i] as TButton).Name='Button2') or ((Components[i] as TButton).Name='Button3') or ((Components[i] as TButton).Name='Button4') or ((Components[i] as TButton).Name='Button5') then (Components[i] as TButton).Caption:='x'; end; end;
__________________
Когда я вижу "памагити" в названии темы - я хватаюсь за пистолет... |
|
|
|
|
|
#3 |
|
Пользователь
Регистрация: 28.11.2006
Сообщений: 19
Репутация: 30
|
А вот и не так!
var i: integer; begin for i:=0 to Form1.ComponentCount-1 do begin if (Components[i] is TButton) then with Components[i] as TButton do Name := 'x'; end;
|
|
|
|
|
|
#4 |
|
Пользователь
|
если извесно, что всего 5 Button, их нумерация начинается с 1 до 5 позиции
for j:= 1 to 5 do (Form1.Components[j] as TButton).Caption:='x'; да кстати компилятор выдовал ошибку в варианте который представил mihali4 а так заработала. может это изза того что у меня делфи6??? var i: integer; begin for i:=0 to Form1.ComponentCount-1 do begin if (Form1.Components[i] is TButton) then if ((Form1.Components[i] as TButton).Name='Button1') or ((Form1.Components[i] as TButton).Name='Button2') or ((Form1.Components[i] as TButton).Name='Button3') or ((Form1.Components[i] as TButton).Name='Button4') or ((Form1.Components[i] as TButton).Name='Button5') then (Form1.Components[i] as TButton).Caption:='x'; end; end; |
|
|
|
|
|
#5 | ||
|
Старый брюзга
Заслуженный модератор
Регистрация: 22.11.2006
Адрес: Москва, Коньково
Сообщений: 8,851
Репутация: 2392
|
Цитата:
Не стоит горячиться... Цитата:
__________________
Когда я вижу "памагити" в названии темы - я хватаюсь за пистолет... |
||
|
|
|
|
|
#6 |
|
Владимир М.
Заслуженный модератор
|
for i:= 1 to 5 do
( Form1.FindComponent(Format('Button% d',[i])) as TButton).Caption:= '!'; Последний раз редактировалось Virtson; 02.12.2006 в 08:23. |
|
|
|
|
|
#7 |
|
Старый брюзга
Заслуженный модератор
Регистрация: 22.11.2006
Адрес: Москва, Коньково
Сообщений: 8,851
Репутация: 2392
|
То Virtson
Это все верно. А если кнопки в общем случае имеют абсолютно непохожие имена?
__________________
Когда я вижу "памагити" в названии темы - я хватаюсь за пистолет... |
|
|
|
|
|
#8 |
|
Пользователь
|
|
|
|
|
|
|
#9 | |
|
Регистрация: 04.12.2006
Сообщений: 8
Репутация: 10
|
Цитата:
возникает вопрос: а если этих элементов 100 и более тогда что? Создать процедуру? |
|
|
|
|
|
|
#10 |
|
Студент
Форумчанин
|
Так изменять-то вроде было надо Caption, а не Name... :D
__________________
Visita Interiorem Terrae Rectificando Operae Lapidem... |
|
|
|
![]() |
| Опции темы | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| автоматическое создание элементов подскажите пожалуйста. можно ли в Делфи организовать следующее: по зад | AniMEshKa | Помощь студентам | 4 | 19.04.2008 15:45 |
| Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |
| Подскажите как сделать цикл... | Apollo_13 | Общие вопросы Delphi | 4 | 26.06.2007 22:01 |
| 3-ой цикл | LeoN | Общие вопросы Delphi | 5 | 12.06.2007 14:15 |