Differenze tra le versioni di "Azzerare un gruppo di byte in un file"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 2: | Riga 2: | ||
Tale operazione potrà essere compiuta con un ciclo operando sul file, come fosse testo, con alcune funzioni sulle stringhe: | Tale operazione potrà essere compiuta con un ciclo operando sul file, come fosse testo, con alcune funzioni sulle stringhe: | ||
− | + | 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 | Next | ||
− | + | End | |
− | |||
− | |||
− | |||
oppure senza compiere alcun ciclo: | 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() | |
− | |||
− | Senza ciclo si potrà anche adoperare direttamente il | ||
− | |||
− | + | Dim fl As File | |
− | + | Dim buff As New Byte[4] | |
− | fl = Open "''/percorso/del/file''" For Write | + | fl = Open "<FONT Color=darkgreen>''/percorso/del/file''</font>" For Write |
− | + | buff.<FONT color=red>Write</font>(fl) | |
fl.Close | fl.Close | ||
− | + | End |
Versione delle 13:34, 23 giu 2024
Poniamo il caso di voler azzerare all'interno di un file i primi quattro byte.
Tale operazione potrà essere compiuta con un ciclo operando sul file, come fosse testo, con alcune funzioni sulle stringhe:
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