我的一个表单上有三十个单选框(name从ck1到ck30 ),现在我想在点击确定按钮的时候得到它们的状态,如果是选中就是‘1’,否则是‘0’,然后组成一个字符串或者数组(比如说是 110011),怎么处理方便呢?我是想用一个for循环来设计,但是不知道在循环里怎么处理这些单选框的名字?

解决方案 »

  1.   

    你可以把这些个单选框放到一个TLIST里
    这样就可以容易管理它们了!
      

  2.   

    单选?你的意思像是在说复选,单选怎么可能有两个1的
    单选的话直接用radiogroup相当简单
      

  3.   

    你把这些单选框定义成数组:ch:array[30] of TcheckBox;运行的时候动态生成就行了循环检查ch[i].check,再改为0或1就行了.
      

  4.   

    随便讲讲,可能不对
    ch:array[30] of TcheckBox;
    这样只是定义,不实例化的话,可以用ch[i].check?
    是不是应该定义指针的数组?
      

  5.   

    for Index:=0 to ControlCount-1 do 
    begin 
      if Components[Index] is TCheckBox then 
        ZeroOne[Index]:=(Components[Index] as TCheckBox).Check;
    end;试试看
      

  6.   

    不对有写错,不好意思
    var count:integer=0;
    for Index:=0 to ControlCount-1 do 
    begin 
      if Components[Index] is TCheckBox then 
      begin
        inc(Count)
        ZeroOne[Count]:=(Components[Index] as TCheckBox).Check;
      end;
    end;
      

  7.   

    非常感谢冰魂,你的方法可以实现我需要的功能了。顺便说一下,你的代码里check应该是checked。