这样写,比较通用; unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure getStrings(var strArray:TStrings); end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.getStrings(var strArray: TStrings); var i:integer; begin for i := 0 to 10 do begin strArray.Add(inttostr(i)); end; end;procedure TForm1.Button1Click(Sender: TObject); var strArray:TStrings; i:integer; begin strArray := TStringList.Create(); getStrings(strArray); try for i := 0 to strArray.Count-1 do begin showmessage(strArray[i]); end; finally strArray.Free; end; end;end. 对于其他数据类型TStrings都能存,包括对象;
下面是个简单的例子: type TMyArr = array of Integer;function MyProcArr(const AMyArr: TMyArr): TMyArr; var i: Integer; MyArr: TMyArr; begin SetLength(MyArr, Length(AMyArr)); for i := Low(AMyArr) to High(AMyArr) do MyArr[i] := AMyArr[i] * 2; Result := MyArr; end;procedure TForm1.Button1Click(Sender: TObject); var MyArr: TMyArr; begin SetLength(MyArr, 2); MyArr[0] := 100; MyArr[1] := 200; MyArr := MyProcArr(MyArr); ShowMessage(IntToStr(MyArr[0])); ShowMessage(IntToStr(MyArr[1])); end;
savetoarray(id,array1)?直接存在里面了?跳出过程array1也存在?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure getStrings(var strArray:TStrings);
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.getStrings(var strArray: TStrings);
var
i:integer;
begin
for i := 0 to 10 do
begin
strArray.Add(inttostr(i));
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
strArray:TStrings;
i:integer;
begin
strArray := TStringList.Create();
getStrings(strArray);
try
for i := 0 to strArray.Count-1 do
begin
showmessage(strArray[i]);
end;
finally
strArray.Free;
end;
end;end.
对于其他数据类型TStrings都能存,包括对象;
type
TMyArr = array of Integer;function MyProcArr(const AMyArr: TMyArr): TMyArr;
var
i: Integer;
MyArr: TMyArr;
begin
SetLength(MyArr, Length(AMyArr));
for i := Low(AMyArr) to High(AMyArr) do
MyArr[i] := AMyArr[i] * 2;
Result := MyArr;
end;procedure TForm1.Button1Click(Sender: TObject);
var
MyArr: TMyArr;
begin
SetLength(MyArr, 2);
MyArr[0] := 100;
MyArr[1] := 200;
MyArr := MyProcArr(MyArr);
ShowMessage(IntToStr(MyArr[0]));
ShowMessage(IntToStr(MyArr[1]));
end;
你把代码输入到程序中去,自己就能体会了,不要用到类似数组的东西,就声明数组,
用Delphi现成的类,比较好操作;