Tornare in posizione iniziale in file di testo

di il
4 risposte

Tornare in posizione iniziale in file di testo

Buongiorno;
per poter eseguire delle analisi di dati ho bisogno di muovermi in 2 file di testo piuttosto grandi.
Cercavo una funzione che mi permetta di tornare alla prima posizione di un file di tipo TEXT, senza dover fare ogni volta il Close e l'Open del File (praticamente l'analogo di un Seek (0) di un file binario).
Esiste una tal funzione ?
Grazie...

4 Risposte

  • Re: Tornare in posizione iniziale in file di testo

    Hai pensato di caricare il file di testo in una TStringList? in questo modo giocando con l'indice di riga potrebbe essere più comodo.

    W.
  • Re: Tornare in posizione iniziale in file di testo

    Si, Wolfen; il problema e' che il file che vado ad analizzare consiste in diverse centinaia di migliaia di righe (stringhe di testo)...
    Ho paura che vado presto a saturare la memoria del PC.
    Grazie comunque....
  • Re: Tornare in posizione iniziale in file di testo

    Mmm hai detto che sono 2 file, ormai la memoria di un pc ha a disposizione almeno qualche giga per varie operazioni, a meno che non sia un servizio in background che continua lavorare una volta eseguite le operazioni basta scaricare i file e la memoria si libera, il picco avviene quando i 2 file sono caricati.
    cmq ho dato un occhio ai comandi di una open con file di testo, l'unico comando per resettare il puntatore è appunto:
    
     Reset(myFile); // Reopen the file for reading
    
    Non ho molta esperienza con i file di testo, di solito li carico in una stringlist, cmq (non vorrei dire una cavolata) potresti provare ad aprirlo in modalità binaria ed usare il seek, se usi una versione di delphi che supporta il BDE, se non ricordo male, esiste un componente che ti fa caricare un file di testo dentro una table, ma ho solo vaghi ricordi. Altra strada potresti usare un ODBC con un driver per file TXT e sfruttare FireDac(o un AdoConnection) per attaccarti con una table al file di testo. Altro al momento non mi viene in mente
    W.
  • Re: Tornare in posizione iniziale in file di testo

    Esatto Wolfen, sono 2 file (anzi tre, perche' nel terzo salvo con il write il risultato dell'elaborazione dei due di cui parlavo).
    Comunque pensavo che potrei scambiare i 2 files e decidere che quello da riaprire piu' volte potrebbe essere quello di minore dimensione (qualche migliaio di righe di stringhe). Pensavo quindi di usare un'array dinamico per immagazzinare quest'ultimo (perche' non conosco la dimensione, variabile da mese a mese). A questo punto penso anch'io che non esista una funzione di posizionamento "zero" e quindi comincero' a scrivere il codice come ho già detto. Grazie comunque; solo parlare mi ha schiarito le idee.....
Devi accedere o registrarti per scrivere nel forum
4 risposte