Reindirizzare lo standard output con Output To: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
(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....)
 
Nessun oggetto della modifica
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
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:
<BR>Poniamo il caso che nel primo file vi sia un dato.
  '''Public''' Sub Button1_Click()
Leggeremo dunque quel dato dal primo file e reindirizziamo la lettura di tale dato ''verso'' un secondo e ''verso'' un terzo file.
<BR>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 a, c, d As File
  Dim b As Byte
  Dim b As Byte
   
   
   a = Open "/tmp/a" For Read
   a = Open "/tmp/a" For <FONT color=red>Read</font>
   c = Open "/tmp/c" For Write
   c = Open "/tmp/c" For <FONT color=green>Write</font>
   d = Open "/tmp/d" For Write
   d = Open "/tmp/d" For <FONT color=green>Write</font>
   
   
  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)  <FONT color=gray>'</font> <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>' ''Si reindirizza il flusso di dati letti dallo standard output (console) verso il secondo file:''</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
   d.Close
   d.Close
   
   
  '''End'''
  End
 




=Note=
[1] Vedere anche l'argomento analogo nella pagina: [[Reindirizzare dati stringa dalla console ad un file]].


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

Versione attuale delle 05:28, 2 ott 2025

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.