Scrivere nello Standard Input di un Terminale con un programma Gambas 'a riga di comando'

Da Gambas-it.org - Wikipedia.
Versione del 7 ott 2014 alle 15:59 di Vuott (Discussione | contributi) (Creata pagina con 'Per scrivere nello ''Standard Input'' di un Terminale con un programma Gambas "''a riga di comando''", in modo tale che il processo di svolgimento di detto programma resti in ...')

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

Per scrivere nello Standard Input di un Terminale con un programma Gambas "a riga di comando", in modo tale che il processo di svolgimento di detto programma resti in attesa dell'immissione dei dati nel Terminale, si potranno utilizzare almeno le seguenti modalità:


con Input ed una variabile

Questa è la modalità più semplice, la quale prevede l'istruzione Input seguita semplicemente da una variabile.

Esempio:

Public Sub Main()

 Dim v As Integer

  Input v

  Print v * 10

End


con la proprietà #File.In ed una variabile

Quest'altra modalità prevede l'uso della proprietà .In della Classe File con il prefisso #, e seguita da una variabile.

Esempio:

Public Sub Main()

 Dim v As Integer

  Input #File.In, v

  Print v * 10

End


con l'apertura in lettura del file speciale pts del Terminale

Questa modalità prevede l'apertura in lettura del file speciale pts relativo al Terminale, ove è stato lanciato il programma Gambas.

Esempio:

Public Sub Main()

 Dim v As Integer
 Dim fl As File

' Va individuato preventivamente il numero del file speciale "pts" relativo al Terminale, ove è stato lanciato il programma Gambas:
  fl = Open "/dev/pts/n" For Read

  Input #fl, v

  Print v * 10

  fl.Close

End


con l'apertura in lettura del file-descriptor del Terminale

Questa modalità prevede l'apertura in lettura del file-descriptor relativo al Terminale, ove è stato lanciato il programma Gambas.

Esempio:

Public Sub Main()

 Dim v As Integer
 Dim fl As File

' Va individuato preventivamente il numero del "processo" identificativo del Terminale, ove è stato lanciato il programma Gambas.:
  fl = Open "/proc/numero del processo/fd/0" For Read

  Input #fl, v

  fl.Close

End