Differenze tra le versioni di "Lanciare da un'applicazione Gambas il Terminale e far partire da esso un programma"

Da Gambas-it.org - Wikipedia.
Riga 3: Riga 3:
  
 
==Uso di Shell==
 
==Uso di Shell==
Mostriamo un esempio di apertura del Terminale ''gnome-terminal'' mediante ''Shel'', e da lì avvio del programma ''vlc'' per l'esecuzione di un file audio:
+
Mostriamo un esempio di apertura del Terminale ''gnome-terminal'' mediante ''Shell'', e da lì avvio del programma ''vlc'' per l'esecuzione di un file audio:
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
    
 
    

Versione delle 16:52, 24 ago 2016

Se si intende lanciare da un'applicazione Gambas il Terminale e far partire da esso un qualsiasi programma, è possibile utilizzare alcune analoghe modalità.


Uso di Shell

Mostriamo un esempio di apertura del Terminale gnome-terminal mediante Shell, e da lì avvio del programma vlc per l'esecuzione di un file audio:

Public Sub Main()
 
  Shell System.Find("gnome-terminal") & " -x " & System.Find("vlc") & " /percorso/file/audio" 
  
End


Lo stesso codice, ma ora usando il terminale xterm:

Public Sub Main()
 
  Shell System.Find("xterm") & " -e " & System.Find("vlc") & " /percorso/file/audio" 
  
End


Uso della funzione esterna execv( )

Mostriamo un esempio di apertura del Terminale gnome-terminal mediante la funzione esterna execv( ), dichiarata nel file header "/usr/include/unistd.h":

' int execv (const char *__path, char *const __argv[])
' Execute PATH with arguments ARGV and environment from `environ'.
Private Extern execv(path As String, argv As String[]) as Integer In "libc:6"


Public Sub Main()
  
  execv(System.Find("gnome-terminal"), [" ", "-x", System.Find("vlc"), "/percorso/file/audio"])
  
End


Di seguito il medesimo esempio, ma utilizzando l'emulatore di Terminale xterm:

' int execv (const char *__path, char *const __argv[])
' Execute PATH with arguments ARGV and environment from `environ'.
Private Extern execv(path As String, argv As String[]) as Integer In "libc:6"


Public Sub Main()
  
  execv(System.Find("xterm"), [" ", "-e", System.Find("vlc"), "/percorso/file/audio"])
  
End


Uso della funzione esterna system( )

Mostriamo un esempio di apertura del Terminale gnome-terminal mediante la funzione esterna execv( ), dichiarata nel file header "/usr/include/stdlib.h":

' int system(const char *__command)
' Execute the given line as a shell command.
Private Extern system_C(__command As String) As Integer In "libc:6" Exec "system"


Public Sub Main()

  system_C(System.Find("gnome-terminal") & " -x " & System.Find("vlc") & "/percorso/file/audio")

End


Di seguito il medesimo esempio, ma utilizzando l'emulatore di Terminale xterm:

' int system(const char *__command)
' Execute the given line as a shell command.
Private Extern system_C(__command As String) As Integer In "libc:6" Exec "system"


Public Sub Main()

  system_C(System.Find("xterm") & " -e " & System.Find("vlc") & "/percorso/file/audio")

End