Differenze tra le versioni di "Conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto, ci serviremo di un ciclo: '''Public''' Sub Main() Dim fl As File Dim b As Byte ...') |
|||
(3 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Per conoscere in tempo reale il file-device "pts" dell'ultimo Terminale appena aperto, ci serviremo di un ciclo | + | 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 | |
− | |||
− | |||
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Verifica quanti file-device ci sono nella cartella "/dev/pts":''</font> |
− | + | b = Dir("/dev/pts").Count | |
+ | Print "Sono attualmente presenti "; b; " file-device nella cartella '/dev/pts':\n" | ||
+ | |||
+ | <FONT Color=gray>' ''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:''</font> | ||
+ | For Each pts In Dir("/dev/pts") | ||
+ | Print pts, | ||
+ | ss.Push(pts) | ||
+ | Next | ||
+ | Write "\n\n" | ||
+ | |||
+ | End | ||
− | |||
+ | 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: il file-device nuovo, non presente nella variabile vettore di tipo stringa, è quello del terminale:''</font> | ||
+ | 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) | ||
<FONT Color=gray>' ''Scriviamo qualcosa nel Terminale che è stato appena aperto:''</font> | <FONT Color=gray>' ''Scriviamo qualcosa nel Terminale che è stato appena aperto:''</font> | ||
− | + | 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 |
Versione attuale delle 13:15, 1 lug 2024
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