| 
| 
 | Вопрос # 2 930/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!у меня есть несколько однотипных объектов, с которыми нужно произвести одинаковое действие, как описано в примере1. Нельзя ли подобную операцию организовать корректнее? Скажем, в VBA подобный код выглядел бы согласно примера2. При этом Controls(1 to 6) - это наши RadioButton
 пример1
 for count:=1 to 6 do
 case count of
 1:RadioButton1.Visible:=false;
 2:RadioButton2.Visible:=false;
 3:RadioButton3.Visible:=false;
 4:RadioButton4.Visible:=false;
 5:RadioButton5.Visible:=false;
 6:RadioButton6.Visible:=false;
 end;
 пример2
 for i=1 to 6
 controls(i).Visible=false
 next
 Приложение:Переключить в обычный режим  for count:=1 to 6 do        case count of          1:RadioButton1.Visible:=false;          2:RadioButton2.Visible:=false;          3:RadioButton3.Visible:=false;          4:RadioButton4.Visible:=false;          5:RadioButton5.Visible:=false;          6:RadioButton6.Visible:=false;        end; for i=1 to 6   controls(i).Visible=falsenext 
|  |   Вопрос задал: KwaK (статус: Посетитель)Вопрос отправлен: 20 июня 2009, 16:57
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Виталий Здравствуйте, Чуприна Сергей!Конечно же можно! У каждого контрола есть такие параметры как ControlCount и Controls. Вот допустим пример :
 
 for i := 0 to Self.ControlCount-1 do
 if Self.Controls[i] is TRadioButton then
 TRadioButton(Self.Controls[i]).Visible := not TRadioButton(Self.Controls[i]).Visible;
 
 В данном примере у контролов типа TRadioButton, родителем которых является Self видимость меняется на противоположенную. Вместо Self используйте любой контрол, в котором находятся нужные контролы.
 
 А ещё удобнее располагать подобные вещи в отдельных панелях, чтобы разом включать.
 
|  | Ответ отправил: Виталий (статус: 2-ой класс)Время отправки: 21 июня 2009, 08:35
 Оценка за ответ: 5
 Комментарий к оценке: большое спасибо!нашим программистам эту идею подкину
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |