問題關于控制多個相同控件,我已在pagecontrol里弄了一個tabsheet,在tabsheet中放了十五個checkbox
我想實現如下操作
var
  i:Integer;
  str1,str2:String;
.....
for i:=1 to 15 do
begin
  if checkbox(i).checked=True then //當然checkbox(i)是不能通過的
    str1:='1';
  else
    str1:='0';
  str2:=str2+str1;
end;
這樣目的是得到一個15位0或1組成的字符串,問過一些高手說用tlist來做,可是在網上找了很久資料,都搞不好問題,有沒有那位高手能給我解決呀,很急要的呀!萬分感激!

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1385/1385316.xml?temp=.9431116
      

  2.   

    呵呵,
    我有一个方法,如果你不闲麻烦的话:用代码动态创建checkbox
    var
      ckbXY: array[0..15] of TCheckBox;
    begin
      //创建
     
    end;这样就可以跟普通数组一样的使用了
      

  3.   

    for i:=0 to form1.ComponentCount-1 do
      begin
       try
         tcheckbox(form1.Components[i]).checked=True;
         ..... 
       finally
       end;
    end;
      

  4.   

    jiezhi提出的思想應該可以解決,可是那個方法好像只是用類型來分(這里是tcheckbox),不夠靈活,我要做的涉及很強的次序問題,每個checkbox對應著字符串中的特定位置的,dainellee的方法我都看過,可作參考,那到底有沒有人給到TList的方法來??我取想要的啊!
      

  5.   

    var i:integer;
    begin
      for i:=0 to tabsheet1.componentCount -1 do
       if tabsheet1.components[i].classtype=tcheckbox then
         TCheckBox(tabsheet1.Components[i]).checked=true;
    end;
      

  6.   

    Eastunfail(恶鱼杀手) 的方法可行!