Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
UTF-8, ASCII, Atascado :(
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje UTF-8, ASCII, Atascado :( 
 
Estoy atascado con una chorrada y probablemente el día que llevo (gambas ya es el cuarto lenguaje que tengo que tocar hoy) me está cegando.

Tengo un Textbox con el siguiente texto:

123

El usuario quiere insertar una X tras el nº2 por lo que hace click con el ratón sobre el textbox junto al 2 y ejecuto el código:
dim iC as integer
iC=TextBox.Pos 'almaceno la posición del cursor, punto a partir del cual hay que insertar el caracter
TextBox.Text=left(TextBox.Text,iC & "X" & right(TextBox.Text,len(TextBox.Text)-iC)
TextBox.Pos=iC+1 'esto es para que el cursor no vaya hasta el final y se quede donde debe estar
 


Todo ok.

Peeero, si la caja de texto contiene un caracter local, la cosa se tuerce, pongamos que contiene:

1Ñ2

El código anterior ya no funciona porque aunque hay tres caracteres en la caja de texto, su longitud real son 4, con lo que el código anterior empieza a estropear el contenido de la caja.

He probado a covertirlo antes a una variable con DCONV, CCONV, etc, y nada, siempre me acabo cargando la caja de texto al no poder saber la equivalencia entre el valor TextBox.POS y la posición real del caracter que debo insertar.

Alguna idea para desatascarme?
 



 
última edición por Tasagore el Martes, 02 Agosto 2016, 18:31; editado 1 vez 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: UTF-8, ASCII, Atascado :( 
 
Sólo tienes que usar la clase string para las funciones de cadena.

Por ejemplo, en lugar de hacer:

right(TextBox.Text,len(TextBox.Text)-iC)



usa esto:



Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: UTF-8, ASCII, Atascado :( 
 
Esta vez ha sido fácil usando la clase string. Pero lo más complicado es cuando comienzas a ver algo de UTF-8, conviertes,
pegas de una página web a una caja de texto, entonces es cuando se complica un poco más.

Saludos
 




===================
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: UTF-8, ASCII, Atascado :( 
 
jguardon escribió: [Ver mensaje]
Sólo tienes que usar la clase string para las funciones de cadena.

Por ejemplo, en lugar de hacer:

right(TextBox.Text,len(TextBox.Text)-iC)



usa esto:



Saludos


Eso lo había probado 20 veces pero me faltaba el String.LEN (de hecho en String el IDE no me muestra LEN como una posibilidad).

Gracias
 



 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: UTF-8, ASCII, Atascado :( 
 
Tasagore escribió: [Ver mensaje]
de hecho en String el IDE no me muestra LEN como una posibilidad


      
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: UTF-8, ASCII, Atascado :( 
 
vuott escribió: [Ver mensaje]
Tasagore escribió: [Ver mensaje]
de hecho en String el IDE no me muestra LEN como una posibilidad


      


Pues hoy sí lo veo. Lo que te digo, que ayer tenía un día...
 



 
Tasagore - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: UTF-8, ASCII, Atascado :( 
 
Tasagore escribió: [Ver mensaje]
...Eso lo había probado 20 veces pero me faltaba el String.LEN (de hecho en String el IDE no me muestra LEN como una posibilidad).

Si que lo muestra, mira.
 string_len
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: UTF-8, ASCII, Atascado :( 
 
Por otra parte: ¿Por qué no usar el método insert del propio textbox?

És solito te inserta el texto que quieras en la posición del cursor.... sin cálculo alguno.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Convertir Un Número En El Correspondiente... vuott Aplicaciones/Fragmentos de Código 5 Sabado, 04 Octobre 2014, 13:09 Ver último mensaje
vuott
No hay nuevos mensajes Codificación De Dibujo De Bordes En ASCII... Grandamakulo Mundo Linux 2 Jueves, 23 Enero 2020, 18:02 Ver último mensaje
tincho
 

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