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

請問語法一問

尚未結案
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-15 10:26:37 IP:218.103.xxx.xxx 未訂閱
我有一很多個 integer 的 varibles 我想用一個 array 把它們裝起來 要怎樣宣告呢? 謝謝大大
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-15 10:42:49 IP:220.130.xxx.xxx 未訂閱
var   i:array[0..1023] of inetger; 或者採用動態陣列的宣告!
var
  i:array of inetger;
begin
  setlength(i,1024);
end;
Best Regards, Rex Chiu
------
Best Regards,
Rex Chiu
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-15 14:51:12 IP:218.103.xxx.xxx 未訂閱
不好意思 不是這個意思 是: var a,b,c : integer arrayofinteger : array [1..10] of integer = (a,b,c); 這樣可以嗎?
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-15 15:20:46 IP:220.130.xxx.xxx 未訂閱
引言: 不好意思 不是這個意思 是: var a,b,c : integer arrayofinteger : array [1..10] of integer = (a,b,c); 這樣可以嗎?
這樣不行. 你要自己一個一個填入array中 arrayofinteger[1]:=a; arrayofinteger[2]:=b; arrayofinteger[3]:=c; 這樣才行
------
Best Regards,
Rex Chiu
Dracula
一般會員


發表:36
回覆:20
積分:21
註冊:2002-09-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-16 00:39:55 IP:220.138.xxx.xxx 未訂閱
是不是要這樣子,搞不懂你的用途?? type TMyRecord=record a, b, c:integer; end; var MyRecord:array[0..10] of TMyRecord; MyRecord[0].a:=1; MyRecord[0].b:=2; MyRecord[0].c:=3; ........ ........
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-16 10:17:24 IP:218.103.xxx.xxx 未訂閱
我的用法是 我有很多的 interger 變數 要init 所以我想用一個array 把它裝起 然後用for loop 去 init
jimmy_wei
高階會員


發表:9
回覆:176
積分:147
註冊:2003-08-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-16 18:16:52 IP:210.68.xxx.xxx 未訂閱
其實我不太懂你的需求,可是如果真的都那麼麻煩 你可以宣告一個字串陣列 SS:array[0..1023] of string; 然後你後面跑迴圈時再去針對資料做處理 相信字串裡面你要存多少個數字進去都沒問題只要轉型就ok了 ss[1]:= '10,20,30'; ss[2]:= '12,22,23'; ss[3]:= '11,10,20'; 這樣可以嗎??
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-02-17 11:18:21 IP:218.103.xxx.xxx 未訂閱
真的不好意思, 我說得不太清楚 我的意思是 有 很多 var a,b,c,d... :integer 然後我想要一個 testarrary : array [0..10] of ?? testarray[0] := a; testarray[1] := b; testarray[2] := c; . . . 然後我可以用一個for loop 去 init 裡面變數的值 謝謝
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-02-17 11:58:26 IP:220.130.xxx.xxx 未訂閱
蠻有趣的想法, 我的做法會採用TList將每一個變數的Pointer收集起來。 到時候就能以你的想法, 以迴圈的方式將全部的變數初始化。 希望這麼做能達到你的目的。
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-02-17 12:53:14 IP:222.248.xxx.xxx 未訂閱
路過。 用多維陣列的方式不就可以解決了嗎?! arrayofinteger : array [1..10, 1..3] of integer; for i := 1 to 10 do for j := 1 to 3 do ...... 或者用Dracula所說的記錄類型Record.
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-02-17 15:20:22 IP:218.103.xxx.xxx 未訂閱
引言: 蠻有趣的想法, 我的做法會採用TList將每一個變數的Pointer收集起來。 到時候就能以你的想法, 以迴圈的方式將全部的變數初始化。 希望這麼做能達到你的目的。
我也想過這樣 但這樣不是每一個變數有一個pointer?
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-02-17 17:38:13 IP:220.130.xxx.xxx 未訂閱
每一個變數本來就有一個pointer. var a,b,c: Integer; MyList: TList; begin a:=1; b:=2; c:=3; MyList:=TList.Create; MyList.Add(@a); MyList.Add(@b); MyList.Add(@c); // 將全部的變數都改成5 for i:=0 to 2 do begin Integer(MyList.Items[i]^):=5; end; // 以訊息的方式確認變數的內容 ShowMessage(IntToStr(a)); // 此時變數a的值就改變了.. MyList.Free; end;
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-02-18 10:08:50 IP:218.103.xxx.xxx 未訂閱
哦 想不到這樣 謝謝 看來我的要再惡補我的基礎
系統時間:2024-05-19 8:41:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!