function CopyByteArray(const C: array of Byte): TByteDynArray;
begin
SetLength(Result, Length(C));
Move(C[Low(C)], Result[0], Length(C));
end;
procedure TFormMain.Button1Click(Sender: TObject);
const
C: array[1..10] of Byte = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
var
D: TByteDynArray;
I: Integer;
begin
D := CopyByteArray(C);
for I := Low(D) to High(D) do
OutputDebugString(PChar(Format('%d: %d', [I, D[I]])));
end;
procedure TFormMain.Button2Click(Sender: TObject);
const
C: array[1..10, 1..10] of Byte = (
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
var
D: array of TByteDynArray;
I, J: Integer;
begin
SetLength(D, Length(C));
for I := 0 to Length(D) - 1 do
D[I] := CopyByteArray(C[Low(C) + I]);
for I := Low(D) to High(D) do
for J := Low(D[I]) to High(D[I]) do
OutputDebugString(PChar(Format('%d[%d]: %d', [I, J, D[I][J]])));
end;
credo che entrambe le risposte sono corrette, così ho intenzione di accettare TOndrej di perché è più completo, non che il vostro è sbagliato (ho votato fino esso). –
Dovrebbe essere SizeOf() o Length (constAry)? –
SizeOf is OK ... – gabr