Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ejecutar Script De Python En Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ejecutar Script De Python En Gambas 
 
Un miembro del foro italiano escribe esta pregunta:

" Para ejecutar un 'script' de Python en gambas se podría usar 'Shell'.
  Hay otros modos ?
"

Que podemos responder a el nuestro amigo ?
 



 
última edición por vuott el Lunes, 06 Febrero 2017, 17:13; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejecutar Script De Python En Gambas 
 
algo así?
Shell "python /home/user10/Escritorio/programa.py"
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejecutar Script De Python En Gambas 
 
Vuott, tu sabes que son lenguajes distintos, aunque tienen cosas parecidas como lo pueden tener
la mayoría de los lenguajes.

La respuesta de v3ctor puede ser la más adecuada.
Uno de los capítulos del libro de gambas es el uso de funciones o aplicaciones externas al lenguaje.
Los recursos están ahí para usarlos.

Yo intentaría traducir el script lo mejor posible y adaptarlo a las posibilidades de Gambas.
No es tan fácil cuando un script de Python comienza importando módulos, teniendo
que buscar estos para ver que hace la función. Es un trabajo que puede ser
laborioso.

Nosotros como programadores de gambas, debemos buscar la manera de que
sea posible de hacer algo en gambas. Mejor o peor para empezar y mejorarlo,
pero en Gambas.

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: Ejecutar Script De Python En Gambas 
 
Shell escribió: [Ver mensaje]
Uno de los capítulos del libro de gambas es el uso de funciones o aplicaciones externas al lenguaje.
Los recursos están ahí para usarlos.

Pero el recurso Extern en gambas puede ser utilizado solo para librerias escritas en lenguaje C/C++ (shared library) !
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejecutar Script De Python En Gambas 
 
No conozco el tema, pero me pregunto ¿se puede transformar a bytecode el script python (digamos con CPython)?
Quizá de esa manera pueda haber una comunicación con el programa más fácil para la función SHELL.

¿Se podrá?
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejecutar Script De Python En Gambas 
 
Creo que lo mejor es traducir el script a gambas, ya que me parece (no estoy seguro) que exista una herramienta como Extern.
Luego, para implementar script de Python como si fueran una librería, creo que habria que compilarlo  y convertirlo en una libreria (como dice vcir ) y luego ejecutarlo con shell (con externo no se puede no?). Y suponiendo que se puede usar de aquella manera sigo opinano que lo mejor es convertir los scripts a gambas.

Los componentes de gambas están programados en C, C++ Y gambas también.
Seria muy pero que muy útil un programa "conversor" de python a gambas

Si alguien que tenga el nivel de programación y conocimientos de ambos lenguajes se anima a hacerlo creo que todos lo agradeceremos, ya que hay muchos scripts de python por ahí que vendrian muy bien en gambas.
Lo mismo ocurre con perl o bash.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejecutar Script De Python En Gambas 
 
Shell escribió: [Ver mensaje]

Nosotros como programadores de gambas, debemos buscar la manera de que
sea posible de hacer algo en gambas. Mejor o peor para empezar y mejorarlo,
pero en Gambas.


por ahí van lo hilos dijera shordi  

exacto primero que funcione, que cumpla la función o tarea o resuelva un problema....
después se ve si le pones 4 chirimbolos y 2 estrellas o cuatro naranjas y dos tomates jajjajajaja


saludos.

Nota: al adjunto cambiar extensión de .txt a .py   y tiene un demo moviendo círculos y cuadrados para probarlo desde gambas
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Martes, 07 Febrero 2017, 19:52; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejecutar Script De Python En Gambas 
 
Hice la siguiente prueba:

En un archivo que llamé "horadia.py"
#!/usr/bin/env python

import sys
import time

wr = sys.stdout.write

if len(sys.argv) > 1:
    if sys.argv[1] == "-h":
        wr(time.strftime("%I:%M:%S"))
    elif sys.argv[1] == "-d":
        wr(time.strftime("%d/%m/%y"))
    else:
        wr("-1")
else:
    wr("-1")

# la siguiente linea la usé para saber si había diferencia entre un Print y un stdout.write // Y no, no tuve diferencias
# print "\n--Chao--\n"

 


Al archivo le di la propiedad de ejecutable y lo dejé en mi home.

Luego en gambas cree un simple formulario con un botón llamado "btnOut" y un textBox llamado "txtResp".
Al presionar el botón recibe en una variable tipo String la respuesta del script en Python.  Esto es en Gambas:

Public Sub btnOut_Click()

  Dim sCad As String
  
  'directamente le indico que me muestre la fecha
  Exec [User.Home & "/./horadia.py", "-d"] To sCad

  txtResp.Text = sCad

End
 


Resultado: Se obtiene lo que se imprime en Python ya sea por stdout.write o por Print.


Saludos a todos
 



 
vicr - 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
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes ¿ Pasar Resultado De Un Script De Python ... gauchito General 4 Domingo, 17 Junio 2012, 11:12 Ver último mensaje
jsbsan
No hay nuevos mensajes ¿ Es Posible Ejecutar Un Script De Gambas... Shell General 2 Jueves, 31 Julio 2014, 21:54 Ver último mensaje
Shell
No hay nuevos mensajes Al Ejecutar Shell Script Desde Gambas No T... ivanolete Shell Scripting 6 Viernes, 09 Enero 2015, 02:43 Ver último mensaje
ivanolete
No hay nuevos mensajes Ejecutar Un Script elcid General 5 Martes, 28 Julio 2015, 20:50 Ver último mensaje
elcid
 

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

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
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