多维数组:
procedure TForm1.Button1Click(Sender: TObject);
const
arr1:array[0..1,0..2,0..3]of Integer =(((1,2,3,4),(1,2,3,4),(1,2,3,4)),((1,2,3,4),(1,2,3,4),(1,2,3,4)));
begin
ShowMessage(IntToStr(SizeOf(arr1)div SizeOf(Integer)));//96/4=24 利用SizeOf快速得出多維數組的元素個數。
end;
动态多维数组赋值:
procedure TForm1.Button4Click(Sender: TObject);
var
myarray:array of array of array of string;
i,m,k,count:Integer;
str:string;
begin
count :=0;
Memo1.Clear;
SetLength(myarray,2);
for i:=Low(myarray)to High(myarray)do
begin
SetLength (myarray[i],3);
end;
for i:=Low(myarray) to High(myarray) do
begin
for m:=Low(myarray[i])to High(myarray[i])do
begin
//for k:=Low(myarray[i,m])to High(myarray[i,m])do
SetLength(myarray[i,m],4);
end;
end;
for i:=Low(myarray)to High(myarray)do
begin
for m:=Low(myarray[i]) to High(myarray[i]) do
begin
for k:=Low(myarray[i,m]) to High(myarray[i,m]) do
begin
inc(count);
str:='';
myarray[i,m,k]:='i:='+inttostr(i)+',m:='+inttostr(m)+',k:='+IntToStr(k);
str:=str+' '+ myarray[i,m,k];
Delete(str,1,3);
Memo1.Lines.Add(str);
end;
end;
end;
Memo1.Lines.Add(IntToStr(count));
end;