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

Da Gambas-it.org - Wikipedia.
 
(5 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 senza compiere alcun ciclo sul medesimo.
+
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 b As Byte
 +
 +
  For b = 1 To 4
 +
 +
    File.Save("''/percorso/del/file''", Replace(File.Load("''/percorso/del/file''"), Chr(Asc(File.Load("''/percorso/del/file''"), b)), Chr(0)))
 +
 +
  Next
 +
 +
'''End'''
 +
 
  
  
Potremo utilizzare questa modalità:
+
oppure senza compiere alcun ciclo:
 
  '''Private''' buff[4] As Byte
 
  '''Private''' buff[4] As Byte
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  '''Public''' Sub Main()
 
   
 
   
 
  Dim fl As File
 
  Dim fl As File
 
  Dim b As Byte
 
  Dim b As Byte
 
   
 
   
   fl = Open "''/file/da/azzerare''" For Write
+
   fl = Open "''/percorso/del/file''" For Write
 
    For Each b In buff
 
      b = 0
 
    Next
 
 
   
 
   
 
     Write #fl, buff As Byte[]
 
     Write #fl, buff As Byte[]
Riga 25: Riga 35:
  
  
Oppure, volendo usare un array monodimensionale, si dovrà adoperare il metodo “''Write''” della funzione (in questo caso) ''byte[]'':
+
Senza ciclo si potrà anche adoperare direttamente il metodo “''.Write''” della Classe ''byte[]'':
  '''Public''' Sub Button1_Click()
+
  '''Public''' Sub Main()
 
   
 
   
 
   Dim fl As File   
 
   Dim fl As File   
 
   Dim buff As New Byte[4]
 
   Dim buff As New Byte[4]
 
   
 
   
   fl = Open "''/file/da/azzerare''" For Write
+
   fl = Open "''/percorso/del/file''" For Write
 
   
 
   
 
     buff.<FONT color=#B22222>Write</font>(fl)
 
     buff.<FONT color=#B22222>Write</font>(fl)
 
   
 
   
  fl.Close
+
  fl.Close
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione attuale delle 00:29, 22 gen 2014

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 b As Byte

  For b = 1 To 4

    File.Save("/percorso/del/file", Replace(File.Load("/percorso/del/file"), Chr(Asc(File.Load("/percorso/del/file"), 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 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