如何创建具有两维或多维数组参数的程序?
问题描述:
我想在此创建一个过程。如何创建具有两维或多维数组参数的程序?
procedure TForm1.Button1Click(Sender: TObject);
var
a: Array[0..1, 0..2] of TControl; // need to be pass
tmp: Array[0..1] of TControl;
i, j, iCnt : Integer;
begin
//-------------------------------------
a[0][0] := Panel1; //sample data inside the main panel
a[0][1] := Panel2;
a[0][2] := Panel3;
a[1][0] := Panel4;
a[1][1] := Panel5;
a[1][2] := Panel6;
//-------------------------------------
for i := low(a) to high(a) do
AutoSizeCtrlWidth(mainpanel, a[i], 20, 20);
for j := low(a[1]) to High(a[1]) do
begin
for i := low(a) to high(a) do
tmp[i] := a[i][j];
AutoSizeCtrlHeight(mainpanel, tmp, 20,20);
end;
//
end;
实施例:
procedure AutoSizeCtrlWidthHeight(AParentCtrl: TControl; arControls: Array of TControl; ASpacing, AMargin: Integer);
如何创建具有两个参数或多维阵列的程序?
答
type
TMyDataType = array of array of integer;
procedure MyProcedure(const Data: TMyDataType);
begin
end;
我总是想要一个数组参数为const - 我相信你也知道这个 – 2010-12-11 16:40:36
* dynamic * array? – 2010-12-11 23:23:18
@ user205376:是的,这就是它所称的。 “数据”是一个整数的二维动态数组。 – 2010-12-11 23:28:31