Differenze tra le versioni di "Attendere in un'applicazione 'a riga di comando' la pressione del tasto 'Invio'"

Da Gambas-it.org - Wikipedia.
Riga 3: Riga 3:
  
 
==Uso dell'evento ''Application_Read()''==
 
==Uso dell'evento ''Application_Read()''==
Questa modalità è mostrata anche in [[Uso_della_classe_Application#Read.28.29|questa pagina della WIKI]], alla quale si rinvia, e si basa sulla sollevazione dell'evento ''_Read()'' della Classe ''Application''.
+
Per questa modalità che si basa sulla sollevazione dell'Evento "_Read()" della Classe ''Application'', si rinvia alla seguente pagina:
 +
https://www.gambas-it.org/wiki/index.php/Uso_della_classe_Application#.Read.28.29
  
  
Riga 16: Riga 17:
 
   Dim s As String
 
   Dim s As String
 
    
 
    
  <FONT Color=#B22222>Input s</font>
+
  <FONT Color=#B22222>Input s</font>
 
      
 
      
  Print "Tasto premuto !", s
+
  Print "Tasto premuto !", s
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 07:59, 31 ago 2022

Per determinare in un'applicazione "a riga di comando" (quindi lanciata da Terminale) l'attesa della pressione del tasto Invio, potranno essere utilizzate diverse modalità.


Uso dell'evento Application_Read()

Per questa modalità che si basa sulla sollevazione dell'Evento "_Read()" della Classe Application, si rinvia alla seguente pagina: https://www.gambas-it.org/wiki/index.php/Uso_della_classe_Application#.Read.28.29


Uso della funzione Input

Questa modalità prevede il semplice uso della funzione Input in varie possibilità che di seguito si espongono.

Uso di Input e di una variabile stringa

Questa modalità fa semplicemente uso di Input ed una variabile di tipo stringa:

Public Sub Main()

 Dim s As String
 
 Input s
   
 Print "Tasto premuto !", s

End


Uso della proprietà File.In

Questa modalità fa uso in modo diretto della proprietà File.In che ritorna lo standard input del flusso:

Public Sub Main()

 Dim s As String
  
  Input #File.In, s
  
  Print "Tasto premuto !", s

End


Uso del file-device /dev/stdin

Questa modalità fa uso del file-device /dev/stdin che dovrà essere aperto in lettura:

Public Sub Main()

 Dim fl As File
 Dim s As String

  fl = Open "/dev/stdin" For Read
  
  Input #fl, s
  
  fl.Close
   
  Print "Tasto premuto !", s
  
End


Uso del file-device /dev/tty

Questa modalità fa uso del file-device /dev/tty che dovrà essere aperto in lettura:

Public Sub Main()

 Dim fl As File
 Dim s As String

  fl = Open "/dev/tty" For Read

  Input #fl, s
      
  fl.Close
  
  Print "Tasto premuto !", s

End


Uso del file-device /dev/pts/...

Questa modalità fa uso del file-device /dev/pts/... specifico del Terminale nel quale è stata lanciata la nostra applicazione a riga di comando. Lo specifico file-device di tipo pts, è identificato con un numero che però andrà preventivamente individuato e dovrà essere aperto in lettura:

Public Sub Main()

 Dim fl As File
 Dim s As String

  fl = Open "/dev/pts/..." For Read

  Input #fl, s
          
  fl.Close
  
  Print "Tasto premuto !", s

End


Uso del file /proc/self/fd/0

Questa modalità fa uso del file /proc/self/fd/0 che dovrà essere aperto in lettura:

Public Sub Main()

 Dim fl As File
 Dim s As String

  fl = Open "/proc/self/fd/0" For Read
  
  Input #fl, s
       
  fl.Close
  
  Print "Tasto premuto !", s

End