Tema: enumerado
Ver Mensaje Individual
  #4  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé yo si un "enumerado de enteros" tendría mucho sentido... parecería más bien que precisas un "Array de enteros", algo así:

Código Delphi [-]
TEnteros = array of integer;

De todos modos no sé si te confunde el hecho de que puedas tratar los tipos enumerados mediante sus índices, es decir, algo como esto es posible:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  dia: TDia;
begin
  dia := miercoles;
  if(dia = miercoles) then
    ShowMessage('Es miércoles');
end;

Pero también es posible algo como esto:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  dia: TDia;
begin
  dia := TDia(3);
  if(dia = miercoles) then
    ShowMessage('Es miércoles');
end;

Sin embargo en este último caso no verás el "Es miércoles", porque la enumeración se "indiza" comenzando desde cero, es decir, que "miércoles" correspondería al índice 2, y no al 3.

Empero, todavía podemos hacer esto:

Código Delphi [-]
type
  TDia = (lunes = 1, martes, miercoles, jueves, viernes);

procedure TForm1.Button1Click(Sender: TObject);
var
  dia: TDia;
begin
  dia := TDia(3);
  if(dia = miercoles) then
    ShowMessage('Es miércoles');
end;

De modo que ahora sí verías el "Es miércoles", puesto que estamos haciendo que el tipo enumerado "TDia" se indize comenzando desde 1 y no desde 0.

No sé si respondo a tu pregunta o qué.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita