In poche parole, i file di testo contengono leggibili ASCII personaggi. Possiamo pensare di lavorare con un file di testo in Delphi come analogo alla riproduzione o alla registrazione di informazioni su un nastro VCR.
Sebbene sia possibile apportare modifiche a un file di testo, saltare durante l'elaborazione delle informazioni o aggiungere alcuni dati al file diverso da alla fine, è consigliabile utilizzare un file di testo solo quando sappiamo che stiamo lavorando con un testo normale e nessuna di tali operazioni è necessario.
I file di testo sono considerati rappresentare una sequenza di caratteri formattati in righe, in cui ogni riga è terminata da un marcatore di fine riga (un Combinazione CR / LF).
File di testo e metodo di assegnazione
Per iniziare a lavorare con i file di testo devi collegare un file su un disco a una variabile di file nel tuo codice - dichiara una variabile di tipo TextFile e utilizzare la procedura AssignFile per associare un file su un disco a un file variabile.
Lettura delle informazioni da un file di testo
Se vogliamo rileggere il contenuto di un file in un elenco di stringhe, solo una riga di codice farà il lavoro.
Per leggere informazioni da un file riga per riga, è necessario aprire il file per ingresso usando il Ripristina procedura. Una volta ripristinato un file, possiamo usarlo readLn per leggere informazioni da un file (legge una riga di testo da un file, quindi passa alla riga successiva):
Dopo aver aggiunto una riga di testo da un file a un componente dell'appunto, SomeTxtFile deve essere chiuso. Questo è fatto dal Vicino parola chiave.
Possiamo anche usare la procedura di lettura per leggere informazioni da un file. Leggi funziona esattamente come ReadLn, tranne per il fatto che non sposta il puntatore sulla riga successiva.
EOF - Fine del file
Utilizzare la funzione EOF per assicurarsi che non si stia tentando di leggere oltre la fine del file. Diciamo che vogliamo visualizzare il contenuto del file nelle finestre di messaggio - una riga alla volta fino a quando non arriviamo alla fine di un file:
Nota: è meglio usare Mentre loop rispetto al ciclo Until per tenere conto della (improbabile) possibilità che il file esista ma non contenga alcun dato.
Scrivere testo in un file
Il WriteLn è probabilmente il modo più comune per inviare singole informazioni a un file. Il codice seguente leggerà un testo da un componente Memo1 (riga per riga) e lo invierà ad un file di testo appena creato.
A seconda dello stato del file fornito alla procedura di riscrittura, crea un nuovo file (apre il file per l'output) con il nome assegnato a SomeTextFile. Se esiste già un file con lo stesso nome, questo viene eliminato e al suo posto viene creato un nuovo file vuoto. Se SomeTextFile è già aperto, viene prima chiuso e quindi ricreato. La posizione corrente del file è impostata all'inizio del file vuoto.
Nota: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') farà lo stesso.
A volte dovremo solo aggiungere alcuni dati di testo alla fine di un file esistente. In tal caso, chiameremo Aggiungere per garantire che un file venga aperto con accesso di sola scrittura con il puntatore del file posizionato alla fine del file. Qualcosa di simile a:
Fai attenzione alle eccezioni
In generale, dovresti sempre usare la gestione delle eccezioni quando si lavora con i file. L'I / O è pieno di sorprese. Usa sempre CloseFile in un blocco finally per evitare la possibilità di corrompere il FAT di un utente. Tutti gli esempi precedenti devono essere riscritti come segue:
Manipolazione con file strutturati
Delphi ha la capacità di gestire sia file ASCII sia file che contengono dati binari. Ecco le tecniche con cui lavorare file tipizzati e non tipizzati (binari).