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...')
 
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
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.
 
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:
 
Mostriamo di seguito un esempio "''a riga di comando''" che dovrà essere compilato e lanciato direttamente dal Terminale:
  '''Public''' Sub Main()   
+
  Public Sub Main()   
 
    
 
    
 
   Dim i As Integer   
 
   Dim i As Integer   
Riga 9: Riga 8:
 
   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 "
+
  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" 
 
 
    
 
    
 
  <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   
+
  fl = Open "/dev/stdout" For Write   
  Write #fl, s   
+
  Write #fl, s   
 
      
 
      
  Wait 3   
+
  Wait 3   
 
    
 
    
  <FONT color=gray>' ''Sposta il cursore 100 caratteri a sinistra lungo la riga:''</font>
+
  <FONT color=gray>' ''Sposta il cursore 80 caratteri a sinistra lungo la riga:''</font>
  For i = 1 To 100 
+
  For i = 1 To 80
    Write #fl, "\x08"   
+
    Write #fl, "\x08"   
  Next   
+
  Next   
 
    
 
    
  Wait 3   
+
  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 per 10 volte lungo la riga:''</font>
  For i = 1 To 10   
+
  For i = 1 To 10   
    Write #fl, "\x09"   
+
    Write #fl, "\x09"   
    Wait 0.3   
+
    Wait 0.3   
  Next   
+
  Next   
 
    
 
    
  Wait 2   
+
  Wait 2   
 
    
 
    
  <FONT color=gray>' ''Sposta (ora più lentamente) il cursore di 150 caratteri a sinistra lungo la riga:''</font>
+
  <FONT color=gray>' ''Sposta (ora più lentamente) il cursore di 90 caratteri a sinistra lungo la riga:''</font>
  For i = 1 To 150 
+
  For i = 1 To 90
    Write #fl, "\x08"   
+
    Write #fl, "\x08"   
    Wait 0.05   
+
    Wait 0.05   
  Next   
+
  Next   
 
    
 
    
  Wait 4   
+
  Wait 4   
 
    
 
    
 
 
  <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
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] Vedere anche le seguenti pgine della Wiki:
 +
* [[Spostare da codice il cursore all'interno del Terminale]]
 +
* [[Stampare un punto nella console o nel Terminale alle coordinate x, y]]

Versione attuale delle 15:58, 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"
 
' 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: