Hola Cecil,
Espero que esto pueda darte una idea:
Código Delphi
[-]
function DimensionArray(Vector: array of integer; Dimension: integer): boolean;
begin
result := High(Vector) >= Dimension;
end;
Como puedes observar, la función lo que hace es obtener el indice máximo del vector dinámico, y lo compara con la dimensión (mejor dicho posición) que tu deseas averiguar.
Un ejemplo de uso:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var vec: array of integer;
begin
SetLength(vec,20);
if ifDimensionArray(vec,20)
then ShowMessage('Tiene la dimensión adecuada')
else ShowMessage('No tiene la dimensión adecuada');
end;
Si corres este ejemplo, recibirás "No tiene la dimensión adecuada". Recuerda que en los vectores dinámicos la posición comienza a contar desde 0 hasta el máximo valor menos 1. Es decir que si tu haces:
Tu vector irá desde 0 hasta 39.
Espero que esto haya sido de ayuda. Al lo dijo estupendamente correcto.
Muchas gracias Al por haberme dado el tironcito de orejas!
Saludos,