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

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
Come è noto, l'istruzione '''''Output To''''' reindirizza il flusso di dati verso un altro flusso.
+
Come è noto, l'istruzione '''''[[Output To]]''''' reindirizza il flusso di dati verso un altro flusso. <SUP>&#091;[[#Note|nota 1]]&#093;</sup>
  
  
 
Esempio di reindirizzamento della lettura di dati di un file verso altri due file.
 
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:
 
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()
+
  Public Sub Button1_Click()
 
   
 
   
  Dim a, c, d As File
+
  Dim a, c, d As File
  Dim b As Byte
+
  Dim b As Byte
 
   
 
   
 
   a = Open "/tmp/a" For Read
 
   a = Open "/tmp/a" For Read
Riga 13: Riga 13:
 
   d = Open "/tmp/d" For Write
 
   d = Open "/tmp/d" For Write
 
   
 
   
 +
  While Not Eof(a)
 +
    Read #a, b
 +
<FONT color=gray>' ''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
 +
<FONT color=gray>' ''Si scrivono i dati nel secondo file mediante la funzione "Print":''</font>
 +
    Print Chr(b)  <SUP>&#091;[[#Note|nota 2]]&#093;</sup>
 
   
 
   
  While Not Eof(a)
+
  <FONT color=gray>' ''Si reindirizza il flusso di dati letti dallo standard output (console) verso il terzo file:''</font>
    Read #a, b
+
    Output To #d
  <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>
+
  <FONT color=gray>' ''Si scrivono i dati nel secondo file mediante la funzione "Write":''</font>
    Output To #c
+
    write b
  <FONT color=#006400>' ''Si scrivono i dati nel secondo file mediante la funzione "Print":''</font>
+
  Wend
    Print Chr(b) |[[#Note|1]]|
 
 
   
 
   
<FONT color=#006400>' ''Si reindirizza il flusso di dati letti dallo standard output (console) verso il terzo file:''</font>
 
    Output To #d
 
<FONT color=#006400>' ''Si scrivono i dati nel secondo file mediante la funzione "Write":''</font>
 
    write b
 
  Wend
 
 
 
 
 
   a.Close
 
   a.Close
 
   c.Close
 
   c.Close
Riga 37: Riga 35:
  
 
==Note==
 
==Note==
[1] Se non si pone la funzione ''Chr()'', otterremo nel file il valore ASCII del dato letto e reindirizzato dal primo file.
+
[1] Vedere anche l'argomento analogo nella pagina: [[Reindirizzare dati stringa dalla console ad un file]].
 +
 
 +
[2] Se non si pone la funzione "Chr()", otterremo nel file il valore ASCII del dato letto e reindirizzato dal primo file.

Versione attuale delle 07:44, 23 giu 2024

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


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)   [nota 2]

' 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] Vedere anche l'argomento analogo nella pagina: Reindirizzare dati stringa dalla console ad un file.

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