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

請問前輩們如何使用for動態取得變數值!

 
nicholas_wu
一般會員


發表:2
回覆:4
積分:1
註冊:2006-10-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-16 11:16:52 IP:203.70.xxx.xxx 訂閱
有一個問題我搜尋時我不知該如何下關鍵字,所以才在這發問文章。不好意思
請問前輩們,我有三個以上的變數如下
String str1="str1";
String str2="str2";
String str3="str3";
如今變數大約有四十多個,跟上面一樣(前方str加上固定數字)
我有找到文章是說使用"FindComponent"搜尋所有的元件名稱~可是我使用上卻出現錯誤
for (int i=1;i<=3;i ){
String tmp = String(FindComponent("str" String(i)));
ShowMessage(tmp);
}
請問前輩們~變數名稱有辦法"自由"命名宣告與應用嗎,因為我有個timer物件,每十秒讀取不用的變數值並指定給label1來顯示,我目前的方法好笨~一行一行指定...手真是酸~也怕打錯變數名照成資料讀取錯誤....不好意思!請大大們幫我一下謝謝
jssy
一般會員


發表:2
回覆:3
積分:1
註冊:2003-11-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-16 21:57:28 IP:218.91.xxx.xxx 訂閱

===================引 用 文 章===================
有一個問題我搜尋時我不知該如何下關鍵字,所以才在這發問文章。不好意思
請問前輩們,我有三個以上的變數如下
String str1="str1";
String str2="str2";
String str3="str3";
如今變數大約有四十多個,跟上面一樣(前方str加上固定數字)
我有找到文章是說使用"FindComponent"搜尋所有的元件名稱~可是我使用上卻出現錯誤
for (int i=1;i<=3;i ){
String tmp = String(FindComponent("str" String(i)));
ShowMessage(tmp);
}
請問前輩們~變數名稱有辦法"自由"命名宣告與應用嗎,因為我有個timer物件,每十秒讀取不用的變數值並指定給label1來顯示,我目前的方法好笨~一行一行指定...手真是酸~也怕打錯變數名照成資料讀取錯誤....不好意思!請大大們幫我一下謝謝

先看看下面关于FindComponent函数的声明再调试程序
function TComponent.FindComponent(const AName: string): TComponent;
------
学而不思则罔,思而不学则殆
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-16 23:00:01 IP:211.22.xxx.xxx 未訂閱
不曉得你的程式意圖真正要作啥?但是C++語言的特性是,變數使用前一定要宣告,你所說的自由宣告是指何意義無從而知?
所謂動態產生只有指標與VCL物件變數(也是指標),但無論如何指標也要事前宣告。
另外FindComponent顧名思義是尋找元件,String是類別沒錯!但不是元件,不能符合你的需求。

===================引 用 文 章===================
有一個問題我搜尋時我不知該如何下關鍵字,所以才在這發問文章。不好意思
請問前輩們,我有三個以上的變數如下
String str1="str1";
String str2="str2";
String str3="str3";
如今變數大約有四十多個,跟上面一樣(前方str加上固定數字)
我有找到文章是說使用"FindComponent"搜尋所有的元件名稱~可是我使用上卻出現錯誤
for (int i=1;i<=3;i ){
String tmp = String(FindComponent("str" String(i)));
ShowMessage(tmp);
}
請問前輩們~變數名稱有辦法"自由"命名宣告與應用嗎,因為我有個timer物件,每十秒讀取不用的變數值並指定給label1來顯示,我目前的方法好笨~一行一行指定...手真是酸~也怕打錯變數名照成資料讀取錯誤....不好意思!請大大們幫我一下謝謝
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-02-17 00:51:25 IP:61.225.xxx.xxx 訂閱
我是不知道你這樣做有什麼意義。
不過如果只是你這個功能。為什麼不用陣列?
String str[n];
for ...
str[i] = "str" i;
用這種方法。不就可以了嗎?

===================引 用 文 章===================
有一個問題我搜尋時我不知該如何下關鍵字,所以才在這發問文章。不好意思
請問前輩們,我有三個以上的變數如下
String str1="str1";
String str2="str2";
String str3="str3";
如今變數大約有四十多個,跟上面一樣(前方str加上固定數字)
我有找到文章是說使用"FindComponent"搜尋所有的元件名稱~可是我使用上卻出現錯誤
for (int i=1;i<=3;i ){
String tmp = String(FindComponent("str" String(i)));
ShowMessage(tmp);
}
請問前輩們~變數名稱有辦法"自由"命名宣告與應用嗎,因為我有個timer物件,每十秒讀取不用的變數值並指定給label1來顯示,我目前的方法好笨~一行一行指定...手真是酸~也怕打錯變數名照成資料讀取錯誤....不好意思!請大大們幫我一下謝謝
nicholas_wu
一般會員


發表:2
回覆:4
積分:1
註冊:2006-10-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-02-26 09:23:52 IP:203.70.xxx.xxx 訂閱
@@對不起前輩們,放個春假忘記回來回覆了!
不好意思我表達不完夠完美,我重新大約說明一下!
我有一堆自訂變數名稱是str1、str2.....strn
變數名稱是規律的,但其值是完全大不相信的。
我想用for來找出這些變數的值,有點類似以下的程式碼
方法一:
for (i=1;i<=n;i )
Memo1->Lines->Add( "這裡將str1~n變數值讀入");

而不是以下的程式碼
方法二:
Memo1->Lines->Add( str1 );
Memo1->Lines->Add( str2 );
....
Memo1->Lines->Add( strn );

前輩們大約知道我的意思嗎@@"我請問方法一的程式有辦法用c 來寫嗎,以前寫php時有類似使用{符號來包住變數名稱,裡面可以使用"動態指定變數名稱"來取特定的變數值,其實暗黑大大程式也是可以讓我解決我目前的問題,只是程式總是想摸索的更多方法去應用...先感謝前面回答的前輩回答的答案。謝謝
tfanalysis
一般會員


發表:10
回覆:9
積分:3
註冊:2007-01-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-02-26 11:30:12 IP:140.115.xxx.xxx 訂閱
既然這樣,為什麼你的str1, str2, str3 ........不用array呢??
這樣在for裡直接取用str[i]就好了啊


===================引 用 文 章===================
@@對不起前輩們,放個春假忘記回來回覆了!
不好意思我表達不完夠完美,我重新大約說明一下!
我有一堆自訂變數名稱是str1、str2.....strn
變數名稱是規律的,但其值是完全大不相信的。
我想用for來找出這些變數的值,有點類似以下的程式碼
方法一:
for (i=1;i<=n;i )
Memo1->Lines->Add( "這裡將str1~n變數值讀入");

而不是以下的程式碼
方法二:
Memo1->Lines->Add( str1 );
Memo1->Lines->Add( str2 );
....
Memo1->Lines->Add( strn );

前輩們大約知道我的意思嗎@@"我請問方法一的程式有辦法用c 來寫嗎,以前寫php時有類似使用{符號來包住變數名稱,裡面可以使用"動態指定變數名稱"來取特定的變數值,其實暗黑大大程式也是可以讓我解決我目前的問題,只是程式總是想摸索的更多方法去應用...先感謝前面回答的前輩回答的答案。謝謝
系統時間:2024-05-07 3:15:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!