Differenze tra le versioni di "Eliminare un byte all'interno di un file binario"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | Se vi è necessità di <Span style="text-decoration:underline">eliminare</span> un byte all'interno di un file binario, è possibile adottare la seguente procedura, che può essere suddivisa in tre fasi: | + | Se vi è necessità di <Span style="text-decoration:underline">eliminare</span> 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; | * lettura dei dati presenti nel file; | ||
* eliminazione del byte prescelto; | * eliminazione del byte prescelto; | ||
− | * riscrittura ''ex novo'' del file senza il byte eliminato | + | * riscrittura ''ex novo'' del file senza il byte eliminato. |
− | Public Sub | + | 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 "<FONT color=darkgreen>''/percorso/del/file''</font>" For Read | |
− | + | bb = New Byte[Lof(fl)] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <FONT color=gray>' ''Legge il file interamente, inserendo ciascun byte del file in una variabile array di tipo Byte[]:''</font> | |
+ | bb.Read(fl, 0, Lof(fl)) | ||
+ | |||
+ | fl.Close | ||
− | <FONT color=gray>' ''Rimuove il byte indicandone la relativa posizione nell'indice array:''</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) | |
− | + | fl = Open "<FONT color=darkgreen>''/percorso/del/file''</font>" For Create | |
<FONT color=gray>' ''Riscrive ex novo il file leggendo dalla variabile array, priva ormai del byte che si doveva eliminare:''</font> | <FONT color=gray>' ''Riscrive ex novo il file leggendo dalla variabile array, priva ormai del byte che si doveva eliminare:''</font> | ||
− | + | bb.Write(fl, 0, bb.Count) | |
− | |||
− | |||
− | |||
− | + | fl.Close | |
End | End |
Versione 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