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

function該如何傳遞陣列呢??

答題得分者是:Chance36
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-21 11:20:55 IP:163.17.xxx.xxx 未訂閱
請教一下各位前輩,小弟想利用function來傳遞一個陣列,不知該如何宣告,如何回傳呢?? ======================== 我是DELPHI5的初學者
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-21 11:37:44 IP:203.204.xxx.xxx 未訂閱
引言: 請教一下各位前輩,小弟想利用function來傳遞一個陣列,不知該如何宣告,如何回傳呢??
Type
  TByteArray = Array Of Byte ;    Function GetByteArray(n:Integer):TByteArray ;
Begin
  SetLength(Result,n);
End;
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-21 11:47:05 IP:163.17.xxx.xxx 未訂閱
SetLength(Result,n); 不知這是什麼意思?? 小弟是想要回傳選擇到的產品編號,但是不知道總共幾筆所以才使用陣列的方式!!將選擇到的產品編號放入陣列中傳回,接收後再處理!!不知該如何回傳才是?? ======================== 我是DELPHI5的初學者
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-21 12:05:39 IP:203.204.xxx.xxx 未訂閱
SetLength 是重設陣列元素個數的程序,因為我不知你的需求,只以它為代表
引言: 小弟是想要回傳選擇到的產品編號,但是不知道總共幾筆所以才使用陣列的方式!!將選擇到的產品編號放入陣列中傳回,接收後再處理!!不知該如何回傳才是??
Type 
  TStringArray : Array Of String ;    Function GetProdNos:TStringArray ;
Begin
  // 假設會回傳10個元素(可動態更改)
  SetLength(Result,10);
  Result[0] := 'ProdA';
  Result[1] := 'ProdB';
  Result[2] := 'ProdC';
  Result[3] := 'ProdD';
End;    Var
  aa : TStringArray ;
  i : Integer ;
Begin
  aa := GetProdNos ; // 取得陣列
  For i := Low(aa) To High(aa) Do Begin
    Memo1.Lines.Add(aa[i]);
  End;
End;
我倒覺得使用TStrings(TStringList) 會方便許多,它有陣列的資料儲存基本功能外,還有諸多特異功能。本站也有相當多的使用範例
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-21 12:31:50 IP:218.162.xxx.xxx 未訂閱
多謝大哥!小弟會試試看喔!! ======================== 我是DELPHI5的初學者
系統時間:2024-05-04 8:04:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!