請問Variant多維陣列問題? |
答題得分者是:william
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
請問各位如何以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 發送簡訊給我 |
太概是這樣吧,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 發送簡訊給我 |
你上面得定义是有一定问题得:
供参考:
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |