这个循环怎么写?(10分)

  • 主题发起人 主题发起人 lcl_003
  • 开始时间 开始时间
L

lcl_003

Unregistered / Unconfirmed
GUEST, unregistred user!


我想写个循环,要实现这样的功能:
比如窗体中有8个checkbox,我想写个循环把这8个checkbox都选上,该怎么写呢,
我是这样写的,可是不行。

for i:=1 to 8 do
checkbox.checked;

可是checkbox不能这么写,给个思路。
 
procedure SetCheck;
var
i: integer;
begin
with Form1 do
for i := 0 to ComponentCount - 1 do
if Components is TCheckBox then
TCheckBox(Components).Checked := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetCheck;
end;
 
哎, 晚了
不过我认为
for i := controlcount-1 downto 0 do
if controls is TCheckBox then
TCheckBox(controls).checked := True;
更好
1. 循环时不会访问不可见控件比如TTable.
2. 所有twincontrol都在tcontrol后面, tcheckbox是TWinControl, 倒查会快点
 
多人接受答案了。
 
后退
顶部