Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Un Problema Con El Caracter De La ñ
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Un Problema Con El Caracter De La ñ 
 
Hola Comunidad!.

Haciendo un programa muy simple de encriptar un texto. Me encontré problemas con la "ñ"
Problema muy parecido que comentasteis en su día con el porta-papeles.
Solucionado en la versión 2.23

Los caracteres que resultaban del pegar no eran los mismos que los del copiar.

Os pongo el ejemplo que me llevo un buen rato y media mañana.(Por no leer).
Es muy sencillo pero no funciona.Luego si.

DIM cadena AS String
DIM i AS Integer
 
cadena = "Mañana"
txtSalida.Text = ""
FOR i = 1 TO Len$(cadena)
     txtSalida.Text = txtSalida.Text & Mid$(cadena, i, 1)
NEXT

 


A la hora de imprimir, no imprime la ñ.
Ahora entiendo por que a veces me encuentro, comandos como Len, Len$..Mid, Mid$..y para que dos, decía yo?.
Si hacen lo mismo.  

Parece que la instrucción o función Mid$ como muchas para trabajar con cadenas es solo para "ASCII".
Así que para poder ver la ñ había  que usar la clase String.


DIM cadena AS String
DIM i AS Integer
    
cadena = "Mañana"
txtSalida.Text = ""
FOR i = 1 TO String.Len(cadena)
    txtSalida.Text = txtSalida.Text & String.Mid(cadena, i, 1)
NEXT

 


Y eso sin usar ningún tipo de instrucción para convertir de un juego de caracteres a otro, que también me lie con esto un buen rato.
Que si UTF-8, que si tengo UTF-8 para el escritorio y para el sistema.Que lio.

Ya funciona!.  

No gana uno para neuronas..
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Problema Con El Caracter De La ñ 
 
Hola
La diferencia entre mid y mid$ (por ejemplo) es únicamente que te devuelvan el resultado como VARIANT o como STRING. Ninguna otra.

Para eso que dices existe la clase string que es idéntica a la clase normal para manipular strings, pero adaptada específicamente a UTF-8

print mid("áéíóúñÑ",1)
print string.mid("áéíóúñÑ",1)

La razón es que los caracteres en UTF-8 del ascii extendido ocupan como mínimo DOS bytes y esa es la razón por la que ocurre esto
print len("pepiño")
7
print string.len("pepiño")
6

Está explicado aquí
Enlace
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Problema Con El Caracter De La ñ 
 
Hola soplo!.

Lo de dos comandos con el mismo nombres hay muchos. Como si uno fuera a quedar obsoleto y sustituido por otros en versiones
nuevas de gambas y que aun se mantuviese el nombre por una referencia a Visual Basic o basic de siempre,
para los que venimos de este o por que la referencia resulta mas clara.

Por poner un ejemplo, si es una cadena, recuerdo que incluso en el basic de Spectrum, se incluía siempre la letra "$" para hacer referencia
a las variables de cadena , arrays. Como si lo tuviéramos mas que asumido. A$,A$(10),etc.Añadiendo $ al final del comando se da
entender claramente con lo que va a trabajar.

La sorpresa que me lleve cuando la longitud no era la misma que la de la longitud de caracteres..  

No suelo utilizar variant por que  suele ocupar mas memoria que los demás tipos. Pero en determinados comandos
o funciones no hay mas remedio.Un tipo flexible para no preocuparte de que tipo es.

A veces no es fácil de entender la ayuda y se complica, hay que remirar.Mi problema fue por leer demasiado sin asegurarme antes de
leer bien la ayuda de Gambas.En su día explicaste mas o menos como trabajas con la ayuda y que la mayoría de la veces hay que
romperse el coco buscando la manera de entenderlo.

Para los que tenéis experiencia ganada de otros lenguaje orientado a objeto os resulta mas fácil entender la ayuda.
Otras veces la ayuda es muy breve.Me defiendo mas o menos con el ingles, pero para los que no,puf.

No es por que la ayuda en parte de gambas este traducida.No podemos esperar que todo este traducido y
nos lo den todo mascado.Que grande es el software libre, si. Pero a veces que complicado pueden llegar a ser.

¿ Como es que no te animas a hacer un buen tutorial o un buen libro para hacerle la competencia a Fabian ?.     
Ya, lo imagino, no siempre hay tiempo. Que me vas a contar.

Si hubiéramos tenido hace años atrás este lenguaje y este sistema operativo.

Gracias.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Problema Con El Caracter De La ñ 
 
Con permiso, yo discuto la mayor: ¿Para qué haces una rutina de encriptado? Hagas lo que hagas, no superará la encriptación del bueno y querido MD5 y como mucho, reinventarás la rueda. Vicio malo que tenemos muchos...
Añade el módulo de encriptación y listo.

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Problema Con El Caracter De La ñ 
 
El tema de la encriptacion es muy interesante. gambas provee una encriptación muy básica y realmente hay un tema por hacer sobre este asunto. Llevo ya bastante tiempo desarrollando unas rutinas para hacer criptografía avanzada pero no tengo el tiempo suficiente y no dejan de crecerme los enanos. Desde uqe me metí en lo de hacer una página web no me llevo mas que disgustos y al final parece ser que la solución va a ser el web framework que mostró JGuardón, pero es que el tiempo da para lo que da y al final el tema ese de la criptografía de nuevo tiene que esperar. Yo creo que llevo mas de un año con eso a cuestas y sigo sin dedicarle tiempo.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Problema Con El Caracter De La ñ 
 
Hola Shordi.

shordi escribió: [Ver mensaje]
Con permiso, yo discuto la mayor: ¿Para qué haces una rutina de encriptado? Hagas lo que hagas, no superará la encriptación del bueno y querido MD5
 y como mucho, reinventarás la rueda. Vicio malo que tenemos muchos...Añade el módulo de encriptación y listo.


Siempre es bueno crear.Ademas es de la casa, no?.Que mejor que una cosa que no conozca nadie.  

Pero no era ese el motivo. Fue una prueba de un juego para niños.En su día no lo seria.Como tantos que han
inventando los espías.Hay un abecedario y un abecedario que es la clave (este va rotando).La clave G por ejemplo

ABCDEFGHIJKLMNÑOPQRSTUVXYZ
GHIJKLMNÑOPQRSTUVXYZABCDEF

En caso de la clave G, la A es igual a G.,B es igual a H, C es igual I, etc

Así que las letras de arribas se intercambian con las de abajo.
Simple, pero me encontré el problema de la ñ.

También se puede usar como broma.Cada vez que el usuario escriba algo, es otra cosa lo que sale.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Remover Caracter De Textbox techm3 General 6 Domingo, 26 Septiembre 2010, 18:22 Ver último mensaje
techm3
No hay nuevos mensajes Split, Más De Un Caracter Separador Shell General 23 Lunes, 08 Agosto 2016, 13:44 Ver último mensaje
Shell
No hay nuevos mensajes Repetir Un Caracter N Veces tincho Aplicaciones/Fragmentos de Código 2 Domingo, 11 Diciembre 2016, 13:06 Ver último mensaje
tincho
No hay nuevos mensajes Dir, Caracter Comodín. WildCards Shell General 0 Miercoles, 17 Junio 2020, 19:29 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron