Ir al contenido


Foto

crear string con simbolos Ascii


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

#1 JordiP

JordiP

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 15 diciembre 2009 - 06:18

Buenas, tengo un problema intentando crear un string con códigos ASCII. Veréis, tengo un array de Bytes los cuales quiero convertir en sus respectivos símbolos ASCII. Cuando intento convertir ciertos códigos, como el 24 por ejemplo, en vez de ponerme ? en el string, pone #&18, por ejemplo: tengo que generar el siguiente string:


delphi
  1. Mi_string := Chr(40) + Chr(24) + Chr(43);


Pues esto deberia tener como resultado '(?+', pero lo que obtengo es '('#&18'+'

Mi pregunta es: cual es la mejor manera de obtener '(?+' con Delphi ?

Gracias por todo y espero que alguien me pueda ayudar.
:wink:
  • 0

#2 seoane

seoane

    Advanced Member

  • Moderador
  • PipPipPip
  • 1.257 mensajes
  • LocationEspaña

Escrito 15 diciembre 2009 - 07:04

¿Que versión de delphi usas?
  • 0

#3 JordiP

JordiP

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 15 diciembre 2009 - 10:07

Delphi 2010.  :cheesy:
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.261 mensajes
  • LocationMéxico

Escrito 15 diciembre 2009 - 10:22

Hola, los caracteres que pueden ser "mostrados" como texto comienzan a partir del caracter 32 de la tabla ascii.

La pregunta es, para que quieres que sea representada con el caracter que sugieres, lo vas a enviar a través de puerto serial a otra maquina ?

Si es así, no deberías de preocuparte por la representación de los caracteres, chr(24) = #&18 que es la representación HTML de ese caracter.

Salud OS


  • 0

#5 seoane

seoane

    Advanced Member

  • Moderador
  • PipPipPip
  • 1.257 mensajes
  • LocationEspaña

Escrito 15 diciembre 2009 - 02:16

Recuerda que Delphi 2010 trabaja con unicode así que los caracteres ahora son un poco mas "anchos"  :p

Prueba usando AnisString en vez de String y AnsiChar en vez de Char y en vez de chr(24) usa #24

PD: En Turbo delphi si sale la flechita pero es porque esta versión todavía no usa unicode
  • 0

#6 JordiP

JordiP

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 16 diciembre 2009 - 04:49

Con AnsiChar pasa lo mismo. Lo que he hecho es un pequeña funcion que pasandole el codigo, retorna el simbolo ascii. Es una chapucilla que por lo menos me soluciona el problema.

Gracias a todos por la ayuda :wink:
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 16 diciembre 2009 - 06:57

Con AnsiChar pasa lo mismo. Lo que he hecho es un pequeña funcion que pasandole el codigo, retorna el simbolo ascii. Es una chapucilla que por lo menos me soluciona el problema.

Gracias a todos por la ayuda :wink:


Sería bueno que mostraras la función que has hecho a ver si se le puede mejorar ;)
  • 0