ciao , cerco di farmi capire meglio e mi scuso se posto un tantino in modo confusionale....
allora .... ho una variabile filexxx dichiarata come
DIM filexx as file
all'interno vi e' depositato il contenuto di un dato file binario .
Conosco di questo filexxx la lunghezza che va da 0 a 1FFFF in hex ( file lungo 2097151 byte) , siccome al suo interno es ( dalla posizione del byte 534896 alla posizione 535465) vi e' sicuramente la sequenza dei 5 byte che mi interessa cercare ( 240 -98 -1 -1-1) , mi occorre che il porgramma mi faccia sapere a quale indirizzo corrisponde il 4° byte trovato della sequenza dei 5 byte interessati ,es potrebbe darmi che il 4° byte che ha come valore 1 sia posto alla locazione 53500 !
in pratica il programma mi deve far sapere la posizione del 4° byte ricercando la seguenza da menindicata come campione nelle posizionitra il byte 534896----->535465
se ho ripostato male il quesito fate sapere ....
gentilissimi
Bè, intanto la variabile filexxx non è il contenuto del file, ma solo il buffer di scambio con il file presente sul sistema.
Quello che fai è aprire lo stream, con cui leggere il contenuto del file, e depositarlo in qualche altra variabile, es. una stringa.
Riguardo al contenuto, l'oggetto File non mi pare abbia funzioni che fanno ricerche interne. Semmai puoi usare String, o le funzioni di manipolazione stringa, per cercare una determinata sequenza di caratteri.
Tieni conto che, se il contenuto del file è binario, questo và letto con la sintassi READ e scritto con WRITE, per evitare i controlli classici su file in formato testo.
Detto questo, una volta caricato il contenuto del file in memoria (in una variabile), devi tener conto che questo contiene solo una sequenza di byte, per cui è difficile intercettarli tramite le classiche funzioni stringa. Ci puoi provare, ma penso sia meglio gestire un loop (FOR...NEXT), in cui viene verificato il singolo byte a livello numerico (Asc()), e cercando di trovare la concatenazione giusta. La posizione in cui viene trovata la sequenza c'è l'hai di conseguenza con il numero di loop eseguiti fino a quel momento (FOR <n> = 1 TO <dimensione totale>, dove <n> è appunto la posizione).
Tieni conto che se il file è molto grande, un loop del genere, con i relativi controlli, potrebbe esser pesante, e metterci parecchio tempo. Il mio consiglio è di provare con dei test su piccole porzioni di dati, anche per ottimizzare il codice di analisi e estrapolazione.