請問前輩們如何使用for動態取得變數值! |
|
nicholas_wu
一般會員 發表:2 回覆:4 積分:1 註冊:2006-10-13 發送簡訊給我 |
有一個問題我搜尋時我不知該如何下關鍵字,所以才在這發問文章。不好意思
請問前輩們,我有三個以上的變數如下 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 發送簡訊給我 |
===================引 用 文 章=================== 有一個問題我搜尋時我不知該如何下關鍵字,所以才在這發問文章。不好意思 請問前輩們,我有三個以上的變數如下 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 發送簡訊給我 |
不曉得你的程式意圖真正要作啥?但是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 發送簡訊給我 |
我是不知道你這樣做有什麼意義。
不過如果只是你這個功能。為什麼不用陣列? 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 發送簡訊給我 |
@@對不起前輩們,放個春假忘記回來回覆了!
不好意思我表達不完夠完美,我重新大約說明一下! 我有一堆自訂變數名稱是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 發送簡訊給我 |
既然這樣,為什麼你的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時有類似使用{符號來包住變數名稱,裡面可以使用"動態指定變數名稱"來取特定的變數值,其實暗黑大大程式也是可以讓我解決我目前的問題,只是程式總是想摸索的更多方法去應用...先感謝前面回答的前輩回答的答案。謝謝 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |