Meine Funktion ist auch nicht die schnellste.
Hab sie auf Verständlichkeit ausgelegt.
Das hier ist wahrscheinlich noch ein Stück schneller + sicherer:
Delphi-Quellcode:
function Array2DTo1D(AArray: TArray2D): TArray1D;
var y, rowLen: Integer;
begin
if Length(AArray) > 0 then
begin
rowLen := Length(AArray[0]);
SetLength(Result, Length(AArray) * rowLen);
for y := 0 to High(AArray) do
Move(AArray[y][0], Result[y * rowLen], rowLen);
end
else
SetLength(Result ,0);
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."