Differenze tra le versioni di "Passare in runtime il numero del file-device 'pts' di un Terminale"

Da Gambas-it.org - Wikipedia.
 
Riga 2: Riga 2:
  
 
Per fare ciò si utilizzerà il file device dello ''standard input'' con la proprietà ''.In'' della Classe ''File'':
 
Per fare ciò si utilizzerà il file device dello ''standard input'' con la proprietà ''.In'' della Classe ''File'':
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
  Dim fl As File
+
  Dim fl As File
  Dim s As String
+
  Dim s As String
 
   
 
   
 
  <FONT color=gray>' ''Esegue il ciclo, finché non sarà stato inviato dal Terminale al programma Gambas un carattere tramite la tastiera:''</font>
 
  <FONT color=gray>' ''Esegue il ciclo, finché non sarà stato inviato dal Terminale al programma Gambas un carattere tramite la tastiera:''</font>
Riga 18: Riga 18:
 
   fl.Close
 
   fl.Close
 
   
 
   
  '''End'''
+
  End
 
Tale codice offre una soluzione in un programma Gambas ''a linea di comando'' per fare ciò che in un'applicazione grafica l'istruzione ''InputBox'' consente di fare: inviare dati al programma mentre è in funzione.
 
Tale codice offre una soluzione in un programma Gambas ''a linea di comando'' per fare ciò che in un'applicazione grafica l'istruzione ''InputBox'' consente di fare: inviare dati al programma mentre è in funzione.
  

Versione attuale delle 13:39, 1 lug 2024

Il caso è quello in cui si deve passare al programma Gambas a linea di comando, mentre sta funzionando, il numero identificatore di un Terminale aperto |1|.

Per fare ciò si utilizzerà il file device dello standard input con la proprietà .In della Classe File:

Public Sub Main()

  Dim fl As File
  Dim s As String

' Esegue il ciclo, finché non sarà stato inviato dal Terminale al programma Gambas un carattere tramite la tastiera:
  While IsNull(s)
' Intercetta quanto scritto (ossia il numero del file-device 'pts' del Terminale) nel Terminale, ove è stato lanciato il programma Gambas:
    Input #File.In, s
    fl = Open "/dev/pts" &/ s For Output
' Ricevuto quanto scritto (ossia il numero del file-device 'pts' del Terminale) nel Terminale, lo mostra nuovamente con aggiunta di altro testo nel Terminale medesimo:
    Print #fl, "Numero file 'pts' =  " & s
  Wend

  fl.Close

End

Tale codice offre una soluzione in un programma Gambas a linea di comando per fare ciò che in un'applicazione grafica l'istruzione InputBox consente di fare: inviare dati al programma mentre è in funzione.


Note

[1] Ovviamente con il codice esposto in questa pagina è possibile passare al programma Gambas a linea di comando dal Terminale, ove esso è stato lanciato, qualunque dato in formato stringa di caratteri.