@Rphoenix

Цикл по элементам?

Здравствуйте!
Самостоятельно изучаю делфи. Вот такой вопрос. Допустим, у меня на форме 100 кнопок (N0..N99). Мне нужно их скрыть, кроме некоторых 5 (N98,N7,N3,N85,N12), т.е. form1.N26.Visible:=False - например.

Получается, мне нужен цикл for с 0 по 99. Где if [i] in (3,7...98), то form1.N26.Visible:=true, else form1.N[i].Visible:=False.
Правильно? или как лучше сделать?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Forxxx
Я бы посоветовал разобраться с is и as, и как выше сказали, использовать tag

for i := 0 to Form1.ComponentCount - 1 do
    if (Form1.Components[i] is TButton) then
      if (Form1.Components[i] as TButton).Tag in [1,2,3] then
        (Form1.Components[i] as TButton).Enabled := false;
Ответ написан
tsklab
@tsklab
Системный администратор, программист
Правильно?
Да. Хотя не понятно, как вы используете наименование и число цикла одновременно? Я бы для номера кнопки использовал свойство .tag.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
netPrint.ru Москва
от 130 000 до 170 000 руб.
Acme Crypto Corp Нижний Новгород
от 120 000 до 180 000 руб.
18 авг. 2018, в 11:06
10000 руб./за проект
18 авг. 2018, в 10:13
500 руб./в час
18 авг. 2018, в 09:13
13000 руб./за проект