Rispetto a
SEEK: A ben guardare nella documentazione online, non si parla apertamente di byte, questo è quanto li riportato:
“
Definisce la posizione del puntatore dello stream, per la successiva operazione di lettura / scrittura.
Se Position è negativo, allora il puntatore dello stream viene spostato indietro rispetto alla fine del file.
Per spostare il puntatore dello stream dopo la fine del file, è necessario utilizzare la funzione Lof. “
Però poi negli esempi c'è questo, come terzo:
' Move 100 bytes before the end of the file
SEEK #hFile, -100
e qui si parla precipuamente di spostamento indietro di 100 byte.
Pertanto ritengo di poter dire che, malgrado quanto qui precedentemente sostenuto da
vuott a cui riconosco peraltro un'enorme maggiore conoscenza di programmazione in generale e di Gambas in particolare rispetto a me, lo spostamento in
byte operato da
SEEK nello
stream corrisponde ad
un byte per carattere come dimostrava già in parte la piccola applicazione postata in precedenza e come dimostra ancora meglio la nuova (
RecordFisso-0.0.1) versione che qui posto e che fa solo uso di
stringhe (a lunghezza fissa) e di
SEEK (provata su 3 differenti configurazioni hardware).
Per favorire l'eventuale prova anche ai colleghi del forum interessati che non hanno l'ultima versione (3.6.2) stabile ma versioni precedenti la 3.5 ho messo al posto dello SpinBox una scrollbar + textbox che ne simula più o meno il funzionamento e ho rimosso lo Spinner dalla textlabel che informa l'operatore sull'elaborazione dei dati.
Questa versione è la
RecordFisso-SSS-0.0.1 (senza spinbox e spinner).
In questo programma ho accolto il suggerimento di
Top Fuel circa l'eliminazione dei record che ora il programma sposta in fondo, marca come cancellati e sovrascrive all'atto di nuovi inserimenti.
Questa è solo una piccola dimostrazione alla (vana?) ricerca della comprensione riguardo la scrittura di stream e l'uso di SEEK e non ha altro scopo che quello. Infatti tutto questo spostare e rispostare record nel file è un modo ben poco raccomandabile a chi avesse a cuore l'integrità dei dati.
Per facilitare le prove, il programma ha un metodo di popolamento automatico del file dati che può essere richiamato da Open togliendovi il commento.
Attenzione il metodo è tarato per un file dati da centounomila record se lo volete più piccolo in modo da poterlo poi aprire per controllarne il contenuto basta cambiare la cifra.
Una precisazione: Il programma crea una cartella (visibile) col suo stesso nome
nella vostra home con all'interno il file dati denominato
mioFile.dat.
Questo programmino è ispirato all'esempio che appare sul sito di Windows che tratta di stringhe fisse e metodo RANDOM indicato da
vuott in questa stessa discussione.
Non ho usato una struttura perché fin'ora nessuno è riuscito a spiegarmene i reali vantaggi
Applicazioni rimosse: vedi ultimo post