Pulire il Terminale via codice

Da Gambas-it.org - Wikipedia.

Per ottenere la pulizia del Terminale da quanto è stato in esso stampato, si possono adottare due modalità.


Uso della sequenza di escape \e[2J

Si può fare uso della funzione Print o della funzione Write seguita dalla sequenza di escape \e[2J .


Esempio:

Public Sub Main()
 
 Print "Testo qualsiasi"
 
 Wait 1
 
 Print "Testo qualsiasi"
 
 Wait 1
 
 Write "\e[2J"
 
 Print "Testo qualsiasi"
 
End


Uso di Shell e del comando clear

Di norma, la pulizia del Terminale avviene con il comando "clear" (ma anche con Ctrl+l da tastiera). Pertanto, se si opera con un applicativo a riga di comando, bisognerà inviare detto comando al Terminale.

Va segnalato che potrebbe essere necessario inviare preliminarmente la riga: export TERM=xterm, al fine di evitare il problema "TERM environment variable not set". Infatti, per un corretto funzionamento è necessario conoscere l'esatto tipo del terminale su cui si sta lavorando. Andrebbe quindi settata la variabile TERM con la sintassi propria del sistema su cui si lavora.


Mostriamo un esempio pratico:

Public Sub Main()  
 
 Dim i As Integer  
 
' Va verificato se l'attivazione di questa riga è necessaria:
 ' Shell "export TERM=xterm"
 
  For i = 1 To 2  
    Print "Testo qualsiasi"
    Wait 1    
  Next
  
  Wait 1  
    
' Puliamo il Terminale inviandogli il comando "clear":
  Shell "clear"  
    
  Wait 0.01  
  Print "Testo qualsiasi"  
  Wait 2  
    
End