Differenze tra le versioni di "Eliminare un byte all'interno di un file binario"
Da Gambas-it.org - Wikipedia.
Riga 19: | Riga 19: | ||
fl.Close | fl.Close | ||
− | <FONT color=gray>' ''Rimuove il byte indicandone la relativa posizione nell'indice array (in questo esempio viene eliminato il valore-byte d'indice 4:''</font> | + | <FONT color=gray>' ''Rimuove il byte indicandone la relativa posizione nell'indice array (in questo esempio viene eliminato il valore-byte d'indice 4):''</font> |
bb.Remove(4) | bb.Remove(4) | ||
Versione attuale delle 09:59, 24 giu 2024
Se vi è necessità di eliminare un byte all'interno di un file binario, è possibile anche adottare la seguente procedura, che può essere suddivisa in tre fasi:
- lettura dei dati presenti nel file;
- eliminazione del byte prescelto;
- riscrittura ex novo del file senza il byte eliminato.
Per realizzare queste tre fasi si utilizzeranno alcune risorse dell'array di tipo Byte[]:
Public Sub Main() Dim fl As File Dim bb As New Byte[] fl = Open "/percorso/del/file" For Read bb = New Byte[Lof(fl)] ' Legge il file interamente, inserendo ciascun byte del file in una variabile array di tipo Byte[]: bb.Read(fl, 0, Lof(fl)) fl.Close ' Rimuove il byte indicandone la relativa posizione nell'indice array (in questo esempio viene eliminato il valore-byte d'indice 4): bb.Remove(4) fl = Open "/percorso/del/file" For Create ' Riscrive ex novo il file leggendo dalla variabile array, priva ormai del byte che si doveva eliminare: bb.Write(fl, 0, bb.Count) fl.Close End