ho costruito una tabella (che riporto i un file.txt) con campi di lunghezza fissa, in essa è agevole individuare campi e/o colonne con seek .......................;
Non ho trovato il file che hai indicato come allegato, tuttavia, visto che i file di cui parli sono molto voluminosi, la gestione tramite file.txt non credo sia agevole; sempre meglio un DB. che puoi aggiornare con inserimenti, modifiche e cancellazione di righe tabellari, senza dovere ogni volta riscrivere tutto il file.txt., anche per una sola operazione fra quelle sopra indicate.
Comunque, nella documentazione presente in gambasdoc.org, attraverso l'indice del linguaggio, cliccando sull'istruzione
seek, si apre la pagina relativa, attraverso la quale puoi accedere a tutte le
"Funzioni di Stream e Input/Output" con le varie possibilità d'accesso ai file.txt.
Con una gestione di detto tipo la scrittura di record a lunghezza fissa certamente permette di muoversi agevolmente da un record ad un altro, tramite il fattore di moltiplicazione agganciato alla lunghezza record. Occorrerà però avere sempre chiara la posizione del record da trattare all'interno del file.
La velocità è sempre determinata dall'ampiezza del file. Io ho pochissima esperienza sui file.txt e non ho mai usato l'istruzione
seek. Credo che un DB relazionale, possibilmente indicizzato sulla
"Primary Key", debba fare meglio al caso tuo. Purtroppo, in Gambas, se il tuo DB fosse esclusivamente locale, l'unica struttura conciliabile è quella di tipo SQLite3.
Qualsiasi strada tu volessi intraprendere è sempre da provare. Prima di gettare alle ortiche un'organizzazione tipo DB, potresti provare anche quella e decidere successivamente per il meglio.