Trasladar A Un Texto A Editor Kate Mediante DBus


Goto page 1, 2  Next

Subject: 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 .

Private $oKate As DBusProxy
Private $oTimer As Timer
Private $iCont As Integer
Private $oProc As Process

Public Sub _new()

$oTimer = New Timer As "Wait"
$oTimer.Delay = 500

End

Public Sub Form_Open()

End

Public Sub Kate_Kill()

Button2.Enabled = False
Button1.Enabled = True
Message.Info("Cierre de Kate")

End

Public Sub Button1_Click()
Dim oProc As Process

Last.Enabled = False

$oProc = Exec ["kate"] For Read As "Kate"
$iCont = 0
$oTimer.Start

End

Public Sub Wait_Timer()

Try $oKate = DBus["org.kde.kate-" & $oProc.Id]["/Kate/Document/1"]
If Not Error Then
$oTimer.Stop()
Button2.Enabled = True
Return
Endif
Inc $iCont
If $iCont = 10 Then
$oTimer.Stop()
Message.Error("Imposible conectarse a DBus")
Button1.Enabled = True
Endif

End

Public Sub Button2_Click()

$oKate.setText(Editor1.Text)

End

Last edited by vuott on Sunday, 08 March 2015, 16:45; edited 1 time in total
Profile PM  
Subject: Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Como estudio de procesos está muy interesante. Nunca he usado el recurso DBUS.

Subject: Re: Trasladar A Un Texto A Editor Kate Mediante DBus
Vuott:

Muy interesante... gracias por compartir....

Saludos

Subject: 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?

Subject: 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.

Last edited by vuott on Sunday, 08 March 2015, 22:22; edited 2 times in total
Profile PM  
Subject: 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?

Subject: 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. undecided


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
rolleyes

Last edited by vuott on Monday, 09 March 2015, 02:04; edited 4 times in total
Profile PM  
Subject: 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

Profile PM  
Subject: 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....

Subject: 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.

Profile PM  
Goto page 1, 2  Next

Page 1 of 2


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1268s (PHP: -10% SQL: 110%)
SQL queries: 26 - Debug Off - GZIP Enabled