Ver Mensaje Individual
  #5  
Antiguo 05-10-2006
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 jachguate
sin meterse a los abismos de RTTI
Bueno, no es que esté muy profundo

Código Delphi [-]
uses TypInfo;

function RTTI_StateToStr(State: TDataSetState): String;
begin
  Result := TypInfo.GetEnumName(TypeInfo(TDataSetState), Integer(State));
end;

Por otra parte, un tipo enumerado como lo es TDataSetState no es más que un escalar que puede guardarse como entero:

Integer(Table.State)

y recuperarse con el moldeo inverso:

TDataSetState(3)

En otras palabras, ¿para qué guardar el string, que ocupará más espacio? Mejor cambia el tipo de datos a INTEGER.

Eso sí, me pica la curiosidad de por qué alguien querría guardar este dato en una tabla?

Agrego

Por cierto, en la versió jachguatiana, el arreglo

Código Delphi [-]
const StateDesc:array[dsInactive..dsOpening] of String = ...

también puede ponerse así:

Código Delphi [-]
const StateDesc:array[TDataSetState] of String = ...


// Saludos

Última edición por roman fecha: 05-10-2006 a las 03:27:22.
Responder Con Cita