Ver Mensaje Individual
  #9  
Antiguo 03-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Lepe
Está claro que si incluimos un salto, después no podemos hacer cosas de este estilo:

Código Delphi [-]
type a = array [TEnum] of String;
Poder, podemos, al menos el compilador no protesta. Lo que pasa es que no es lo que posiblemente creamos que sea. Es decir, cuando declaramos un tipo enumerado con saltos

Código Delphi [-]
TEnum = (eUno = 1, eDos = 2, eTres = 3, eCuatro = 4, eOcho = 8);

estamos declarando más de lo que se ve, como puede observarse si hacemos:

Código Delphi [-]
var
  e: TEnum;

begin
  for e := Low(TEnum) to High(TEnum) do
    ShowMessage(IntToStr(Ord(e)));
end;

En otras palabras, TEnum no es más que el intervalo

Código Delphi [-]
type
  TIntervalo = 1..8;

con nombres especiales para el 1, 2, 3, 4 y 8 pero no para el 5, 6 y 7.

Y claro que en un arreglo como el que pones, esto sería particularmente raro porque se trata de un arreglo con más elementos de los que aparentemente tendría.

// Saludos
Responder Con Cita