Differenze tra le versioni di "Reindirizzare lo standard output con Output To"

Da Gambas-it.org - Wikipedia.
(Nuova pagina: Come è noto, l'istruzione '''''Output To''''' reindirizza il flusso di dati verso un altro flusso. Esempio di reindirizzamento della lettura di dati di un file verso altri due file....)
 
Riga 16: Riga 16:
 
   While Not Eof(a)
 
   While Not Eof(a)
 
     Read #a, b
 
     Read #a, b
  <FONT color=#006400>' ''Si reindirizza il flusso di dati letti dallo standard output (console) verso il secondo file:''</font>
+
  <FONT color=#006400>' ''Invece di mostrare i dati in console, si reindirizza il flusso di dati letti dal file "''/tmp/a''" verso il secondo file "''/tmp/c''":''</font>
 
     Output To #c
 
     Output To #c
 
  <FONT color=#006400>' ''Si scrivono i dati nel secondo file mediante la funzione "Print":''</font>
 
  <FONT color=#006400>' ''Si scrivono i dati nel secondo file mediante la funzione "Print":''</font>

Versione delle 17:56, 15 feb 2013

Come è noto, l'istruzione Output To reindirizza il flusso di dati verso un altro flusso.


Esempio di reindirizzamento della lettura di dati di un file verso altri due file. Poniamo il caso che nel primo file vi sia un dato. Leggeremo dunque quel dato dal primo file e reindirizziamo la lettura di tale dato verso un secondo e verso un terzo file. Al termine del processo ritroveremo scritto quel dato all'interno del secondo e del terzo file:

Public Sub Button1_Click()

 Dim a, c, d As File
 Dim b As Byte

  a = Open "/tmp/a" For Read
  c = Open "/tmp/c" For Write
  d = Open "/tmp/d" For Write


 While Not Eof(a)
   Read #a, b
' Invece di mostrare i dati in console, si reindirizza il flusso di dati letti dal file "/tmp/a" verso il secondo file "/tmp/c":
   Output To #c
' Si scrivono i dati nel secondo file mediante la funzione "Print":
   Print Chr(b) |1|

' Si reindirizza il flusso di dati letti dallo standard output (console) verso il terzo file:
   Output To #d
' Si scrivono i dati nel secondo file mediante la funzione "Write":
   write b
 Wend

 
 a.Close
 c.Close
 d.Close

End


Note

[1] Se non si pone la funzione Chr(), otterremo nel file il valore ASCII del dato letto e reindirizzato dal primo file.