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

動態陣列變數傳遞 問題

答題得分者是:老大仔
weston
一般會員


發表:8
回覆:7
積分:3
註冊:2007-02-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-12-16 12:12:46 IP:219.87.xxx.xxx 未訂閱

請問各位高手大大,小弟想傳遞動態陣列變數,可是函數傳遞動態陣列變數似乎不能設定陣列大小,是小弟哪邊觀念需要更新或可行的辦法,delphi 無法透過函數設定動態陣列大小嗎? 尋找解答中,感謝各位大大花時間觀看,和感激解答的大大和高手!


[code delphi]
function test(a:array of integer);
begin
setlength(a,2); //===> 編譯錯誤
a[0]:=1;
a[1]:=2;
end;


procedure Button2Click(Sender: TObject);
var a:array of integer;
begin
test(a);
Showmessage(inttostr(a[0]));
end;
[/code]
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-12-16 13:01:45 IP:59.120.xxx.xxx 未訂閱


[code delphi]
type TIntArray = array of Integer;

procedure test(var aa: TIntArray);
begin
setlength(aa, 2);
aa[0]:=1;
aa[1]:=2;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a: TIntArray;
begin
test(a);
Showmessage(inttostr(a[0]));
end;

[/code]


===================引 用 weston 文 章===================

請問各位高手大大,小弟想傳遞動態陣列變數,可是函數傳遞動態陣列變數似乎不能設定陣列大小,是小弟哪邊觀念需要更新或可行的辦法,delphi無法透過函數設定動態陣列大小嗎?尋找解答中,感謝各位大大花時間觀看,和感激解答的大大和高手!


[code delphi]
function test(a:array of integer);
begin
setlength(a,2); //===> 編譯錯誤
a[0]:=1;
a[1]:=2;
end;


procedure Button2Click(Sender: TObject);
var a:array of integer;
begin
test(a);
Showmessage(inttostr(a[0]));
end;
[/code]
系統時間:2017-10-21 22:02:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!