Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente
 
Utilización Del Portapapeles
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Gracias, soplo. Información de locale desde mi consola:

LANG=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=

Después miraré el tema de cojer otros sistemas como nos indicas.

Salu2, cracks.
 



 
Ender - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Estas son las pequeñas miserias de trabajar con sistemas operativos parecidos pero no iguales. Si Ubuntu instala UTF-8 como charset por defecto por algo será. No te pongas a cambiar eso porque posiblemente no te conduzca a nada puesto que si ya tienes uno que te funciona en ambos casos ¿para que quieres otro y luego tener que hacer conversiones de uno a otro?

Así que retomo la pregunta
Citar:
engo un pequeño tropiezo al pegar el contenido del portapapeles. Es curioso pero si he copiado una palabra con tilde por ej: "Camión", y la pego a mano en un textbox se pega normal, pero si utilizo el comando textbox.text = Clipboard.paste() el resultado es Camii??n, donde los interrogantes se muestran con cuadrados como caracteres no reconocidos. Lo mismo me pasa con insert()
¿Como se soluciona eso? No se si es cosa del idioma pero no veo como cambiarlo.

Yo le contesté bien porque en mi caso la razón por la que pasa eso es porque son charset diferentes y por tanto en mi caso el problema se soluciona convirtiendo de uno a otro.

En vuestro caso no por lo que entiendo que el problema no se debe a distintos charset sino que en vuestro caso UTF-8 no es capaz de asignar el código ascii extendido correspondiente al Español y quizá usa el US por ejemplo. Me pregunto que idioma teneis puesto en Sistema - Administración - Soporte de Idiomas.

Mi duda es que UTF.8 es un concepto mas avanzado que ASCII que se limitaba a una lista de caracteres con un código. UTF-8 es un sistema capaz de asignar a cada letra de cada lengua (incluso caracteres ideográficos) un código de tal forma que en Español existe la Ñ y en Francés no. En Chino tampoco je je je. Hay alguna forma (no se cual) por la que UTF-8 sabe en que idioma tiene que traducir un determinado código y hasta donde yo se eso es el system.charset. Como en vuestro caso System.Charset también es UTF-8 entiendo que la información la está cogiendo de algún otro sitio tal como el idioma del sistema.

Osea que la letra acentuada no la está traduciendo bien en UTF-8 y ahí es donde está el problema
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Mi configuración de Sistema --> Idiomas:

pantallazoidiomas

Pero cuando he entrado en el menú, me ha pedido acabar de realizar instalación de idiomas, supongo que vendría por ahí...

Salu2, cracks, y gracias soplo...
 



 
Ender - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Buenas,

disculpar que antes no tenia tiempo.
Al abrir el 'Soporte de idiomas', me ponía lo mismo que a ti Ender, me pedía instalar los idiomas que me faltaban  y se han instalado.
Después, he mirado los idiomas que tenia seleccionados: Afar (no se que pintaba este seleccionado), English y Spanish;Castilian.

He probado a dejar solo Spanish;Castilian y me ha aparecido al lado del jeloj el icono del teclado que antes no veía. En este, he visto
-Configuracion de SCIM
Su ToolTip decía: Utilidad de configuración integrada con base en la biblioteca GTK Widget

En este he seleccionado el idioma Español y he marcado la casilla 'Comparte este método de entrada entre todas las aplicaciones'.
He reiniciado (decía de iniciar la aplicación), pero esto es del teclado y al utilizar el portapapeles sigue igual.

De todas formas me mosquea una opción del SCIM que es IMEngine>Configuracion global>Servicios instalados para el método de entrada: solo tiene 'Inglés/Europeo' y 'CODIGO BRUTO'. No tengo ni idea de lo que es pero no pone nada en español para seleccionar.

Seguiré mirando...
 



 
CHIKILICUATRE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Ya he encontrado la solución.

Pongamos que tengo dos textboxes llamados txt1 y txt2. El propósito es poder hacer drag & drop desde text1 a text2

El evento en Txt1 para poder hacer el drag es este
PUBLIC SUB txt_MouseDrag()

  txt1.Drag(txt1.text)

END


En Txt2 tenenos que activar la propiedad drop a true para que pueda recibir un drop y el evento es este
PUBLIC SUB Txt2_Drop()

  Txt2.text = Txt2.drop

END


Si ahora probamos con un texto normal en txt1 vemos que funciona perfectamente, pero si lo hacemos con acentos y Ñ no lo hace.
La solución es que al hacer el drag (o el copy) hagamos el sconv.
PUBLIC SUB txt_MouseDrag()

  txt1.Drag(sconv(txt1.text))

END

Y ahora si funciona perfectamente.

Respecto a los locales he consultado como funciona UTF-8 y resulta que en linux eso se resuelve instalando es_ES.UTF-8 para el español y es_AR.UTF-8 para argentina por ejemplo. En este caso no habrá diferencia entre uno y otro supongo o será mínima pero si la habrá con en_US.UTF-8 y el mismo código seá traducido de manera diferente.

Habrá que mirar la clase clipboard, pero creo que está pensada para que solo funcione con en_US.UTF-8 (es un bug) y por tanto lo que se copia y se pastea puede ser mal interpretado. Esto es algo que benoit no puede ver porque con toda probabilidad él usa en_US.UTF-8 y claro, a él le funciona bien.

Respecto a eso de que Ubuntu diga que tiene el idioma medio instalado y se ponga a instalar mas cosas he comprobado que lo que instala no tiene nada que ver con las locales que si están bien instaladas de serie. Lo que instala son algunas guias, manuales, documentación, alguna librería de openoffice, extensiones del diccionario y cosas así ninguna de ellas esenciales ni relativas al sistema osea que no os preocupeis por eso.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Hola soplo, justo me habías pillado haciendo unas pruebas que ya que las he hecho, lo comento. Es como me reacciona el portapapeles con una palabra con tilde, con "ñ"...dependiendo de lo que hago:

///// Pegar desde el portapapeles /////

Textbox.text = SConv(Clipboard.paste())                    'Pega mal el texto (p.ej. "Cami??n").

Segundo botón sobre el textbox > pegar                     'Pega bien el texto (p.ej. "Camión").



///// Con un archivo /////

File.Save("/Ruta/Archivo.txt", SConv(Clipboard.paste()))    'Pega bien el texto (p.ej. "Camión").  

Textbox.text = SConv(File.Load("/Ruta/Archivo.txt"))          'Pega mal el texto (p.ej. "Cami??n"). SIN USARSE CLIPBOARD



///// Con una base de datos MySQL /////

"Insert into Tabla values('" & SConv(Clipboard.paste()) & "')" > consulto en MySQL       'Pega mal el texto (p.ej. "Cami??n").

Textbox.text = res!campo > hecho con sql ("Select...")                                                     'Pega bien el texto (p.ej. "Camión"). SIN USARSE CLIPBOARD

------------------------------------------------------------------------------------------

Bueno, antes de nada decir que eres un CRACK!!! He hecho una prueva rápida con lo que comentas y no me ha llegado a resultar pero no se si lo estoy haciendo bien, necesito tiempo para hacer muchas pruebas y para MySQL que he visto que también le influye el clipboard.
De todas formas lo que dices es ejecutando el 'cortar' y 'pegar' de forma controlada, me refiero que si corto texto de una web no se si hará lo mismo. Tengo que probar muchas cosas ahora, lo que está claro es que lo que comentas me va a dar más juego. TAHNK YOU!  
 



 
CHIKILICUATRE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Yo creo que es que hay un bug en la codificación de la clase clipboard que solo trabaja con en_US.UTF-8 con independencia de lo que tengamos en el sistema y por eso es necesario hacer sconv al copiar.

Habría que examinar esto con mas detenimiento porque igual hay que avisar a Benoit.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Bueno, he descubierto que ese fallo surge cuando se tiene instalado todos los paquetes de gambas del Synaptic. El tema es que se me ha ocurrido mirar en mi portátil ya que tengo la misma versión de gambas (2.8) y el mismo SO (Ubuntu 9.04), y no me daba problemas el portapapeles. Sin embargo no podía ejecutar el proyecto que estoy haciendo porque no tenia el componente 'gb.db.form' para seleccionarlo. En mi portátil solo tenia instalado gambas de forma 'sencilla', solo el programa en si y el resto de paquetes no. Por el contrario, en el PC tenia instalado todos los paquetes de gambas.
He cogido y he seleccionado en el portátil todos los paquetes para instalarlos y BUM!  mi amigo el problema en persona.    Asi que se ve que hay algún problema de paquetes incompatibles o algo así.
Solución, voy a desinstalar los dos gambas y a instalar justo lo que necesite, para bases de datos y lo que surja.
Ender, ¿A que tienes instalados todos los paquetes? Que egoísta...       
 



 
CHIKILICUATRE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Sí, efectivamente, los tengo todos instalados, y porqué no había más! Jajajajaja

Miraré de ir desinstalando paquetes, y ver con cual desaparece el fallo....

Salu2, cracks.  
 



 
Ender - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Utilización Del Portapapeles 
 
Yo abandono este tema porque no entiendo nada:

Después de hacer pruebas y instalar desinstalar paquetes, deje todo instalado tanto en mi PC como en el portátil. La sorpresa es que ahora nada más arrancar el pc que siempre me a fallado con el portapapeles, he abierto un proyecto de prueba que tenia hecho con un botón, un texbox y 2 lineas de codigo:

 'textbox1.text = Str(File.Load("/ruta/Archivo.txt"))
textbox1.text = Clipboard.Paste()

Copie en el portapapeles la palabra "cañón" y funcionó. Es la primera vez que funciona el portapapeles en este pc(amd64) y sin SCnv(). Tambien funciono cogiendo texto de una web. Pero usando usando la linea de leer desde un archivo, falló.

Luego cerre por completo gambas, y volví a abrirlo con la aplicación que me estoy haciendo con una base de datos. Ejecuto la linea de copiar desde el portapapeles y no funcionó. Con sconv() o sin el.

Cerré otra vez gambas por completo, abro el programa de prueba con la linea de clipboard que me funcionaba y falla!

Por cierto, que en mi portátil parece que todo funciona, pero al pegar texto desde un archivo, al final de la cadena aparece el símbolo de cuando interpreta datos (cuatradito con números dentro). Y no es por salto de línea. Pero va bien.

Perdona Ender si te he vuelto loco. Me agarro a tu opinión soplo de que se tendrá que mirar detenidamente, pero los que entendéis.
 



 
CHIKILICUATRE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
7.50 7 8 2
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Utilización De Arrays soplo General 4 Viernes, 01 Octobre 2010, 18:39 Ver último mensaje
ariel
No hay nuevos mensajes Utilización De Gb.qt Y Gb.gtk Francis General 2 Lunes, 26 Septiembre 2011, 00:06 Ver último mensaje
Francis
No hay nuevos mensajes De Un Tableview Al Portapapeles [Solucionado] fedefunes General 4 Lunes, 09 May 2016, 02:41 Ver último mensaje
fedefunes
No hay nuevos mensajes Clase Clipboard. Portapapeles Shell General 3 Viernes, 19 May 2017, 10:40 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente

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
No puede descargar archivos
No puede publicar eventos en el calendario