Differenze tra le versioni di "Spostare da codice il cursore all'interno del Terminale"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
 
Per poter spostare da codice il cursore all'interno della finestra di un Terminale, bisogna operare con il protocollo supportato dal ''prompt Bash'' (PS1). <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
 
Per poter spostare da codice il cursore all'interno della finestra di un Terminale, bisogna operare con il protocollo supportato dal ''prompt Bash'' (PS1). <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
 
  
 
Nel seguente codice esemplificativo, sposteremo il cursore all'interno del Terminale posizionandolo in due posizioni successive diverse. Scriveremo in ciascuno spostamento due parole diverse che coloreremo la prima di giallo e la seconda di rosso. Il codice va compilato come eseguibile ''.gambas'' e lanciato direttamente nel Terminale.
 
Nel seguente codice esemplificativo, sposteremo il cursore all'interno del Terminale posizionandolo in due posizioni successive diverse. Scriveremo in ciascuno spostamento due parole diverse che coloreremo la prima di giallo e la seconda di rosso. Il codice va compilato come eseguibile ''.gambas'' e lanciato direttamente nel Terminale.
Riga 11: Riga 10:
 
   Wait 2
 
   Wait 2
 
   
 
   
   Write #fl, "\e[1;33m"  <FONT color=gray>' ''Coloriamo il testo di giallo''</font>  
+
   Write #fl, "\e[1;33m"  <FONT color=gray>' ''Colora il testo di giallo''</font>  
   Write #fl, "\e[5;10f" <FONT color=gray>' ''Posizioniamo il cursore''</font>
+
   Write #fl, "\e[5;10f"   <FONT color=gray>' ''Posiziona il cursore''</font>
 
   Write #fl, "giallo"   
 
   Write #fl, "giallo"   
 
   
 
   
 
   Wait 3   
 
   Wait 3   
 
   
 
   
   Write #fl, "\e[1;31m"  <FONT color=gray>' ''Coloriamo il testo di rosso''</font>
+
   Write #fl, "\e[1;31m"  <FONT color=gray>' ''Colora il testo di rosso''</font>
   Write #fl, "\e[10;30f"  <FONT color=gray>' ''Posizioniamo il cursore''</font>
+
   Write #fl, "\e[10;30f"  <FONT color=gray>' ''Posiziona il cursore''</font>
 
   Write #fl, "rosso"   
 
   Write #fl, "rosso"   
 
    
 
    
Riga 24: Riga 23:
 
   
 
   
 
  <FONT color=gray>' ''Va in chiusura:''</font>
 
  <FONT color=gray>' ''Va in chiusura:''</font>
   Shell "clear"     <FONT color=gray>' ''Puliamo il Terminale''</font>
+
   Shell "clear"         <FONT color=gray>' ''Pulisce il Terminale''</font>
   Write #fl, "\e[0m" <FONT color=gray>' ''Ripristiniamo il colore prestabilito''</font>
+
   Write #fl, "\e[0m"     <FONT color=gray>' ''Ripristina il colore prestabilito''</font>
 
   fl.Close   
 
   fl.Close   
 
    
 
    
 
  End
 
  End
 
  
  
  
 
=Note=
 
=Note=
[1] Vedere anche questa pagina della Wiki: [[Stampare_un_punto_nella_console_o_nel_Terminale_alle_coordinate_x,_y|Stampare un punto nella console o nel Terminale alle coordinate x, y]]
+
[1] Vedere anche questa pagina della Wiki: [[Stampare un punto nella console o nel Terminale alle coordinate x, y]]

Versione delle 15:46, 25 set 2023

Per poter spostare da codice il cursore all'interno della finestra di un Terminale, bisogna operare con il protocollo supportato dal prompt Bash (PS1). [Nota 1]

Nel seguente codice esemplificativo, sposteremo il cursore all'interno del Terminale posizionandolo in due posizioni successive diverse. Scriveremo in ciascuno spostamento due parole diverse che coloreremo la prima di giallo e la seconda di rosso. Il codice va compilato come eseguibile .gambas e lanciato direttamente nel Terminale.

Public Sub Main()  
 
 Dim fl As File  
 
 fl = Open "/dev/stdout" For Write  

 Wait 2

 Write #fl, "\e[1;33m"   ' Colora il testo di giallo 
 Write #fl, "\e[5;10f"   ' Posiziona il cursore
 Write #fl, "giallo"  

 Wait 3  

 Write #fl, "\e[1;31m"   ' Colora il testo di rosso
 Write #fl, "\e[10;30f"  ' Posiziona il cursore
 Write #fl, "rosso"  
 
 Wait 3  

' Va in chiusura:
  Shell "clear"          ' Pulisce il Terminale
  Write #fl, "\e[0m"     ' Ripristina il colore prestabilito
  fl.Close  
 
End


Note

[1] Vedere anche questa pagina della Wiki: Stampare un punto nella console o nel Terminale alle coordinate x, y