程序根据数据表自动生成多个TCheckBox,供用户进行选择.当在存盘时,就要一一引用上面自动生成的控件,分析用户是否对此项进行了选择,这要如何实现?本人是想用如
下代码实现,可有一句就不知要如何写?高手指教!
var
    cbpower:TCheckBox;
begin
.....取数据表数据....
while (not adoqpower.eof) do
begin
    cbpower:=某一个自动生成的控件;    //控件名是以数据表中的记录编号f_id 为名的,不会重复!
    if(cbpower.checked) then
       ...........
    else
       ..............
    adoqpower.next;
end;

解决方案 »

  1.   

    cbpower:=TCheckBox(findcomponent('名'));
      

  2.   

    var Temp:TComponent;
    begin
      Temp:=self.findcomponent('控件名称');
      if Assigned(Temp) then
        if (Temp As TCheckBox).Checked then
         .............
    end;
      

  3.   

    自动生成多个TCheckBox
    自动生成的控件,你就不能通过控件名字来使用它了
    1是你不知道他叫什么名字,即使知道,你调用他的名字编译就不会过
    一般做法是在生成控件的时候给他的name或tag等属性保存你的信息
    然后用便利所有控件看他是不是TCheckBox然后根据nage或caption或tag来处理

     for i := 0 to self.ControlCount -1  do
        if self.Controls[i] is TCheckBox then