Differenze tra le versioni di "Salvare i byte-dati di un file in un file di testo"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "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 D...") |
|||
Riga 17: | Riga 17: | ||
<FONT Color=gray>' ''Ogni numero esadecimale sarà separato da uno spazio (ovviamente si potrà scegliere di non inserire questo spazio):''</font> | <FONT Color=gray>' ''Ogni numero esadecimale sarà separato da uno spazio (ovviamente si potrà scegliere di non inserire questo spazio):''</font> | ||
File.Save("/tmp/file", ss.Join(" ", Null)) | 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 "<FONT Color=darkgreen>''/percorso/del/file''</font>" For Read | ||
+ | |||
+ | While Not Eof(fl) | ||
+ | Read #fl, b | ||
+ | ss.Push(Hex(b, 2)) | ||
+ | Wend | ||
+ | |||
+ | fl.Close | ||
+ | |||
+ | fl = Open "/tmp/file" For Write Append | ||
+ | |||
+ | For i = 0 To ss.Max | ||
+ | Inc n | ||
+ | Write #fl, ss[i] | ||
+ | <FONT Color=gray>' ''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):''</font> | ||
+ | If (i > 0) And (n Mod 16 == 0) Then | ||
+ | Write #fl, gb.NewLine | ||
+ | Else | ||
+ | Write #fl, Chr(32) | ||
+ | Endif | ||
+ | Next | ||
+ | |||
+ | fl.Close | ||
End | End |
Versione delle 09:42, 14 dic 2023
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 fl = Open "/tmp/file" For Write Append 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