powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как бы поизящнее сделать...
5 сообщений из 5, страница 1 из 1
Как бы поизящнее сделать...
    #32291542
Hel975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме есть много компонент TCheckBox. Необходимо проверить у все состояние свойства Checked.
...
Рейтинг: 0 / 0
Как бы поизящнее сделать...
    #32291555
SiDen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  for i:= 0  to Form1.ComponentCount- 1  do 
    begin
      if (Form1.Components[i].ClassName='TCheckBox')  then 
         begin
            if((Form1.Components[i] AS TCheckBox).Checked)then
               begin
//////////////////////////
               end;
         end;
    end;
...
Рейтинг: 0 / 0
Как бы поизящнее сделать...
    #32291570
Hel975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПАСИБО!
...
Рейтинг: 0 / 0
Как бы поизящнее сделать...
    #32291624
Фотография Tаrantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо процедуру с рекурсией сделать т.к. на форме могут быть панели а уже на них чекбоксы

procedure CheckFormControls( AControl : TWinControl; ACheck : Boolean );
var I : Integer;
begin
if not Assigned(AControl) then
Exit;
with AControl do
for I:=0 to ControlCount-1 do
begin
if (Controls is TWinControl) and
(TWinControl(Controls).ControlCount > 0) then
begin
CheckFormControls(TWinControl(Controls),ACheck);
end;
if (Controls is TCheckBox) then
if (Components AS TCheckBox).Checked = aCheck then
begin
Что то делаем
end ;
end;
end;
...
Рейтинг: 0 / 0
Как бы поизящнее сделать...
    #32292157
bjohny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
for i:=0 to Form1.ComponentCount-1 do

begin

if (Form1.Components is TCheckBox) then

begin
if ((Form1.Components as TCheckBox).CHecked ) then
.................

end;

end;

Переберет все чекбоксы независимо от того где они находятся
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как бы поизящнее сделать...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]