program leggi_file(input,output); {dichiaramo un nuovo tipo: alunno,che è un record composto da due campi:cognome e nome} type alunno=record numero:[key(0,ascending)] integer; cognome:varying[20] of char; nome:varying[20] of char; end; var alu:alunno; fil:varying[20] of char;f:file of alunno;{definiamo una variabile logica f che ci servirà per scrivere i dati nel file fisico} si:char; rec:integer; begin si:="s"; writeln("Quale file vuoi aprire?Scrivi il nome con estensione qui di seguito"); readln(fil); open(f,fil,history:=old,error:=continue,organization:=indexed,access_method:=keyed);{assegnamo alla variabile f il file fisico} if status(f)>0 then begin writeln("Il nome del file inserito non esiste."); writeln("Vuoi provare a riscrivere il nome?(S/N)"); readln(si); end else while ((si<>"N") and (si<>"n" )) do begin writeln("quale record vuoi leggere? (1,2,3 ...)"); readln(rec); findk(f,0,rec); if (not ufb(f)) then begin writeln("cognome: ",f^.cognome); writeln("nome: ",f^.nome); si:="n"; end else writeln('Il record non esiste'); close(f);{chiudiamo il file fisico} end; end.