Scrivere nella console (standard output) di Gambas

Da Gambas-it.org - Wikipedia.

Per scrivere nello standard output di un programma Gambas, ossia in pratica all'interno della console del'IDE di Gambas oppure nel Terminale nel quale sia stato lanciato il nostro programma Gambas a linea di comando, si potranno adottare le seguenti modalità.


Scrivere con "Print"

Si potrà utilizzare la classica istruzione "Print", la quale imposta anche una formattazione del testo aggiungendo ad esso il carattere escape "\n", ossia di "nuova riga a capo":

Public Sub Main()

 Print "Scrive con il 'Print'"

End


Scrivere con "Write"

L'istruzione "Write" scrive il testo senza alcuna formattazione del testo:

Write "testo qualsiasi"

Si potrà anche utilizzare l'istruzione Write e la proprietà ".Out" della Classe "File":

Write #File.Out, "Scrive con la funzione 'Write' e la proprietà 'File.Out'"


Scrivere con "File.Save"

Si potrà utilizzare il metodo "File.Save" su diversi file particolari, che possono essere:

  • il file-device /dev/stdout;
  • il file-device /dev/tty;
  • il file-descriptor /proc/self/fd/1 dello standard-output;
  • il file-speciale "pts" (da individuare di volta in volta) della console o del Terminale nel quale eventualmente il programma Gambas è stato lanciato.
Public Sub Main()

 File.Save("/dev/stdout", "Scrive con 'File.Save' sul file-device '/dev/stdout' \n")
 File.Save("/dev/tty", "Scrive con 'File.Save' sul file-device '/dev/tty' \n")
 File.Save("/proc/self/fd/1", "Scrive con 'File.Save' sul file-descriptor dello standard-output\n")
 File.Save("/dev/pts/?", "Scrive con 'File.Save' sul file-speciale "pts" (da individuare di volta in volta) della console o Terminale")

End


Scrivere con "Open...For Write"

Si potrà utilizzare l'istruzione "Open...For Write" e la funzione "Write" su diversi file particolari, che possono essere:

  • il file-device /dev/stdout;
  • il file-device /dev/tty;
  • il file-descriptor /proc/self/fd/1 dello standard-output;
  • il file-speciale "pts" (da individuare di volta in volta) della console o del Terminale nel quale eventualmente il programma Gambas è stato lanciato.
Public Sub Main()

 Dim fl, tty, fd, pts As File
 
' Apre il file-device dello "standard output" in scrittura:
 fl = Open "/dev/stdout" For Write

' Apre il file-device "/dev/tty" in scrittura:
 tty = Open "/dev/tty" For Write
 
' Apre il file-descriptor dello standard out in scrittura:
 fd = Open "/proc/self/fd/1" For Write
 
' Apre il file-speciale "pts" (che andrà di volta in volta individuato) della console:
 pts = Open "/dev/pts/?" For Write
 
 Write #fl, "Scrive con 'Open... For Write' sul file-device '/dev/stdout'\n"
 Write #fl, "Scrive con 'Open... For Write' sul file-device '/dev/tty'\n"
 Write #fd, "Scrive con 'Open... For Write' sul file-descriptor dello standard-output\n"
 Write #pts, "Scrive con 'Open... For Write' sul file-speciale "pts" (da individuare di volta in volta) della console o Terminale"

 fl.Close
 tty.Close
 fd.Close
 pts.Close

End