Differenze tra le versioni di "Cercare un valore all'interno di un file aperto come un flusso di dati di tipo File"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "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 costituisco da uno o anche più byt...") |
|||
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | 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 | + | 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'' ). | 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 = <FONT Color=gray>''valore-numerico-da-cercare'' (che occupi 4 byte)</font> | Private Const VALORE As Integer = <FONT Color=gray>''valore-numerico-da-cercare'' (che occupi 4 byte)</font> | ||
− | |||
Riga 12: | Riga 8: | ||
Dim fl As File | Dim fl As File | ||
− | |||
Dim i As Integer | Dim i As Integer | ||
fl = Open "<FONT Color=gray>''/percorso/del/file/da/aprire''</font>" For Read | fl = Open "<FONT Color=gray>''/percorso/del/file/da/aprire''</font>" For Read | ||
− | + | Repeat | |
− | Read #fl, | + | 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 | 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 | fl.Close | ||
'''End''' | '''End''' |
Versione attuale delle 20:30, 22 nov 2021
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