Differenze tra le versioni di "Scrivere in un file i dati presenti in un vettore di tipo Byte"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Se si intende scrivere in un file dati contenuti in una variabile vettoriale di tipo ''Byte[ ]'', sarà assolutamente necessario utilizzare il metodo ''.Write()'' della Classe ''Byte[]:
+
Se si intende scrivere in un file dati contenuti in una variabile vettoriale di tipo ''Byte[ ]'', sarà assolutamente necessario tenere conto del vettore.
 +
 
 +
 
 +
===1°===
 +
Nei seguenti casi:
 +
* vettore con numero di elementi non specificato;
 +
* vettore incorporato con numero di elementi specificato;
 +
sono possibili le seguenti due modalità di scrittura dei dati nel file.
 +
 
 +
====Mediante ''Open... For Write====
 +
I dati presenti in un vettore, al quale siano stati precedentemente incrementati in modo dinamico i propri elementi con assegnazione contemporanea di un valore, possono essere scritti in un file mediante la funzione "''Write''", ad esempio così:
 +
'''Public''' Sub Main()
 +
 +
  Dim vettore As New Byte[] 
 +
  Dim j As Byte
 +
  Dim fl As File 
 +
 
 +
 +
  fl = Open "''/percorso/del/file/da/scrivere''" For Create
 +
 +
  For j = 0 To 3 
 +
<FONT Color=gray>' ''Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":''</font> 
 +
    vettore[j] = j
 +
 
 +
<FONT Color=gray>' ''Viene scritto il file:''</font> 
 +
    <FONT Color=#B22222>Write</font> #fl, vettore[j] As Byte 
 +
  Next 
 +
 
 +
  fl.Close
 +
 
 +
'''End'''
 +
 
 +
 
 +
Ugualmente possono essere scritti in un file i dati presenti in un vettore ''incorporato'' che ha, dunque, già dichiarato il numero degli elementi che lo compongono:
 +
Private vettore[4] As Byte
 +
 +
 +
'''Public''' Sub Main()
 +
 +
  Dim j As Byte
 +
  Dim fl As File 
 +
 
 +
 +
  fl = Open "''/percorso/del/file/da/scrivere''" For Create
 +
 +
  For j = 0 To 3 
 +
<FONT Color=gray>' ''Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":''</font> 
 +
    vettore[j] = j
 +
 
 +
<FONT Color=gray>' ''Viene scritto il file:''</font> 
 +
    <FONT Color=#B22222>Write</font> #fl, vettore[j] As Byte 
 +
  Next 
 +
 
 +
  fl.Close
 +
 
 +
'''End'''
 +
 
 +
 
 +
====Mediante il metodo ''Write()'' del vettore====
 +
In entrambi i casi si potrà utilizzare anche il metodo ''Write()'' della variabile vettoriale di tipo Byte[]:
 +
'''Public''' Sub Main()
 +
 +
  Dim vettore As New Byte[] 
 +
  Dim j As Byte
 +
  Dim fl As File 
 +
 
 +
 +
  fl = Open "''/percorso/del/file/da/scrivere''" For Create
 +
 +
  For j = 0 To 3 
 +
<FONT Color=gray>' ''Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":''</font> 
 +
    vettore[j] = j
 +
  Next
 +
 +
<FONT Color=gray>' ''Viene scritto il file:''</font> 
 +
  vettore<FONT Color=#B22222>.Write(fl, 0, vettore.Count)</font>
 +
 
 +
  fl.Close
 +
 
 +
'''End'''
 +
 
 +
 
 +
Private vettore[4] As Byte
 +
 +
 +
'''Public''' Sub Main()
 +
 +
  Dim j As Byte
 +
  Dim fl As File 
 +
 
 +
 +
  fl = Open "''/percorso/del/file/da/scrivere''" For Create
 +
 +
  For j = 0 To 3 
 +
<FONT Color=gray>' ''Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":''</font> 
 +
    vettore[j] = j
 +
  Next
 +
 
 +
<FONT Color=gray>' ''Viene scritto il file:''</font> 
 +
  vettore<FONT Color=#B22222>.Write(fl, 0, vettore.Count)</font>
 +
 
 +
  fl.Close
 +
 
 +
'''End'''
 +
 
 +
 
 +
 
 +
===2°===
 +
Nei casi, invece, di:
 +
* vettore ordinario con numero di elementi già dichiarati;
 +
* vettore con assegnazione esplicita di valori a ciascun elemento;
 +
sarà necessario utilizzare esclusivamente il metodo ''Write()'' della variabile vettoriale di tipo Byte[]:
 +
'''Public''' Sub Main()
 +
 +
  Dim fl As File
 +
  Dim vettore As Byte[4]
 +
 +
 +
  fl = Open "''/percorso/del/file/da/scrivere''" For Create
 +
 +
  For j = 0 To 3 
 +
<FONT Color=gray>' ''Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":''</font> 
 +
    vettore[j] = j
 +
  Next
 +
 +
<FONT Color=gray>' ''Viene scritto il file:''</font> 
 +
  vettore<FONT Color=#B22222>.Write(fl, 0, vettore.Count)</font>
 +
 
 +
  fl.Close
 +
 
 +
'''End'''
 +
 
 +
 
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
   
 
   
 
   Dim fl As File
 
   Dim fl As File
   Dim buff As Byte[] = [11, 22, 33, 44]
+
   Dim vettore As Byte[] = [11, 22, 33, 44]
 
   
 
   
 
   
 
   
   fl = Open "''/percorso/del/file''" For Create
+
   fl = Open "''/percorso/del/file/da/scrivere''" For Create
 
   
 
   
     buff<FONT color=#B22222>.Write(</font>fl<FONT color=#B22222>)</font>
+
     vettore<FONT color=#B22222>.Write(</font>fl, 0, vettore.Count<FONT color=#B22222>)</font>
 
   
 
   
 
   fl.Close
 
   fl.Close
 
   
 
   
 
  '''End'''
 
  '''End'''
 +
 +
 +
Se riguardo al 2° gruppo di casi si adoperasse l'istruzione "''Open... For Write''", potremmo notare nei primi tre byte del file scritto i valori ''41 02 04 ....'', i quali stanno a rappresentare:
 +
41 è l'Array (il carattere 'A' sta appunto per Array).
 +
02 significa Byte.
 +
04 è il numero della dimensione dell'Array.
 +
e dopo tali tre valori seguono i byte veri e propri del contenuto del vettore.

Versione delle 08:59, 2 set 2014

Se si intende scrivere in un file dati contenuti in una variabile vettoriale di tipo Byte[ ], sarà assolutamente necessario tenere conto del vettore.


Nei seguenti casi:

  • vettore con numero di elementi non specificato;
  • vettore incorporato con numero di elementi specificato;

sono possibili le seguenti due modalità di scrittura dei dati nel file.

Mediante Open... For Write

I dati presenti in un vettore, al quale siano stati precedentemente incrementati in modo dinamico i propri elementi con assegnazione contemporanea di un valore, possono essere scritti in un file mediante la funzione "Write", ad esempio così:

Public Sub Main()

 Dim vettore As New Byte[]  
 Dim j As Byte
 Dim fl As File  
  

  fl = Open "/percorso/del/file/da/scrivere" For Create

  For j = 0 To 3  
' Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":  
    vettore[j] = j
 
' Viene scritto il file:  
    Write #fl, vettore[j] As Byte  
  Next  
 
  fl.Close
 
End


Ugualmente possono essere scritti in un file i dati presenti in un vettore incorporato che ha, dunque, già dichiarato il numero degli elementi che lo compongono:

Private vettore[4] As Byte


Public Sub Main()

 Dim j As Byte
 Dim fl As File  
  

  fl = Open "/percorso/del/file/da/scrivere" For Create

  For j = 0 To 3  
' Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":  
    vettore[j] = j
 
' Viene scritto il file:  
    Write #fl, vettore[j] As Byte  
  Next  
 
  fl.Close
 
End


Mediante il metodo Write() del vettore

In entrambi i casi si potrà utilizzare anche il metodo Write() della variabile vettoriale di tipo Byte[]:

Public Sub Main()

 Dim vettore As New Byte[]  
 Dim j As Byte
 Dim fl As File  
  

  fl = Open "/percorso/del/file/da/scrivere" For Create

  For j = 0 To 3  
' Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":  
    vettore[j] = j 
  Next

' Viene scritto il file:  
  vettore.Write(fl, 0, vettore.Count)
 
  fl.Close
 
End


Private vettore[4] As Byte


Public Sub Main()

 Dim j As Byte
 Dim fl As File  
  

  fl = Open "/percorso/del/file/da/scrivere" For Create

  For j = 0 To 3  
' Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":  
    vettore[j] = j
  Next
 
' Viene scritto il file:  
  vettore.Write(fl, 0, vettore.Count)
  
  fl.Close
 
End


Nei casi, invece, di:

  • vettore ordinario con numero di elementi già dichiarati;
  • vettore con assegnazione esplicita di valori a ciascun elemento;

sarà necessario utilizzare esclusivamente il metodo Write() della variabile vettoriale di tipo Byte[]:

Public Sub Main()

 Dim fl As File
 Dim vettore As Byte[4]


  fl = Open "/percorso/del/file/da/scrivere" For Create

  For j = 0 To 3  
' Come esempio viene inserito il valore di "j" nell'elemento corrente della variabile vettoriale "vettore":  
    vettore[j] = j 
  Next

' Viene scritto il file:  
  vettore.Write(fl, 0, vettore.Count)
 
  fl.Close
 
End


Public Sub Main()

 Dim fl As File
 Dim vettore As Byte[] = [11, 22, 33, 44]


  fl = Open "/percorso/del/file/da/scrivere" For Create

   vettore.Write(fl, 0, vettore.Count)

  fl.Close

End


Se riguardo al 2° gruppo di casi si adoperasse l'istruzione "Open... For Write", potremmo notare nei primi tre byte del file scritto i valori 41 02 04 ...., i quali stanno a rappresentare:

41 è l'Array (il carattere 'A' sta appunto per Array).
02 significa Byte.
04 è il numero della dimensione dell'Array.

e dopo tali tre valori seguono i byte veri e propri del contenuto del vettore.