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

Da Gambas-it.org - Wikipedia.
Riga 37: Riga 37:
 
  '''End'''
 
  '''End'''
  
===Caso in cui si dichiarasse quale "Array" il tipo di dati del secondo membro della riga di istruzione con "Write"===
+
===Caso in cui si dichiarasse quale "Array" o quale "Byte[]" il tipo di dati del secondo membro della riga di istruzione con "Write"===
Da rilevare che, se dopo il secondo membro dell'istruzione "Write" si dichiarasse il tipo di dati come "Array", potremmo notare nei primi tre byte del file scritto i valori 41 02 04 ...., i quali stanno a rappresentare:
+
Da rilevare che, se dopo il secondo membro dell'istruzione "Write" si dichiarasse il tipo di dati come "Array" oppure come "Byte[]", 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).
 
  41 è l'Array (il carattere 'A' sta appunto per Array).
 
  02 significa Byte.
 
  02 significa Byte.
Riga 52: Riga 52:
 
   fl = Open "<FONT Color=gray>''/percorso/del/file/da/scrivere''</font>" For Create
 
   fl = Open "<FONT Color=gray>''/percorso/del/file/da/scrivere''</font>" For Create
 
   
 
   
   Write #fl, vettore As <FONT Color=#B22222>Array</font>
+
   Write #fl, vettore As <FONT Color=#B22222>Array</font>  <FONT Color=gray>' ''...oppure:'' '''As Byte[]'''</font>
 
   
 
   
 
   fl.Close
 
   fl.Close

Versione delle 20:01, 31 ago 2022

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


Mediante le istruzioni "Open e "Write"

Mostriamo un esempio che fa uso dell'istruzione "Write" per scrivere in un file i dati presenti in un vettore di tipo "Byte[]":

Public Sub Main()

 Dim vettore As Byte[] = [&11, &22, &33, &44, &55, &66, &77, &88]
 Dim b As Byte
 Dim fl As File  
  
 fl = Open "/percorso/del/file/da/scrivere" For Create

 For b = 0 To vettore.Max
' Viene scritto il file:
   Write #fl, vettore[b] As Byte  
 Next

fl.Close
 
End

Passare i dati del vettore mediante la sua Proprietà ".Data"

Si potrà impostare quale 2° membro della riga di comando dell'istruzione "Write" la Proprietà ".Data" del vettore, avendo altresì cura di impostare il 3° membro della riga di comando, quale numero di byte da scrivere nel file.
Esempio:

 Public Sub Main()

 Dim vettore As Byte[] = [&11, &22, &33, &44, &55, &66, &77, &88]
 Dim fl As File  
  
 fl = Open "/percorso/del/file/da/scrivere" For Create

 Write #fl, vettore.Data, vettore.Count

 fl.Close

End

Caso in cui si dichiarasse quale "Array" o quale "Byte[]" il tipo di dati del secondo membro della riga di istruzione con "Write"

Da rilevare che, se dopo il secondo membro dell'istruzione "Write" si dichiarasse il tipo di dati come "Array" oppure come "Byte[]", 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 solo dopo tali tre valori seguono i veri byte del contenuto del vettore.

Esempio:

Public Sub Main()

 Dim vettore As Byte[] = [&11, &22, &33, &44, &55, &66, &77, &88]
 Dim fl As File  
  
 fl = Open "/percorso/del/file/da/scrivere" For Create

 Write #fl, vettore As Array   ' ...oppure: As Byte[]

 fl.Close

End


Uso del 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 Byte[] = [&11, &22, &33, &44, &55, &66, &77, &88]
 Dim fl As File  
 
 fl = Open "/percorso/del/file/da/scrivere" For Create

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

 fl.Close

End