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

函數怎樣做才能返回一個數組

答題得分者是:wameng
lvluyang
一般會員


發表:18
回覆:9
積分:5
註冊:2004-09-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-17 10:08:30 IP:218.247.xxx.xxx 未訂閱
函數怎樣做才能返回一個數組,請問各位大大有沒有這方面的例子﹐請多指教﹐謝謝
eric039
中階會員


發表:57
回覆:126
積分:51
註冊:2002-11-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-17 10:22:54 IP:61.219.xxx.xxx 未訂閱
您是要自訂一個函數 然後能夠 Return 一個值回去嗎? 首先: 您要先定義函數的名稱跟要返回的值是什麼類型。 例如 在 Public 或 Private 那一段把函數名稱定義好 function FunctionName(TranInString: String):String; 然後在實作裡面 function Form1.FunctionName(TranInString: String):String; begin Result TranInString '456'; end; 在這個 Form 裡面您就可以任意的使用這個函數 edit1.Text := FunctionName('123'); 那 Edit1.Text = '123456' 是不是您要的 傳入值跟回傳值的型態您可以依照自己的需求變更 Eric Lin
------
Eric Lin
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-17 11:31:23 IP:210.65.xxx.xxx 未訂閱
Hi lvluyang,    數組?是類似陣列嗎?
procedure TForm1.Button28Click(Sender: TObject);
  function Test(Len : Integer) : OleVariant;
  var
    R : Array of Variant;
    I : Integer;
  begin
    Randomize();
    SetLength(R, Len);
    for I := 0 to Len - 1 do
      begin
        R[I] := Random(100);
      end;
    Result := R;
  end;
var
  R : Array of Integer;
  I : Integer;
begin
  R := TEST(10);
  for I := Low(R) to High(R) do
    begin
      ShowMessage(IntTostr(R[I]));
    end;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-17 12:12:20 IP:61.222.xxx.xxx 未訂閱
ㄟ補充一點: 以下示範動態String數組 Type TAryStr = array of string; Function StringstoAryStr(Strings:TStrings):TAryStr; var I : Integer; begin SetLength(Result,Strings.Count); For I := 0 to Strings.Count-1 do Result[I] := Strings[I]; end;
lvluyang
一般會員


發表:18
回覆:9
積分:5
註冊:2004-09-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-17 12:25:11 IP:218.247.xxx.xxx 未訂閱
我是想寫一個函數能夠返回值為一個自定義的數組.這樣的函數應該怎么樣寫,
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-17 12:41:23 IP:61.222.xxx.xxx 未訂閱
事實上原理相同的。
Type
 TData = Record
    Name  : String;
    TEL   : String;
    AGE   : Word;
  end;    Function GetPersonData:TData;
begin
  With Result do
  begin
    Name := '....';
    TEL  := 'XX-XXXXX';
    AGE  := 18;
  end;
end;
系統時間:2024-07-01 5:18:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!