@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.
Правильно? или как лучше сделать?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы