Spostare il cursore in un Terminale lungo una riga di caratteri

Da Gambas-it.org - Wikipedia.
Versione del 9 mag 2014 alle 02:07 di Vuott (Discussione | contributi) (Creata pagina con '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 ''e...')

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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 " &  
      "aaa bbb cccc ddd eee ffff gggg hhhh iiii llll mmmm nnnn oooo pppp qqqq rrr ssss tttt vvvvv uuuu zzz " &  
      "aaa bbb cccc ddd eee ffff gggg hhhhh"  
 
' 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 100 caratteri a sinistra lungo la riga:
  For i = 1 To 100  
    Write #fl, "\x08"  
  Next  
 
  Wait 3  
 
' Salta di 8 caratteri alla volta a destra x 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 150 caratteri a sinistra lungo la riga:
  For i = 1 To 150  
    Write #fl, "\x08"  
    Wait 0.05  
  Next  
 
  Wait 4  
  

' Va in chiusura:

  Shell "clear"    ' Pulisce la finestra del terminale
  fl.Close
 
End