Differenze tra le versioni di "Scrivere nella console (standard output) di Gambas"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per scrivere nello ''standard output'' di un programma Gambas, ossia all'interno della console del'IDE di Gambas oppure nel Terminale nel quale sia stato lanciato il nostro pr...')
 
 
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per scrivere nello ''standard output'' di un programma Gambas, ossia 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 (come il classico ''Print'') le seguenti modalità che mostreremo nel seguente esempio:
+
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à.
'''Private''' fl As File
+
 
'''Private''' fd As File
+
 
  '''Private''' pts As File
+
===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()
 
   
 
   
 +
  <FONT color=B22222>Print</font> "Scrive con il 'Print'"
 
   
 
   
  '''Public''' Sub Main()
+
  End
 +
 
 +
 
 +
===Scrivere con "Write"===
 +
L'istruzione "Write" scrive il testo senza alcuna formattazione del testo:
 +
<FONT color=B22222>Write</font> "testo qualsiasi"
 +
Si potrà anche utilizzare l'istruzione ''Write'' e la proprietà ".Out" della Classe "File":
 +
<FONT color=B22222>Write</font> #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()
 
   
 
   
<FONT color=gray>' ''Viene utilizzata l'istruzione "Open...For Write" in funzione della <SPAN Style="text-decoration:underline">terza</span> modalità presente nella subroutine "Scrive()".''</font>
+
  <FONT color=B22222>File.Save</font>("/dev/stdout", "Scrive con 'File.Save' sul file-device '/dev/stdout' \n")
 +
  <FONT color=B22222>File.Save</font>("/dev/tty", "Scrive con 'File.Save' sul file-device '/dev/tty' \n")
 +
  <FONT color=B22222>File.Save</font>("/proc/self/fd/1", "Scrive con 'File.Save' sul file-descriptor dello standard-output\n")
 +
  <FONT color=B22222>File.Save</font>("/dev/pts/'''<FONT color=blue>?</font>'''", "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
 +
 
 
  <FONT color=gray>' ''Apre il file-device dello "standard output" in scrittura:''</font>
 
  <FONT color=gray>' ''Apre il file-device dello "standard output" in scrittura:''</font>
  fl = <FONT color=B22222>Open "/dev/stdout" For Write</font>
+
  fl = <FONT color=B22222>Open "/dev/stdout" For Write</font>
 
   
 
   
 
  <FONT color=gray>' ''Apre il file-device "/dev/tty" in scrittura:''</font>
 
  <FONT color=gray>' ''Apre il file-device "/dev/tty" in scrittura:''</font>
  fl = <FONT color=B22222>Open "/dev/tty" For Write</font>
+
  tty = <FONT color=B22222>Open "/dev/tty" For Write</font>
 
    
 
    
 
  <FONT color=gray>' ''Apre il file-descriptor dello standard out in scrittura:''</font>
 
  <FONT color=gray>' ''Apre il file-descriptor dello standard out in scrittura:''</font>
  fd = <FONT color=B22222>Open "/proc/self/fd/1" For Write</font>
+
  fd = <FONT color=B22222>Open "/proc/self/fd/1" For Write</font>
 
    
 
    
 
  <FONT color=gray>' ''Apre il file-speciale "pts" (che andrà di volta in volta individuato) della console:''</font>
 
  <FONT color=gray>' ''Apre il file-speciale "pts" (che andrà di volta in volta individuato) della console:''</font>
  pts = <FONT color=B22222>Open "/dev/pts/'''<FONT color=blue>?</font>'''" For Write</font>
+
  pts = <FONT color=B22222>Open "/dev/pts/'''<FONT color=blue>?</font>'''" For Write</font>
 
 
 
  Scrive()
 
 
'''End'''
 
 
 
'''Private''' Procedure Scrive()    <FONT color=gray>' ''Va a scrivere in console, o nel Terminale in cui il programma è stato lanciato, con 4 modalità''</font>
 
 
 
<FONT color=gray>' '''''1''' - Mediante il classico e consueto "Print":''</font>
 
  <FONT color=B22222>Print</font> "Scrive con il 'Print'\n"
 
 
 
 
<FONT color=gray>' '''''2''' - Mediante il metodo "File.Save" si diversi file particolari:''</font>
 
  <FONT color=B22222>File.Save</font>("/dev/stdout", "Scrive con 'File.Save' sul file-device '/dev/stdout' \n")
 
  <FONT color=B22222>File.Save</font>("/dev/tty", "Scrive con 'File.Save' sul file-device '/dev/tty' \n")
 
  <FONT color=B22222>File.Save</font>("/proc/self/fd/1", "Scrive con 'File.Save' sul file-descriptor dello standard-out\n")
 
  <FONT color=B22222>File.Save</font>("/dev/pts/'''<FONT color=blue>?</font>'''", "Scrive con 'File.Save' sul file-speciale "pts" (da individuare di volta in volta) della console\n\n")
 
 
 
    
 
    
<FONT color=gray>' '''''3''' - Mediante "Open...For Write" su diversi file particolari:''</font>
+
  <FONT color=B22222>Write</font> #fl, "Scrive con 'Open... For Write' sul file-device '/dev/stdout'\n"
  <FONT color=B22222>Write</font> #fl, "Scrive con 'Open... For Write' sul file-device '/dev/stdout'\n"
+
  <FONT color=B22222>Write</font> #fl, "Scrive con 'Open... For Write' sul file-device '/dev/tty'\n"
  <FONT color=B22222>Write</font> #fl, "Scrive con 'Open... For Write' sul file-device '/dev/tty'\n"
+
  <FONT color=B22222>Write</font> #fd, "Scrive con 'Open... For Write' sul file-descriptor dello standard-output\n"
  <FONT color=B22222>Write</font> #fd, "Scrive con 'Open... For Write' sul file-descriptor dello standard-out\n"
+
  <FONT color=B22222>Write</font> #pts, "Scrive con 'Open... For Write' sul file-speciale "pts" (da individuare di volta in volta) della console o Terminale"
  <FONT color=B22222>Write</font> #pts, "Scrive con 'Open... For Write' sul file-speciale "pts" (da individuare di volta in volta) della console\n\n"
 
 
 
   
 
   
<FONT color=gray>' '''''4''' - Mediante la funzione "Write" ed il metodo ".Out" della Classe "File":''</font>
+
  fl.Close
  <FONT color=B22222>Write</font> #File.Out, "Scrive con la funzione 'Write' ed il metodo 'File.Out'\n"
+
  tty.Close
 +
  fd.Close
 +
  pts.Close
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 08:04, 7 gen 2024

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