各位大哥大姐﹕
我界面上有很多個同類控件﹐比如checkbox1,checkbox2,checkbox3......checkbox12
我想通過一個for 語句來操作這些組件
代碼如下﹐可是提示內存出錯﹐請大家幫忙看看
var
 aCheckBox: array of TCheckBox;
  i:integer;
  str,tmpstr:string;
begin
  for i:= 1 to 12 do
  begin
  if copy(str,i,i)='0' then
    acheckbox[i].checked:=true
  else
    acheckbox[i].checked:=false
  end;
end;

解决方案 »

  1.   

    delphi 6的 EXAMPLE文件夹里有一个FTP的程序。它里面写过控制一个group还是一个panel里面的所有控件的enabled属性。你去找来看看。我装的是 V7。0.没有这个例子了。
      

  2.   

    for i:= 1 to 12 do
      begin
      if copy(str,i,i)='0' then
        self.FindComponent('Checkbox'+inttostr(i)).checked:=true
      else
        self.FindComponent('Checkbox'+inttostr(i)).checked:=false
      end;
      

  3.   

    楼上漏了转换for i:= 1 to 12 do
    begin
      if copy(str,i,i)='0' then
        (self.FindComponent('Checkbox'+inttostr(i)) as TCheckBox).checked:=true
      else
        (self.FindComponent('Checkbox'+inttostr(i)) as TCheckBox).checked:=false
    end;另外,copy(str,i,i)='0' 很怪,是否应是copy(str,i,1)='0' ?