Conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto
Da Gambas-it.org - Wikipedia.
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