Differenze tra le versioni di "Conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
Per conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto, ci serviremo di un ciclo oppure, ancora meglio, dell'oggetto ''Timer''. | Per conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto, ci serviremo di un ciclo oppure, ancora meglio, dell'oggetto ''Timer''. | ||
− | |||
Vediamo un possibile esempio pratico: | Vediamo un possibile esempio pratico: | ||
Riga 9: | Riga 8: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | Dim b As Byte | |
− | + | Dim pts As String | |
With tempus = New Timer As "Tempus" | With tempus = New Timer As "Tempus" | ||
Riga 30: | Riga 29: | ||
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub Tempus_Timer() <FONT Color=gray>' ''Consente di verificare se un Terminale sia stato aperto.''</font> | '''Public''' Sub Tempus_Timer() <FONT Color=gray>' ''Consente di verificare se un Terminale sia stato aperto.''</font> | ||
− | + | Dim pts As String | |
− | + | Dim fl As File | |
<FONT Color=gray>' ''Effettua la verifica di quale file-device corrisponde a quello del Terminale appena aperto:'' | <FONT Color=gray>' ''Effettua la verifica di quale file-device corrisponde a quello del Terminale appena aperto:'' | ||
Riga 46: | Riga 44: | ||
fl = Open "/dev/pts" &/ pts For Write | fl = Open "/dev/pts" &/ pts For Write | ||
Write #fl, "Questo è\nil primo testo.\n" | Write #fl, "Questo è\nil primo testo.\n" | ||
− | + | Wait 0.1 | |
Write #fl, "Questo è\nil secondo testo.\n" | Write #fl, "Questo è\nil secondo testo.\n" | ||
fl.Close | fl.Close |
Versione attuale delle 15:49, 27 ago 2022
Per conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto, ci serviremo di un ciclo oppure, ancora meglio, dell'oggetto Timer.
Vediamo un possibile esempio pratico:
Private tempus As Timer Private ss As New String[] Public Sub Main() Dim b As Byte Dim pts As String With tempus = New Timer As "Tempus" .Delay = 10 .Start End With ' Verifica quanti file-device ci sono nella cartella "/dev/pts": b = Dir("/dev/pts").Count Print "Sono attualmente presenti "; b; " file-device nella cartella '/dev/pts':\n" ' Assegna ad ogni elemento della variabile array di tipo Stringa "ss" il nome di ciascun ' file-device 'pts' presente nella cartella '/dev/pts/' all'avvio del programma: For Each pts In Dir("/dev/pts") Print pts, ss.Push(pts) Next Write "\n\n" End Public Sub Tempus_Timer() ' Consente di verificare se un Terminale sia stato aperto. Dim pts As String Dim fl As File ' Effettua la verifica di quale file-device corrisponde a quello del Terminale appena aperto: ' il file-device nuovo, non presente nella variabile vettore di tipo stringa, è quello del terminale: For Each pts In Dir("/dev/pts") If Not ss.Exist(pts) Then Print "Aperto Terminale associato al file '/dev/pts/"; pts; "'" ss.Push(pts) ' Scriviamo qualcosa nel Terminale che è stato appena aperto: fl = Open "/dev/pts" &/ pts For Write Write #fl, "Questo è\nil primo testo.\n" Wait 0.1 Write #fl, "Questo è\nil secondo testo.\n" fl.Close Endif Next ss.Remove(0, ss.Count) For Each pts In Dir("/dev/pts") ss.Push(pts) Next End