Scrivere in un file i dati presenti in un vettore di tipo Byte

Da Gambas-it.org - Wikipedia.

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.