for i :=1  to 3 do
  begin
    case myUserPower[i] of  
      1:chk_Power_i.Checked:=true;
    else
      chk_Power_i.Checked:=false;
    end;
  end;我想用循环来对chk_Power_1,chk_Power_2,chk_Power_3 赋值.怎么写呀? 以上代码不能完成.请大侠帮忙.

解决方案 »

  1.   

    for i :=1  to 3 do
    begin
      TCheckBox(FindComponent(Format('chk_Power_%d', [i]))).Checked := myUserPower[i] = 1;
    end;
      

  2.   

    for i :=1  to 3 do
    begin
      TCheckBox(FindComponent(Format('chk_Power_%d', [i]))).Checked := myUserPower[i] = 1;
    end;用这个要报错呀.Access violation at address 00567833 in .........
      

  3.   

    三个checkboxfor i:=1 to 3 do
    TCheckBox(self.FindComponent('Checkbox'+IntToStr(i))).Checked:=true;