Differenze tra le versioni di "Azzerare un gruppo di byte in un file"

Da Gambas-it.org - Wikipedia.
Riga 4: Riga 4:
 
  Public Sub Main()
 
  Public Sub Main()
 
   
 
   
   Dim b As Byte
+
   Dim s As String
 +
 +
  s = "<FONT Color=darkgreen>''/percorso/del/file''</font>"
 
   
 
   
   For b = 1 To 4
+
   For b As Byte = 1 To 4
     File.Save("<FONT Color=darkgreen>''/percorso/del/file''</font>", Replace(File.Load("<FONT Color=darkgreen>''/percorso/del/file''</font>"), Chr(Asc(File.Load("<FONT Color=darkgreen>''/percorso/del/file''</font>"), b)), Chr(0)))
+
     File.Save(s, Replace(File.Load(s), Chr(Asc(File.Load(s), b)), Chr(0)))
 
   Next
 
   Next
 
   
 
   
Riga 27: Riga 29:
 
      
 
      
 
  End
 
  End
 
 
 
Senza ciclo si potrà anche adoperare direttamente il Metodo “.Write” della Classe di array di tipo "Byte[]":
 
Senza ciclo si potrà anche adoperare direttamente il Metodo “.Write” della Classe di array di tipo "Byte[]":
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()

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