Salvare i byte-dati di un file in un file di testo
Da Gambas-it.org - Wikipedia.
Mostreremo un esempio per salvare i byte-dati di un file nella loro rappresentazione esadecimale in un file di testo:
Public Sub Main() Dim fl As File Dim b As Byte Dim ss As New String[] fl = Open "/percorso/del/file" For Read While Not Eof(fl) Read #fl, b ss.Push(Hex(b, 2)) Wend fl.Close ' Ogni numero esadecimale sarà separato da uno spazio (ovviamente si potrà scegliere di non inserire questo spazio): File.Save("/tmp/file", ss.Join(" ", Null)) End
In quest'altro esempio i valori in esadecimale dei byte-dati saranno disposti per righe composte da 16 valori separati da uno spazio:
Public Sub Main() Dim fl As File Dim b As Byte Dim ss As New String[] fl = Open "/percorso/del/file" For Read While Not Eof(fl) Read #fl, b ss.Push(Hex(b, 2)) Wend fl.Close ' Apre il file in "Scrittura" ove saranno salvati i valori in rappresentazione esadecimale: fl = Open "/tmp/file" For Create For i = 0 To ss.Max Inc n Write #fl, ss[i] ' Ciascuna riga sarà formata da 16 valori in rappresentazione esadecimale separati fra loro da uno spazio (ovviamente si potrà scegliere di non inserire questo spazio): If (i > 0) And (n Mod 16 == 0) Then Write #fl, gb.NewLine Else Write #fl, Chr(32) Endif Next fl.Close End