Differenze tra le versioni di "Azzerare un gruppo di byte in un file"
Da Gambas-it.org - Wikipedia.
(11 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Poniamo il caso di voler azzerare all'interno di un file i primi quattro byte | + | Poniamo il caso di voler azzerare all'interno di un file i primi quattro byte. |
+ | Tale operazione potrà essere compiuta mediante alcune modalità. | ||
− | + | ===Usando un vettore di tipo Byte[] e il suo Metodo ".Fill()"=== | |
− | + | Public Sub Main() | |
+ | Dim bb As Byte[] | ||
− | + | bb = Byte[].FromString(File.Load("<FONT Color=darkgreen>''/percorso/del/file''</font>")) | |
− | + | bb.Fill(0, 0, 4) | |
− | + | ||
+ | Print bb.ToString(0, bb.Count) | ||
− | + | End | |
+ | |||
+ | |||
+ | ===Con alcune funzioni sulle stringhe=== | ||
+ | Con un ciclo: | ||
+ | Public Sub Main() | ||
+ | |||
+ | Dim s As String | ||
+ | |||
+ | s = "<FONT Color=darkgreen>''/percorso/del/file''</font>" | ||
+ | |||
+ | For b As Byte = 1 To 4 | ||
+ | File.Save(s, Replace(File.Load(s), Chr(Asc(File.Load(s), b)), Chr(0))) | ||
+ | Next | ||
+ | |||
+ | End | ||
+ | oppure senza compiere alcun ciclo: | ||
+ | Private buff[4] As Byte | ||
+ | |||
+ | |||
+ | Public Sub Main() | ||
+ | |||
+ | Dim fl As File | ||
+ | Dim b As Byte | ||
− | + | fl = Open "<FONT Color=darkgreen>''/percorso/del/file''</font>" For Write | |
− | |||
− | |||
− | + | Write #fl, buff As Byte[] | |
− | + | fl.Close | |
− | + | ||
− | + | End | |
− | + | Senza ciclo si potrà anche adoperare direttamente il Metodo “.Write” della Classe di array di tipo "Byte[]": | |
− | + | Public Sub Main() | |
− | |||
− | |||
− | |||
− | + | Dim fl As File | |
− | + | Dim buff As New Byte[4] | |
− | fl = Open "''/ | + | fl = Open "<FONT Color=darkgreen>''/percorso/del/file''</font>" For Write |
− | + | buff.<FONT color=red>Write</font>(fl) | |
− | + | fl.Close | |
− | + | End |
Versione attuale delle 13:45, 23 giu 2024
Poniamo il caso di voler azzerare all'interno di un file i primi quattro byte.
Tale operazione potrà essere compiuta mediante alcune modalità.
Usando un vettore di tipo Byte[] e il suo Metodo ".Fill()"
Public Sub Main()
Dim bb As Byte[] bb = Byte[].FromString(File.Load("/percorso/del/file")) bb.Fill(0, 0, 4) Print bb.ToString(0, bb.Count) End
Con alcune funzioni sulle stringhe
Con un ciclo:
Public Sub Main() Dim s As String s = "/percorso/del/file" For b As Byte = 1 To 4 File.Save(s, Replace(File.Load(s), Chr(Asc(File.Load(s), b)), Chr(0))) Next End
oppure senza compiere alcun ciclo:
Private buff[4] As Byte Public Sub Main() Dim fl As File Dim b As Byte fl = Open "/percorso/del/file" For Write Write #fl, buff As Byte[] fl.Close End
Senza ciclo si potrà anche adoperare direttamente il Metodo “.Write” della Classe di array di tipo "Byte[]":
Public Sub Main() Dim fl As File Dim buff As New Byte[4] fl = Open "/percorso/del/file" For Write buff.Write(fl) fl.Close End