Spostare il cursore in un Terminale lungo una riga di caratteri

Da Gambas-it.org - Wikipedia.

Per poter spostare il cursore lungo una riga di caratteri all'interno del Terminale, dovremo inviare i comandi necessari, costituiti in tal caso semplicemente da caratteri escape, al file-device "/dev/stdout" del Terminale medesimo.

Mostriamo di seguito un esempio "a riga di comando" che dovrà essere compilato e lanciato direttamente dal Terminale:

Public Sub Main()  
  
 Dim i As Integer  
 Dim s As String  
 Dim fl As File  
 
 s = "aaa bbb cccc ddd eee ffff gggg hhhh iiii llll mmmm nnnn oooo pppp qqqq rrr ssss tttt vvvvv uuuu zzz"
 
' Va verificato se è necessaria l'attivazione della seguente riga:
' Shell "export TERM=xterm"
 
 fl = Open "/dev/stdout" For Write  
 Write #fl, s  
   
 Wait 3  
 
' Sposta il cursore 80 caratteri a sinistra lungo la riga:
 For i = 1 To 80
   Write #fl, "\x08"  
 Next  
 
 Wait 3  
 
' Salta di 8 caratteri alla volta a destra per 10 volte lungo la riga:
 For i = 1 To 10  
   Write #fl, "\x09"  
   Wait 0.3  
 Next  
 
 Wait 2  
 
' Sposta (ora più lentamente) il cursore di 90 caratteri a sinistra lungo la riga:
 For i = 1 To 90
   Write #fl, "\x08"  
   Wait 0.05  
 Next  
 
 Wait 4  
  
' Va in chiusura:
 Shell "clear"    ' Pulisce la finestra del terminale
 fl.Close
 
End


Note

[1] Vedere anche le seguenti pgine della Wiki: