Ver Mensaje Individual
  #4  
Antiguo 03-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Lo que has dicho no es ninguna tontería, de hecho no tiene solución inmediata.

Para poder usar esto, no puede haber saltos en el tipo Enum, es decir:
Código Delphi [-]
TEnum = (eUno = 1, eDos = 2, eTres = 8, eCuatro = 9);
no puedes dar valores no consecutivos a los índices, normalmente se hace así:
Código Delphi [-]
TEnum = (eUno = 1, eDos , eTres , eCuatro);
así el compilador le dará valores correlativos sin saltos. Después puedes usar algo así:

Código Delphi [-]
var I:TEnum;
    conjunto : TSetEnum;
begin
conjunto  := [eUno, eDos]
sum := 0;
for i:= Low(TEnum) to High(TEnum) do
  if i in conjunto then
El conjunto no puedes recorrerlo, como mucho, puedes recorrer el tipo enumerado.

EDITO:
román, ¿no deberías estar ya en la cama?


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita