Jump to content


Photo

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


  • Please log in to reply
5 replies to this topic

#1 Rantor777

Rantor777

    Newbie

  • Miembros
  • Pip
  • 7 posts

Posted 28 November 2016 - 08:28 PM

[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
  • 7419 posts
  • LocationRepública Dominicana

Posted 29 November 2016 - 07:20 AM

Interesante, me hubiese servido hace algún tiempo.

 

Saludos.


  • 0

#3 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 posts
  • Location127.0.0.1

Posted 29 November 2016 - 08:12 AM

@Rantor777

 

10 Pagados! : (y)

 

Saludos!


  • 1

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 29 November 2016 - 10:37 AM

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 posts
  • Location127.0.0.1

Posted 25 December 2016 - 12:20 PM

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

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 25 December 2016 - 01:28 PM

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




IP.Board spam blocked by CleanTalk.