Differenze tra le versioni di "Spostare il cursore in un Terminale lungo una riga di caratteri"
Da Gambas-it.org - Wikipedia.
(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...') |
|||
Riga 9: | Riga 9: | ||
Dim fl As File | 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" | |
− | |||
<FONT color=gray>' ''Va verificato se è necessaria l'attivazione della seguente riga:'' | <FONT color=gray>' ''Va verificato se è necessaria l'attivazione della seguente riga:'' | ||
' Shell "export TERM=xterm"</font> | ' Shell "export TERM=xterm"</font> | ||
− | + | fl = Open "/dev/stdout" For Write | |
− | + | Write #fl, s | |
− | + | Wait 3 | |
<FONT color=gray>' ''Sposta il cursore 100 caratteri a sinistra lungo la riga:''</font> | <FONT color=gray>' ''Sposta il cursore 100 caratteri a sinistra lungo la riga:''</font> | ||
− | + | For i = 1 To 100 | |
− | + | Write #fl, "\x08" | |
− | + | Next | |
− | + | Wait 3 | |
<FONT color=gray>' ''Salta di 8 caratteri alla volta a destra x 10 volte lungo la riga:''</font> | <FONT color=gray>' ''Salta di 8 caratteri alla volta a destra x 10 volte lungo la riga:''</font> | ||
Riga 36: | Riga 35: | ||
Wait 2 | Wait 2 | ||
− | <FONT color=gray>' ''Sposta (ora più lentamente) il cursore di | + | <FONT color=gray>' ''Sposta (ora più lentamente) il cursore di 100 caratteri a sinistra lungo la riga:''</font> |
− | For i = 1 To | + | For i = 1 To 100 |
Write #fl, "\x08" | Write #fl, "\x08" | ||
Wait 0.05 | Wait 0.05 |
Versione delle 02:21, 23 giu 2020
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