Pascal

En algunos casos debemos realizar una función que retorne un arreglo de datos. Como he visto que algunas personas tienen dudas sobre cómo realizarlo, expongo acá unos pequeños tips.

¿Cómo retornar arreglo estático?

Debemos declarar el tipo:

type
  TArrayStatic = Array [0..5] of Integer;

Y ahora si podemos usarlo en una función. Ejemplo de su uso:

function GetArrayS: TArrayStatic;
var
  rRes: TArrayStatic;
  i: Integer;
begin
  for i := 0 to 5 do
    rRes[i] := i;
 
  Result := rRes;
end;

¿Cómo retornar arreglo dinámico?

Es muy similar a lo anterior, pero en esta ocasión debemos declarar el tipo de la siguiente manera:

type
  TArrayDinamic = Array of Integer;

Ejemplo:

function GetArrayD(nNum:Integer): TArrayDinamic;
var
  rRes: TArrayDinamic;
  i: Integer;
begin
  SetLength(rRes,nNum);
  for i := 0 to nNum -1 do
    rRes[i] := i;
 
  Result := rRes;
end;

Como ven, bastante sencillo.

Un saludo.,