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

已知動態物件名稱,如何控制該物件?

答題得分者是:pceyes
yching
一般會員


發表:6
回覆:22
積分:10
註冊:2007-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-07-15 19:09:06 IP:220.130.xxx.xxx 訂閱

for i:= 0 to 9 do
begin
mCheckBox[i] := TCheckBox.Create(Self);
mCheckBox[i].Parent := Self.Panel5; // 設定物件顯示於那個 Panel 內
mCheckBox[i].Name := 'mCkbox' FormatFloat('0', ADOQuery.FieldByName('Serial').value);
end;

如上所列程式,我以動態設定了多個CheckBox,
並且元件名由DB內讀取'Serial' 讀取命名。

現在.... 我已知動態物件名稱但不知 [i] 的 i 值,該如何控制這個物件?
Ex. 我要取的mCheckBox[i].Checked 的值,該怎麼做?
編輯記錄
yching 重新編輯於 2008-07-15 19:10:38, 註解 無‧
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-07-15 21:44:34 IP:220.141.xxx.xxx 訂閱

[code delphi]
procedure TForm1.Button2Click(Sender: TObject);
var i : integer;
begin
for i:= 0 to 9 do begin
if TCheckBox(FindComponent('mCkbox' FormatFloat('0', i 1))).checked then begin
showmessage('mCkbox' FormatFloat('0', i 1));
end;
end;
end;

[/code]
------
努力會更接近成功
yching
一般會員


發表:6
回覆:22
積分:10
註冊:2007-03-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-07-16 10:07:57 IP:220.130.xxx.xxx 訂閱
可以了!
大感恩....... ^^
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-07-16 23:21:22 IP:124.10.xxx.xxx 訂閱
提醒一下,FindComponent 找不到時會回傳 nil
要判斷,不然就 Access Violation 了
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
編輯記錄
sryang 重新編輯於 2008-07-16 23:24:14, 註解 無‧
系統時間:2024-04-25 14:46:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!