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

請問Variant多維陣列問題?

答題得分者是:william
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-11 12:52:57 IP:140.130.xxx.xxx 未訂閱
請問各位如何以Function回傳Variant形態的多維陣列?
function myfun: Variant;
var
  data: Variant;
begin
  data := VarArrayCreate([1,2],vaVariant);
  data[0][0] := 'tony';
  data[0][1] := 100;
  data[0][2] := EnCodeDate(2003,1,10);
  data[1][0] := 'tom';
  data[1][1] := 200;
  data[1][2] := EnCodeDate(2003,2,10);
  Result := data;
end;  
請問上列程式碼正確嗎?    
Delphi Man
------
Delphi
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-11 12:59:23 IP:210.3.xxx.xxx 未訂閱
太概是這樣吧,variant還是用 call by reference 的比較有效率...    
function myfun: Variant;
var
  data: Variant;
begin
  data := VarArrayCreate([0,1],varVariant);
  data[0] := VarArrayCreate([0,2],varVariant);
  data[1] := VarArrayCreate([0,2],varVariant);
  data[0][0] := 'tony';
  data[0][1] := 100;
  data[0][2] := EnCodeDate(2003,1,10);
  data[1][0] := 'tom';
  data[1][1] := 200;
  data[1][2] := EnCodeDate(2003,2,10);
  Result := data;
end;
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-11 19:43:55 IP:61.155.xxx.xxx 未訂閱
你上面得定义是有一定问题得: 供参考: function myfunc:variant; var      A: Variant; begin   A := VarArrayCreate([0, 4], varVariant);   A[0] := 10000;   A[1] := 1234.56789;   A[2] := '你好!';   A[3] := True;   A[4] := VarArrayOf([1, 11, 111, 1111]);   result:=A; end;    procedure TForm1.FormClick(Sender: TObject); var AA: Variant; begin AA:= myfunc; showmessage(AA[2]);        { 你好! } showmessage(string(AA[4][2]));        { 111} end;    风花雪月 e梦情缘
------
风花雪月 e梦情缘
shaofu
高階會員


發表:5
回覆:136
積分:103
註冊:2003-01-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-12 11:31:59 IP:210.243.xxx.xxx 未訂閱
直接用 VarArrayCreate([0, 1, 0, 2], varVariant) 會較方便吧? 發表人 - shaofu 於 2003/05/12 16:54:25
系統時間:2024-05-16 18:03:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!