A mio modesto parere credo che, essendo Gambas un linguaggio "
orientato agli oggetti", esso ha una predisposizione "
originaria" al superamento, laddove non sia effettivamente necessario (demone o
non uso di testo o della grafica), della logica del funzionamento "
a riga di comando" all'interno della finestra del Terminale.
Del resto, il tuo uso prevede l'utilizzo
comunque di una normale finestra (quella del Terminale), nella quale scrivere del testo. Pertanto, non è comprensibile, agendo in ambiente Gambas, il perché del non-utilizzo di un
Form (che è comunque una finestra) e degli oggetti che supportano testo e/o grafica messi a disposizioni dalle risorse di Gambas.
Ad ogni modo, non è certo vietato l'uso del linguaggio Gambas per applicazioni "
a riga di comando". Pertanto, vediamo cosa possiamo risolvere riguardo alle domande da te poste.
Affronterei la questione della "pulizia dello schermo", che si risolve nella
pulizia del Terminale.
Di norma, la pulizia del Terminale avviene con il comando "
clear" (ma anche
Ctrl+l). Pertanto, dovrai inviare questo comando al Terminale.
Va segnalato che
potrebbe essere necessario inviare preliminarmente la riga:
export TERM=xterm, al fine di evitare il problema "
TERM environment variable not set".
Il tuo codice quindi assumerebbe per ora questo tenore:
Public Sub Main()
Dim aa As Integer
' Per un corretto funzionamento è necessario conoscere l'esatto
' tipo del terminale su cui si sta lavorando. Andrebbe quindi settata
' la variabile TERM con la sintassi propria del sistema su cui si lavora.
' Va, pertanto, verificato se l'attivazione di questa riga è necessaria:
' Shell "export TERM=xterm"
Print Chr$(10); Chr$(13)
For aa = 1 To 2
Print Space$(8); "pippo"; Space$(16); aa
Sleep 1
Next
Print Space$(8); "fine"; Space$(8); "fine"; Space$(8); "fine";
Print Chr$(10)
Wait 1 ' oppure Sleep se preferisci
' Puliamo il Terminale inviandogli il comando "clear":
Shell "clear"
Wait 0.01
Print "Ultima riga"
Wait 2
End