Gambas-it

Programmazione => Altri linguaggi => Topic aperto da: akrobaticone - 06 Febbraio 2017, 11:06:11

Titolo: Eseguire script python in Gambas
Inserito da: akrobaticone - 06 Febbraio 2017, 11:06:11
per eseguire uno script  Python in Gambas lo si potrebbe  richiamare da shell
esistono altri modi?
se fosse possibile creare una libreria si potrebbe richiamare la funzione con extern
sto facendo un paciugo?

la questione mi è stata sottoposta da un collega
Titolo: Re:Eseguire script python in Gambas
Inserito da: Gianluigi - 06 Febbraio 2017, 13:40:40
Hai letto questo (http://gambas.8142.n7.nabble.com/how-to-execute-file-or-bash-script-packaged-inside-gambas-td20046.html)? Forse potrebbe servirti.
Titolo: Re:Eseguire script python in Gambas
Inserito da: vuott - 06 Febbraio 2017, 15:26:13
Prova anche a dare uno sguardo a:

http://www.gambas-it.org/smf/index.php?topic=20
http://www.gambas-it.org/smf/index.php?topic=3425
http://www.gambas-it.org/smf/index.php?topic=1525.0
https://es.wikibooks.org/wiki/Gambas/Scripting_con_Gambas
https://www.gambas-es.org/viewtopic.php?f=1&t=2434
https://www.gambas-es.org/viewtopic.php?f=1&t=892
https://www.gambas-es.org/viewtopic.php?f=1&t=5771
Titolo: Re:Eseguire script python in Gambas
Inserito da: vuott - 06 Febbraio 2017, 16:30:01
se fosse possibile creare una libreria si potrebbe richiamare la funzione con extern
In Gambas la risorsa Extern consente di dichiarare, per il suo uso effettivo, una funzione esterna contenuta in una libreria dinamica condivisa .so (shared library), scritta in linguaggio C o C++ .

Aggiungo che esiste una specifica libreria dinamica (libpython3.4m.so.1.0), che fa da interfaccia in C per utilizzare le risorse di Python nei sorgenti di C.
Un semplice esempio di suo uso in Gambas  è il seguente:
Codice: [Seleziona]
Library "libpython3.4m:1.0"

' (double) PyOS_string_to_double(const char *str, char **endptr, PyObject *overflow_exception)
' Convert a string s to a double.
Private Extern PyOS_string_to_double(strs As String, endptr As Pointer, overflow_exception As Pointer) As Float


Public Sub Main()
 
 Dim f As Float
 
  f = PyOS_string_to_double("123.456789", 0, 0)
 
  Print f
 
End
Titolo: Re:Eseguire script python in Gambas
Inserito da: akrobaticone - 06 Febbraio 2017, 21:40:26
vediamo se ho capito
la libreria libpython3.4m.so.1.0  è un contenitore di funzioni in python interfacciabile in C (e Gambas)
Nel caso volessi utilizzare uno script in Python?
Titolo: Re:Eseguire script python in Gambas
Inserito da: vuott - 06 Febbraio 2017, 23:38:55
vediamo se ho capito
la libreria libpython3.4m.so.1.0  è un contenitore di funzioni in python interfacciabile in C (e Gambas)
Sì, è così.



Nel caso volessi utilizzare uno script in Python?
T'ho posto la questione anche nel forum spagnolo:
https://www.gambas-es.org/viewtopic.php?f=1&t=6174
Titolo: Re:Eseguire script python in Gambas
Inserito da: akrobaticone - 07 Febbraio 2017, 08:37:42
Grazie
tengo d'occhio