Differenze tra le versioni di "Pseudo-ProgressBar in un'applicazione 'a riga di comando'"

Da Gambas-it.org - Wikipedia.
Riga 16: Riga 16:
 
    
 
    
 
  '''End'''
 
  '''End'''
 +
Se si vorrà avere l'effetto di una barra colorata (in verde), entrambe le righe con la funzione "Write" dovranno essere cambiate così:
 +
  Write "\r\e[42m" & Space(b) & "\e[0m" & Space(51 - b) & CStr(c) & "%"

Versione delle 20:07, 20 gen 2022

Se si scrivendo un'applicazione a riga di comando (quindi senza supporto grafico), evidentemente non sarà possibile utilizzare l'oggetto grafico ProgressBar. Per ottenere, allora, in console/Terminale un effetto simile ad una ProgressBar, può essere utilizzata una soluzione, che adopera ovviamente caratteri, simile alla seguente:

Public Sub Main()
 
 Dim b As Byte
 
 For b = 1 To 50
   Inc c
   Write "\r" & String(b, "=") & "]" & Space(51 - b) & CStr(c) & "%"
   Flush
   Wait 0.1
   Inc c
   Write "\r" & String(b, "=") & "]" & Space(51 - b) & CStr(c) & "%"
   Flush
   Wait 0.1
 Next
  
End

Se si vorrà avere l'effetto di una barra colorata (in verde), entrambe le righe con la funzione "Write" dovranno essere cambiate così:

 Write "\r\e[42m" & Space(b) & "\e[0m" & Space(51 - b) & CStr(c) & "%"