Aprire un Terminale con Desktop.OpenTerminal e passargli una riga di comando

Da Gambas-it.org - Wikipedia.
Versione del 4 nov 2016 alle 21:45 di Vuott (Discussione | contributi) (Creata pagina con "Dopo aver aperto un Terminale mediante il Metodo ''.OpenTerminal( )'' della Classe ''Desktop'', è possibile inviargli una linea di comando eseguibile ed efficace utilizzando...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Dopo aver aperto un Terminale mediante il Metodo .OpenTerminal( ) della Classe Desktop, è possibile inviargli una linea di comando eseguibile ed efficace utilizzando il Metodo .SendKeys( ) della predetta Classe.

Ovviamente è necessario attivare i Componenti gb.desktop.x11 e gb.desktop.


Mostriamo un esempio:

Private b As Byte


Public Sub Form_Open()
 
' Apprendiamo il numero dei file-device pseudoterminale nella cartella "/dev/pts":
 b = Dir("/dev/pts", "*", gb.Device).Count
 
End


Public Sub Button1_Click()
 
 Desktop.OpenTerminal

' L'apertura del Terminale determina la creazione di un altro e nuovo file-device "pts".
' Restiamo in attesa fino alla sua creazione, dato che il nuovo file-device "pts" = nuovo Terminale aperto !
 Do
   Sleep 0.01
 Loop Until Dir("/dev/pts", "*", gb.Device).Count > b
 
' Una volta che il Terminale è stato aperto, gli inviamo la linea di comando (ad esempio "ls"):
 Desktop.SendKeys("ls")
  
End

La linea di comando apparirà nel Terminale e potrà essere utilizzata efficacemente cliccando come di consueto sul tasto "Invio" della tastiera. Qualora si intenda attivare il comando nel Terminale immediatamente dopo la sua stampa, si aggiungerà il carattere escape "\n" nell'argomento del Metodo .SendKeys( ) immediatamente dopo il comando, ossia:

Desktop.SendKeys("ls\n")