Gestione dei file Ascii (testo) dal codice Delphi

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.

instagram viewer

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).

instagram story viewer