In molti casi il programmatore deve ricorrere al salvataggio di informazioni in modo permanente, tramite un dispositivo di memoria di massa (hard disks,flash drive, usb ecc...), in modo da accedere a tali informazioni anche successivamente.
Il modo più semplice per far ciò in Pascal è tramite un semplicissimo file di testo.
Il file di testo viene aperto per la creazione con l'istruzione Rewrite, le linee vengono scritte con l'istruzione Writeln.
L'istruzione Rewrite, se eseguita su un file esistente, cancella tutto il contenuto presente nel file di testo e sostituito con il nuovo contenuto.
Se lo si vuole evitare, basta aprire il file con l'istruzione Append, in modo da "accodare" i nuovi contenuti, senza eliminare quelli già presenti.
Il file di testo viene aperto con l'istruzione Reset e le linee vengono lette con l'istruzione Readln .
Eccovi la sintassi dei vari comandi enunciati in precedenza:
Assign(nome logico,'file esterno'); Reset(nome logico); Rewrite(nome logico); Readln(nome logico); Writeln(nome logico);
N.B. Nome logico = Nome della variabile di tipo di dato text dichiarata nel programma Esempio:
program Salv_credenziali; uses crt; var testo:text; nome, password: string; begin clrscr; assign(testo, 'credenziali.txt'); rewrite(testo); writeln('Inserisci il nome utente'); readln(nome); writeln('Inserisci la password di accesso'); readln(password); writeln(testo, 'Nome utente = ', nome); writeln(testo, ''); writeln(testo, 'Password = ', password); writeln(); writeln('Salvataggio credenziali di accesso eseguito con successo, nel file credenziali.txt!!!'); close(testo); readln; end.
Analizziamo ora il codice:
- dichiarazione del nome del programma;
- dichiarazione di una variabile text di nome testo, indispensabile per la scrittura su file;
- dichiarazione delle variabili nome e password entrambe di tipo string;
- inizio del programma;
- pulizia dello schermo;
- associazione del file esterno credenziali.txt alla variabile testo definita come il file logico all'interno del programma;
- creo e apro un nuovo file;
- stampa sullo schermo la stringa Inserisci il nome utente;
- lettura della stringa corrispondente al nome ed inserimento di tale valore nella variabile nome;
- stampa sullo schermo la stringa Inserisci la password di accesso;
- lettura della stringa corrispondente alla password ed inserimento di tale valore nella variabile password;
- scrivo nel file la stringa Nome utente = seguita dal valore della variabile nome;
- scrivo nel file una riga vuota;
- scrivo nel file la stringa Password = seguita dal valore della variabile password;
- stampa sullo schermo di una riga vuota;
- stampa sullo schermo della stringa Salvataggio credenziali di accesso eseguito con successo nel file credenziali.txt!!!;
- chiusura del file aperto. Il collegamento tra la variabile testo (nome logico) e il file fisico credenziali.txt si interrompe. Attenzione: Se non si esegue questa operazione, prima della fine del programma, il file fisico risulterà vuoto;
- permette di far leggere l'ultima operazione writeln() all'utente fino alla pressione del tasto Invio;
- fine del programma;