Autor |
Mensaje |
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Trasladar A Un Texto A Editor Kate Mediante DBus
HOLA amigos,
os dejo este código demostrativo, escrito por el usuario milio del foro gambas-it, para enviar texto directamente a el editor Kate (KDE) mediante el recurso DBUS.
Se necesita activar el componente gb.dbus .
última edición por vuott el Domingo, 08 Marzo 2015, 16:45; editado 1 vez
|
#1 Domingo, 08 Marzo 2015, 16:43 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Como estudio de procesos está muy interesante. Nunca he usado el recurso DBUS.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#2 Domingo, 08 Marzo 2015, 19:54 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Vuott:
Muy interesante... gracias por compartir....
Saludos
|
#3 Domingo, 08 Marzo 2015, 20:59 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Vuott:
Lo he probado (instalando kate, porque no lo tenia en mi sistema), pero no hace nada...¿tengo que usar el escritorio KDE?
|
#4 Domingo, 08 Marzo 2015, 21:27 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
jsbsan escribió: Vuott:
Lo he probado (instalando kate, porque no lo tenia en mi sistema), pero no hace nada...¿tengo que usar el escritorio KDE?
Creo que sì, jsbsan.
Yo lo usé hace tiempo y tenía el escritorio KDE.
Claramente los pasos son:
1) clic sobre el Button1 para abrir Kate;
2) escribir el texto en el objecto Editor de programa;
3) clic sobre el Button2 para eviar el texto.
última edición por vuott el Domingo, 08 Marzo 2015, 22:22; editado 2 veces
|
#5 Domingo, 08 Marzo 2015, 22:18 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Vuott:
Citar: Claramente los pasos son:
1) clic sobre el Button1 para abrir Kate;
2) escribir el texto en el objecto Editor de programa;
3) clic sobre el Button2 para eviar el texto.
Ahora si !!!
No entendí bien lo que hacia cada botón.
Y me ha funcionado sin tener instalado usar KDE.
Posible utilidad....
¿es posible mandar datos a hojas de cálculo, por ejemplo libreoffice? Seria interesante para pasar datos.
¿alguna aplicación práctica se le ocurre a alguien más?
|
#6 Lunes, 09 Marzo 2015, 00:06 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
jsbsan escribió:
¿es posible mandar datos a hojas de cálculo, por ejemplo libreoffice? Seria interesante para pasar datos.
No se. Tendrías que probar.
El problema, pero, yo creo está aqui:
...["org.kde.kate-" & $oProc.Id]...
es decir, " org.kde.kate-" se refiere a Kate; ...y para libreoffice ? O para Gedit ? Cual es el comando ? Yo no lo se. No conozco DBus.
Para enviar texto desde gambas a Gedit yo he escrito este codigo (no utiliza DBus) un poco enreversado (...todo un juego de Focus).
Se necesita:
- activar los componentes gb.desktop y gb.desktop.x11;
- poner sobre el Form un objecto Editor y dos Button.
Private dw As DesktopWindow
Public Sub Form_Open()
Shell "gedit"
' Salimos del ciclo cuando la ventana de Gedit aparece:
Do
Wait 0.1
Loop Until Desktop.FindWindow(Null, "*gedit*", Null).Count > 0
dw = New DesktopWindow(Desktop.FindWindow(Null, "*gedit*", Null)[0])
With Me
.Show
.Center
Wait 0.1
.SetFocus
End With
End
Public Sub Button1_Click() ' Esta sub-procedura escribe en Gedit
' Da el Focus a la ventana de Gedit:
dw.Activate()
Wait 0.1
' Escribe en Gedit "todo el texto visible" en el objecto Editor:
Desktop.SendKeys(Editor1.Text)
' Esta da el Focus a el programa Gambas:
Desktop.ActiveWindow = Me.Id
Editor1.Text = Null
End
Public Sub Button2_Click() ' Esta sub-procedura cierra el programa Gambas
Quit
End
última edición por vuott el Lunes, 09 Marzo 2015, 02:04; editado 4 veces
|
#7 Lunes, 09 Marzo 2015, 01:55 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Citar: ¿es posible mandar datos a hojas de cálculo, por ejemplo libreoffice? Seria interesante para pasar datos.
Para ese viaje no hace falta tanta alforja, que se dice en mi pueblo. Si quieres documentos de LibreOffice, entonces es que tienes LibreOffice instalados ¿no?
Prueba, pues, esto:
Shell "libreoffice --headless --convert-to ods \"" & path_a_mificherocsv & "\""
Donde dice ods, puedes poner cualquier formato de fichero que entienda libreOffice: doc, odt, xls, etc. etc.
No es perfecto y tiene algunas limitaciones, pero para lo normal va de maravilla.
Saludos
|
#8 Lunes, 09 Marzo 2015, 08:57 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Shordi:
Imagino que lo Dbus, tambien servirá para interactuar con el programa ... poner filas de colores, poner formulas, y aplicarlas....
|
#9 Lunes, 09 Marzo 2015, 12:33 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Pues no sé, no he usado nunca este componente... pero eso me da una idea para un problema que tengo desde siempre... aunque mejor lo pongo en otro hilo, a ver si a alguien se le ocurre algo.
|
#10 Lunes, 09 Marzo 2015, 12:41 |
|
|
|