Differenze tra le versioni di "Eliminare un byte all'interno di un file binario"
Da Gambas-it.org - Wikipedia.
(Nuova pagina: Se vi è necessità di <Span style="text-decoration:underline">eliminare</span> un byte all'interno di un file binario, è possibile adottare la seguente procedura: '''Public''' Sub ...) |
|||
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: | + | 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: |
+ | * lettura dei dati presenti nel file; | ||
+ | * eliminazione del byte prescelto; | ||
+ | * riscrittura ''ex novo'' del file senza il byte eliminato: | ||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() |
Versione delle 17:28, 8 ago 2012
Se vi è necessità di eliminare un byte all'interno di un file binario, è possibile 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:
Public Sub Button1_Click() Dim fl As File Dim g, j As Byte Dim gg As New Byte[] Dim i As Integer fl = Open "percorso_del_file" For Read ' leggiamo il file interamente (oppure, se conosciamo ' l'esatta posizione del byte da elimanre, fino a quel byte da eliminare): While Not Eof(fl) Read #fl, g ' Inseriamo ciascun byte del file in una variabile array di tipo Byte: gg.Add(g) Wend fl.Close ' Rimuoviamo il byte indicandone la relativa posizione nell'indice array: gg.Remove(i) fl = Open percorso For Create ' Riscriviamo ex novo il file leggendo dalla variabile array,: ' priva ormai del byte che dovevamo eliminare: For j = 0 To gg.Max g = gg[j] Write #fl, g As Byte Next fl.Close End