Differenze tra le versioni di "Passare in runtime il numero del file-device 'pts' di un Terminale"
Da Gambas-it.org - Wikipedia.
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 1: | Riga 1: | ||
− | 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 | + | 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 |[[#Note|1]]|. |
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'': | ||
Riga 9: | Riga 9: | ||
<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> | ||
While IsNull(s) | While IsNull(s) | ||
− | <FONT color=gray>' ''Intercetta quanto scritto nel Terminale, ove è stato lanciato il programma Gambas:''</font> | + | <FONT color=gray>' ''Intercetta quanto scritto (ossia il numero del file-device 'pts' del Terminale) nel Terminale, ove è stato lanciato il programma Gambas:''</font> |
Input #File.In, s | Input #File.In, s | ||
fl = Open "/dev/pts" &/ s For Output | fl = Open "/dev/pts" &/ s For Output | ||
− | <FONT color=gray>' ''Ricevuto quanto scritto nel Terminale, lo mostra nuovamente con aggiunta di altro testo nel Terminale medesimo:''</font> | + | <FONT color=gray>' ''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:''</font> |
Print #fl, "Numero file 'pts' = " & s | Print #fl, "Numero file 'pts' = " & s | ||
Wend | Wend |
Versione attuale delle 19:09, 23 dic 2014
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.