線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:818
推到 Plurk!
推到 Facebook!

當有很多CheckBox的時候~~

答題得分者是:hagar
aresu
一般會員


發表:14
回覆:14
積分:5
註冊:2004-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-03 10:04:17 IP:220.130.xxx.xxx 未訂閱
我原來的程式是   for i := 1 to Length(sChoose) -1 do   begin     if copy(sChoose, i, 1) = ',' then     begin       CheckBoxA.Checked := (copy(sChoose, i+1, 1) = 'A') or CheckBoxA.Checked;       CheckBoxB.Checked := (copy(sChoose, i+1, 1) = 'B') or CheckBoxB.Checked;       CheckBoxC.Checked := (copy(sChoose, i+1, 1) = 'C') or CheckBoxC.Checked;       CheckBoxD.Checked := (copy(sChoose, i+1, 1) = 'D') or CheckBoxD.Checked;       CheckBoxE.Checked := (copy(sChoose, i+1, 1) = 'E') or CheckBoxE.Checked;       CheckBoxF.Checked := (copy(sChoose, i+1, 1) = 'F') or CheckBoxF.Checked;       CheckBoxG.Checked := (copy(sChoose, i+1, 1) = 'G') or CheckBoxG.Checked;       CheckBoxH.Checked := (copy(sChoose, i+1, 1) = 'H') or CheckBoxH.Checked;       CheckBoxI.Checked := (copy(sChoose, i+1, 1) = 'I') or CheckBoxI.Checked;       CheckBoxJ.Checked := (copy(sChoose, i+1, 1) = 'J') or CheckBoxJ.Checked;       CheckBoxK.Checked := (copy(sChoose, i+1, 1) = 'K') or CheckBoxK.Checked;       CheckBoxL.Checked := (copy(sChoose, i+1, 1) = 'L') or CheckBoxL.Checked;       CheckBoxM.Checked := (copy(sChoose, i+1, 1) = 'M') or CheckBoxM.Checked;       CheckBoxN.Checked := (copy(sChoose, i+1, 1) = 'N') or CheckBoxN.Checked;       CheckBoxO.Checked := (copy(sChoose, i+1, 1) = 'O') or CheckBoxO.Checked;       CheckBoxP.Checked := (copy(sChoose, i+1, 1) = 'P') or CheckBoxP.Checked;       CheckBoxQ.Checked := (copy(sChoose, i+1, 1) = 'Q') or CheckBoxQ.Checked;     end;   end; 但我其實不想這樣做~~我希望能簡化程式~~不要每個CheckBox寫一行程式~~這邊有十七個CheckBox~~萬一以後有更多的話那豈不是昏倒~~所以請各位大大指教~~謝啦~~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-03 11:03:10 IP:202.39.xxx.xxx 未訂閱
您要的是這樣嗎?
var
  i,j: integer;
  CheckBoxArray: Array[1..17] of TCheckBox;
begin
  for i := 1 to 17 do
    CheckBoxArray[i] := FindComponent('CheckBox'   Chr(64   i)) as TCheckBox;      for i := 1 to Length(sChoose) -1 do
  begin
    if Copy(sChoose, i, 1) = ',' then
    begin
      for j := 1 to 17 do
        CheckBoxArray[j].Checked := (Copy(sChoose, i 1, 1) = Chr(64   j)) or CheckBoxArray[j].Checked;
    end;
  end;
end;
-- 向 KTop 的弟兄們致敬!
aresu
一般會員


發表:14
回覆:14
積分:5
註冊:2004-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-03 11:29:31 IP:220.130.xxx.xxx 未訂閱
感恩~~好犀利的版大~~
系統時間:2024-06-28 19:27:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!