back to top

Lettura di un file di testo con Delphi

Nel precedente capitolo della nostra Guida a Delphi, abbiamo visto come accedere alle informazioni presenti nelle tabelle di un database. Tuttavia, le informazioni possono anche risiedere in file di testo, generalmente utilizzati per un accesso sequenziale. In questo capitolo, esploreremo come, in Delphi, sia possibile aprire un file di testo e accedere alle informazioni in esso contenute.

Preparazione del progetto

Iniziate creando un nuovo progetto in Delphi e inserite una Label sul Form. Inoltre, assicuratevi di avere un file di testo da leggere: create un file denominato provaf.txt e salvatelo nella directory principale del vostro disco.

Pubblicitร 

Dichiarazione delle variabili

Delphi dispone di un tipo di dato specifico per la gestione di file di testo: TextFile. Pertanto, รจ necessario dichiarare una variabile di questo tipo per stabilire un collegamento al file fisico presente sul disco. La dichiarazione della variabile avviene cosรฌ:

var
  testoFile: TextFile;

Successivamente, รจ importante dichiarare una variabile di tipo stringa per memorizzare una singola riga di testo letta dal file:

var
  buffer: string;

Lettura del file di testo

Ora procediamo alla parte operativa: inserite il seguente codice nella procedura TFormCreate del vostro progetto:

begin
  AssignFile(testoFile, 'c:\provaf.txt');
  Reset(testoFile);
  label1.Caption := '';
  while not EOF(testoFile) do
  begin
    ReadLn(testoFile, buffer);
    label1.Caption := label1.Caption + buffer + #13;
  end;
  CloseFile(testoFile);
end;

In questo codice, la funzione AssignFile associa il file fisico alla variabile di tipo TextFile. Successivamente, il file viene aperto utilizzando la funzione Reset.

Per leggere tutte le righe del file, utilizziamo l’istruzione ReadLn, che riceve come argomenti la variabile che punta al file e quella stringa in cui memorizzare una riga alla volta. Il contenuto in ciascuna riga viene poi concatenato all’elemento Label tramite l’operatore di concatenazione.

Il testo completo verrร  visualizzato nella Label. L’intero processo avviene all’interno di un ciclo while, che continui finchรฉ non si raggiunge la fine del file, controllata dalla funzione EOF.

Al termine della lettura, il file viene chiuso con l’istruzione CloseFile, completando in tal modo il processo di apertura e lettura del file di testo.

Esempi e Considerazioni Finali

รˆ possibile estendere la funzionalitร  per gestire errori, ad esempio, con un controllo per verificare se il file esiste prima di tentare di aprirlo. Ecco un esempio di codice che implementa questo controllo:

if FileExists('c:\provaf.txt') then
begin
  AssignFile(testoFile, 'c:\provaf.txt');
  Reset(testoFile);
  // Codice per la lettura come prima
end
else
begin
  ShowMessage('Il file non esiste.');
end;

In conclusione, la lettura di file di testo in Delphi รจ un’operazione semplice che richiede la corretta gestione delle variabili e della logica di controllo. Attraverso questo esempio, si รจ compreso come accedere a dati esterni, il che รจ fondamentale in molte applicazioni pratiche.

Pubblicitร