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

有關一些陣列的問題

尚未結案
sundy6719
初階會員


發表:136
回覆:78
積分:42
註冊:2002-07-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-11 14:15:13 IP:211.74.xxx.xxx 未訂閱
請教各位前輩 begin A := VarArrayCreate([0, 4], varVariant);//後面的varvariant是代表什麼意思 A[0] := 1; A[1] := 1234.5678; A[2] := 'Hello world'; A[3] := True; A[4] := VarArrayOf([1, 10, 100, 1000]); //這句代表什麼意思 那還有vararraylowbound()和vararrayhighbound()和varisarray這些又是代表些什麼意思我有去看過delphi內的說明檔可是還是看不懂
ecafe
一般會員


發表:0
回覆:8
積分:11
註冊:2002-07-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-11 17:33:45 IP:61.222.xxx.xxx 未訂閱
A := VarArrayCreate([0, 4], varVariant); 表示建立一個索引值從0到4共5個元素的陣列,陣列中所儲存的元素型態為variant。 由於variant型態的資料本身也可以是一個陣列,所以 A[4] := VarArrayOf([1, 10, 100, 1000]); 表示A[4]這個元素儲存的值為另一個包含四個元素(1, 10, 100, 1000)的variant陣列。要知道一個variant中放的是不是一個陣列,可以用varisarray函數來判斷。 VarArrayLowBound與vararrayhighbound分別用來得到一個variant型態的陣列中指定維度的最小/最大索引值。以陣列A來說,因為只有一維,索引值從0到4,所以VarArrayLowBound(A, 1)為0, 而vararrayhighbound(A, 1)為4。
ecafe
一般會員


發表:0
回覆:8
積分:11
註冊:2002-07-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-11 17:41:52 IP:61.222.xxx.xxx 未訂閱
所以當你拿到一個variant時,若想判斷此variant為一個陣列時,即取出此陣列中的每一個元素,寫法類似如下 if varisarray(A) then begin for i := vararraylowbound(A, 1) to vararrayhighbound(A, 1) do begin A[i] := 100; ... end; end;
sundy6719
初階會員


發表:136
回覆:78
積分:42
註冊:2002-07-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-12 04:42:40 IP:211.74.xxx.xxx 未訂閱
ecafe您解說的好詳細!!謝謝~~~
sundy6719
初階會員


發表:136
回覆:78
積分:42
註冊:2002-07-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-16 22:21:54 IP:211.74.xxx.xxx 未訂閱
vararrayhighbound(A, 1)那個1代表什麼 如是二維陣列那要怎麼寫呢 thanks
系統時間:2024-05-18 11:52:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!