全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1722
推到 Plurk!
推到 Facebook!

物件名稱 能用變數取代嗎?

答題得分者是:arisaka_matsuri
elva349
一般會員


發表:15
回覆:21
積分:17
註冊:2007-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-22 15:04:41 IP:61.31.xxx.xxx 訂閱
例如 
[code cpp]
CheckBox1->Checked=true;
CheckBox2->Checked=true;
CheckBox3->Checked=true;
CheckBox4->Checked=true;
CheckBox5->Checked=true;
CheckBox6->Checked=true;
CheckBox7->Checked=true;
CheckBox8->Checked=true;
CheckBox9->Checked=true;
CheckBox10->Checked=true;
CheckBox11->Checked=true;
CheckBox12->Checked=true;
CheckBox13->Checked=true;
CheckBox14->Checked=true;
CheckBox15->Checked=true;
CheckBox16->Checked=true;
CheckBox17->Checked=true;
[/code]

能否用個迴圈 把這個設定完呢!?
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-22 17:07:39 IP:210.66.xxx.xxx 訂閱
[code delphi]
procedure TForm1.Button2Click(Sender: TObject);
var
I: Integer;
O: TCheckBox;
begin
for I := 1 to 17 do//根據你的程式碼
begin
O := FindComponent('CheckBox' IntToStr(I)) as TCheckBox;
if O <> nil then O.Checked := True;
end;
end;
[/code]

相關學習建議:
(1)學習什麼是 Owner?
(2)Owner 如何利用ComponnetCount, Components,
來管理其下之元件(TComponent)
(3)學習什麼 是Parent?
(4)Parent 如何利用ControlCount, Controls,
來管理其下之顯示控制項(TControl)
(5)發問前, 多多爬文.... ^_^
編輯記錄
jow 重新編輯於 2007-10-22 17:09:02, 註解 無‧
arisaka_matsuri
高階會員


發表:25
回覆:205
積分:231
註冊:2003-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-22 17:08:38 IP:140.113.xxx.xxx 訂閱
簡單的可以只用 FindComponent() 來完成
進一步可以用 TList 或是自行建立一個 指標陣列 來管理

[code cpp]
char *szName[] = {"CheckBox1", "CheckBox2", ..., "CheckBox17"};
for(int i = 0; i < 17; i)
{
((TCheckBox *)FindComponent(szName[i]))->Checked = true;
}


// 如果要管理,建立一個指標陣列
TCheckBox **CheckBoxArray = new TCheckBox * [17];
// 或是用 TList
TList *lstCheckBox = new TList;
for(int i = 0; i < 17; i)
{
// 指標陣列

CheckBoxArray[i] = (TCheckBox *)FindComponent(szName[i]);

// TList
lstCheckBox->Add(FindComponent(szName[i]));
}


[/code]
elva349
一般會員


發表:15
回覆:21
積分:17
註冊:2007-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-10-30 09:55:48 IP:61.30.xxx.xxx 訂閱
多謝了~~我會使用了  我再練習把這它放到一個List 去.

[code cpp]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCheckBox *V;

for (int a=1;a<18;a )
{
aint=IntToStr(a);
STR= "CheckBox" aint;
V = ((TCheckBox*)FindComponent(STR)) ;
V->Checked=true;
}

}[/code]
系統時間:2024-04-24 14:20:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!