Cercare un valore all'interno di un file aperto come un flusso di dati di tipo File

Da Gambas-it.org - Wikipedia.

Il caso è quello in cui, avendo aperto un file in "Lettura" come tipo di dati "File" con l'istruzione "Open", si intende cercare un valore costituito da uno o anche più byte.

Mostriamo un possibile esempio in cui si cerca all'interno del flusso di dati di tipo "File" un valore formato da 4 byte (Tipo Integer ).

Private Const VALORE As Integer = valore-numerico-da-cercare (che occupi 4 byte)


Public Sub Main()

 Dim fl As File
 Dim i As Integer
 
 fl = Open "/percorso/del/file/da/aprire" For Read 

 Repeat 
   Read #fl, i
   If i == VALORE Then 
     Print "Il valore è stato trovato al byte di indice: ", Seek(fl) - SizeOf(gb.Integer)
     fl.Close
     Quit 
   Endif
   Seek #fl, Seek(fl) - (SizeOf(gb.Integer) - 1)
 Until Seek(fl) == Lof(fl) - (SizeOf(gb.Integer) - 1)

 Print "Valore non presente nel file."

 fl.Close

End