Hola,
Cuando tú haces algo así en PHP:
Código PHP:
$arregloStrings = array('a', 'b', 'c');
Estás creando un nuevo "Array" con unos elementos predeterminados. Observa que "array()" es una construcción del lenguaje PHP, que devuelve, precisamente, un Array del tipo de los parámetros que le pases a la construcción "array()".
Con Delphi puedes también iniciarlizar "Arrays" estáticos, tal que así:
Código Delphi
[-]
var
arregloStrings: array [1..3] of string = ('a', 'b', 'c');
Por otro lado, un Array dinámico en Delphi, tal como dices, puede declararse, iniciarlizarse y rellenarse de este modo:
Código Delphi
[-]
var
arrayDinamico: array of string;
begin
SetLength(arrayDinamico, 3);
arrayDinamico[0] := 'a';
arrayDinamico[1] := 'b';
arrayDinamico[2] := 'c';
ShowMessage(arrayDinamico[0]);
end;
Sin embargo, echando un vistazo en la ayuda de Delphi, en el apartado "Open array constructors", puede leerse lo siguiente:
Cita:
Open array constructors allow you to construct arrays directly within function and procedure calls.
|
Con lo que es posible hacer algo como esto:
Código Delphi
[-]
type
TArrayStrings = array of string;
function CrearArray(elementos: array of string) : TArrayStrings;
var
i: integer;
begin
SetLength(Result, High(elementos)+1);
for i := 0 to High(elementos) do
Result[i] := elementos[i];
end;
procedure TForm1.Button1Click(Sender: TObject);
var
unArray: TArrayStrings;
begin
unArray := CrearArray(['a', 'b', 'c']);
ShowMessage(unArray[0]);
end;
Nota: Lo inmediatamente anterior puede no ser del todo correcto, o en todo caso puede ser muy mejorable, lo escribí a bote pronto a modo de introducción al tema, para explicar cómo es posible crear "Arrays" de ese modo, pero, que cada palo aguante su vela, he dicho.
En fin, lo mismo hasta sirve de algo el rollo que acabo de meteros.