Differenze tra le versioni di "Spostare il cursore in un Terminale lungo una riga di caratteri"
Da Gambas-it.org - Wikipedia.
Riga 43: | Riga 43: | ||
<FONT color=gray>' ''Va in chiusura:''</font> | <FONT color=gray>' ''Va in chiusura:''</font> | ||
− | |||
Shell "clear" <FONT color=gray>' ''Pulisce la finestra del terminale''</font> | Shell "clear" <FONT color=gray>' ''Pulisce la finestra del terminale''</font> | ||
fl.Close | fl.Close | ||
End | End |
Versione delle 07:35, 25 set 2023
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" ' 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 100 caratteri a sinistra lungo la riga: For i = 1 To 100 Write #fl, "\x08" Wait 0.05 Next Wait 4 ' Va in chiusura: Shell "clear" ' Pulisce la finestra del terminale fl.Close End