Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Juego de caracteres ASCII (https://www.clubdelphi.com/foros/showthread.php?t=95161)

Gregorio Cíber 21-04-2021 08:43:18

Juego de caracteres ASCII
 
Hola amigos.

Observo que en la tabla ASCII en DX 10.3 no aparece nada entre los códigos 128 a 160, ambos incluidos. Esto me está produciendo errores de lectura de algunos fichero de texto que utilizo para encriptar claves y otros datos.
¿Cual es el problema?

Saludos.

Neftali [Germán.Estévez] 21-04-2021 09:14:24

Cita:

Empezado por Gregorio Cíber (Mensaje 540663)
Observo que en la tabla ASCII en DX 10.3 no aparece nada entre los códigos 128 a 160, ambos incluidos.


No se los demás, pero yo no acabo de enter esta frase.
¿A qué tabla ASCII te refieres?

Gregorio Cíber 21-04-2021 21:19:57

1 Archivos Adjunto(s)
Gracias Neftalí por contestar.
A ver. Menú Delphi 10.3 - GExperts - ASCII Chart
Gracias.

Neftali [Germán.Estévez] 22-04-2021 08:52:51

Vale, ahora si te he entendido.
No es que no tengas nada en esos caracteres, sino que para algunas fuentes de letra no están definidos (o no se sabe representar).
En la parte de arrriba verás que puedes cambiar la fuente de letra, si lo haces encontrarás algunas en las que sí hay representación (wingdings, webdings, Terminal, MS Reference,...)

Me acabo de dar cuenta además, de que se mezcla otra cosa; Y es que la visualización de los GExperts, está "ocultando" determinados caracteres. Si usas el "Mapa de caractres" de Windows con las mismas fuente, verás que esos caracteres sí se muestran...


Gregorio Cíber 26-04-2021 21:43:53

No si he reinventado la rueda o no. De todas formas pongo la solución al problema que se me había planteado por si puede ayudar a alguien.

Estoy migrando de D6 a D10.3, lo que supone 'mogollón' de cambios. Hay aplicaciones que se pasan con pocas modificaciones y, sin embargo, en otras es horrible el trabajo que hay que hacer. En este último caso, me encontré con que, al leer un campo tipo texto de una tabla, en la que guardo encriptadas las claves de paso de cada usuario, me daba error. Mejor dicho, había determinados códigos (ver más arriba) que no aparecían. Miré la tabla ASCII en GExpert y, efectivamente, no estaban. Pero, como decía muy bien Neftalí, no tenía nada que ver con el problema, que resolví simplemente con leer el campo de la tabla con una variable tipo AnsiString en ver de tipo String tal y como lo hacía en D6. Así que solucionado.

Gracias Neftalí.

Ñuño Martínez 27-04-2021 12:12:30

No has reinventado la rueda. Lo que pasa es que, desde hace unas versiones, el tipo STRING ya no es sinónimo de AnsiString, como en Delphi 6, sino de WideString. De la misma forma CHAR ahora es sinónimo de WideChar y no de AnsiChar.

Ese problema lo tengo yo con los proyectos que quiero que funcionen tanto con Delphi como con Free Pascal, ya que en este último todavía usa AnsiString y AnsiChar como defecto; y para complicar las cosas Free Pascal usa UTF-8 por defecto en lugar de UTF-16 de Delphi. Por eso, si usas AnsiString (modo clásico) en Delphi entonces tienes que usar la unidad AnsiStrings, que contiene las versiones AnsiString de las funciones de cadena de caracteres de las unidades Strings y sysutils.


La franja horaria es GMT +2. Ahora son las 08:34:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi