Eliminare un byte all'interno di un file binario
Da Gambas-it.org - Wikipedia.
Versione del 24 giu 2024 alle 08:39 di Vuott (Discussione | contributi)
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 ' Legge il file interamente (oppure, se si conosce l'esatta posizione del byte da eliminare, fino a quel byte da eliminare): While Not Eof(fl) Read #fl, g ' Inserisce ciascun byte del file in una variabile array di tipo Byte: gg.Add(g) Wend fl.Close ' Rimuove il byte indicandone la relativa posizione nell'indice array: gg.Remove(i) fl = Open "/percorso/del/file" For Create ' Riscrive ex novo il file leggendo dalla variabile array, priva ormai del byte che si doveva eliminare: For j = 0 To gg.Max g = gg[j] Write #fl, g As Byte Next fl.Close End