var
a1, a2: array of array of integer;
procedure TForm1.Button1Click(Sender: TObject);
var
a: integer;
b: integer;
begin
// Set Dimensions of array a1
SetLength ( a1, 2 );
for a := Low(a1) to High(a1) do
SetLength( a1[a], 10 );
// Fill up a1 with positive numbers
for a := Low(a1) to High(a1) do
for b := Low(a1[0]) to High(a1[0]) do
a1[a,b] := a+1;
// Copy a1 to a2
SetLength ( a2, 2 );
for a := Low(a1) to High(a1) do
a2[a] := Copy ( a1[a], 0, 10 );
// Fill up a1 with negative numbers
for a := Low(a1) to High(a1) do
for b := Low(a1[0]) to High(a1[0]) do
a1[a,b] := - a1[a,b];
// Show that a2 still has positive numbers
ShowMessage ( IntToStr(a2[1,5] ) );
end;