Ir al contenido



Foto

[TRUCO DELPHI] Convertir de tipo enumerado a Cadena y Entero.


  • Por favor identifícate para responder
5 respuestas en este tema

#1 Rantor777

Rantor777

    Newbie

  • Miembros
  • Pip
  • 7 mensajes

Escrito 28 noviembre 2016 - 08:28

[TRUCO DELPHI] Convertir de tipo enumerado a Cadena y
Entero.

 

Hay que adicionar la unidad System.TypInfo


delphi
  1. type TEnumConverter = class
  2. public
  3. class function EnumToInt<T>(const EnumValue: T): Integer;
  4. class function EnumToString<T>(EnumValue: T): string;
  5. end;
  6.  
  7. class function TEnumConverter.EnumToInt<T>(const EnumValue: T): Integer;
  8. begin
  9. Result := 0;
  10. Move(EnumValue, Result, sizeOf(EnumValue));
  11. end;
  12.  
  13. class function TEnumConverter.EnumToString<T>(EnumValue: T): string;
  14. begin
  15. Result := GetEnumName(TypeInfo(T), EnumToInt(EnumValue));
  16. end;

Saludos!

 

@Sir.dev.a.lot me debes 10


  • 2

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 29 noviembre 2016 - 07:20

Interesante, me hubiese servido hace algún tiempo.

 

Saludos.


  • 0

#3 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 29 noviembre 2016 - 08:12

@Rantor777

 

10 Pagados! : (y)

 

Saludos!


  • 1

#4 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.837 mensajes
  • LocationMadrid - España

Escrito 29 noviembre 2016 - 10:37

Interesante, me hubiese servido hace algún tiempo.

 

Quizás de este tema: Pasaje de números a letras, podrías haber sacado ideas o un código que te hubiese dado solución y que sirviera para versiones delphi antiguas. ;)

 

Saludos.


  • 0

#5 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 25 diciembre 2016 - 12:20

Si alguien pudiese mostrarme un 

 

CASE OF... pero usando valores de tipos Enumerado se lo Agradecería, en el alma.   y tambien podrian especificarme la version de Delphi... yo normalmente trabajo en Delphi 7 + WinXP en una VM.

 

Editado:


php
  1. type
  2. TTipoNotificacao = (EMAIL, SMS, WHATSAPP, FACEBOOK);
  3.  
  4. var
  5. tipo: TTipoNotificacao;
  6.  
  7. case tipo of
  8. EMAIL: exit(TEmail.Create());
  9. SMS: exit(TSMS.Create());
  10. WHATSAPP: exit(TWhatsApp.Create());
  11. FACEBOOK: exit(TFaceBook.Create());
  12. SECREATARIA: exit(TSecretaria.Create());
  13.  
  14. //Esto era lo que queria... Solucionado!

Saludos!


  • 1

#6 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.837 mensajes
  • LocationMadrid - España

Escrito 25 diciembre 2016 - 01:28

Si alguien pudiese mostrarme un 

 

CASE OF... pero usando valores de tipos Enumerado se lo Agradecería, en el alma.   y tambien podrian especificarme la version de Delphi... yo normalmente trabajo en Delphi 7 + WinXP en una VM.

 

Saludos!

 

Creo que la pregunta está fuera de tema. Deberías abrir un tema a parte para tu cuestión y explicarte mejor.

 

Saludos.


  • 0