|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.01.2023, 15:03 | #1 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
Отключить все компоненты на Panel
Здравствуйте,
Не могу понять где ошибся, подскажите где, есть панель, хотел отключить все компоненты на панели, на панели есть GroupBox, соответственно в них тоже нужно отключить компоненты. В чём собственно ошибка, цикл проходит 1 раз и всё. Если второй цикл удалить, то цикл работает правильно. Код:
Заранее спасибо за любую помощь. P.S. ранее я это делал, но сейчас где то допустил ошибку. Последний раз редактировалось cybernewbie; 26.01.2023 в 16:01. |
26.01.2023, 15:49 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
А чему равно j при первом входе в цикл while?
Почему во внутреннем цикле инкрементируется j1? |
26.01.2023, 15:59 | #3 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
|
26.01.2023, 16:15 | #4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Тогда такой вопрос. Разве циклы должны быть вложенные? По логике вы ищите в первом i для TGroupBox, а во втором перечисляете все j принадлежащие этой TGroupBox. Но при втором проходе j уже будет вне диапазона.
|
26.01.2023, 16:35 | #5 | |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
Цитата:
По идее 1 цикл ищет компонент; 2 цикл ищет все компоненты внутри компоненты i. Далее процесс повторяется. Хотя я допустил ошибки: 1. Controls отсчитывается судя по всему от 1. 2. Второй цикл например имеет вхождение класс которого отличен от TGroupBox, т.е. нужна проверка на соответствие класса. Код:
|
|
26.01.2023, 16:40 | #6 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
Думал попробовать так:
Код:
На: Panel1.Controls[i].ClassType Тогда бы и проверка не понадобилась, да ещё и другие групповые компоненты бы отключались, например такие как panel и т.д. |
26.01.2023, 16:42 | #7 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
т.е. в "i" ищу компонент, в том числе и GroupBox, в "j" ищу другие компоненты внутри компоненты GroupBox, задумка была такой
Последний раз редактировалось cybernewbie; 26.01.2023 в 16:47. |
26.01.2023, 16:47 | #8 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
Цикл уже проходит полностью, но выключает не все компоненты. Label активен.
|
26.01.2023, 16:52 | #9 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
Первый цикл, ищет все компоненты на Panel;
Второй цикл ищет компоненты внутри групповых компонент. Всё что нашлось, отключается. |
26.01.2023, 17:09 | #10 |
Пользователь
Регистрация: 01.10.2022
Сообщений: 63
|
Получилось
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти и отключить выполнение анимации текста JS - отключить анимацию появления текста - Nivo Slider, модуль OC Slide show | OmegaBerkut | JavaScript, Ajax | 2 | 21.12.2019 02:58 |
Помогите найти компоненты - Предлагаю сюда выкладывать различные компоненты для delphi. | Deight | Компоненты Delphi | 79 | 17.09.2017 19:39 |
компонент Panel | C++++ | Помощь студентам | 2 | 17.06.2014 09:44 |
Panel | начинающий1 | Компоненты Delphi | 6 | 15.10.2009 13:58 |