A. Considerații teoretice
var VariabilaFisier: file of TipInregistrare;
Mediul Turbo Pascal oferă o serie de funcții și proceduri predefinite pentru:
B. Exemple
var f: file of Byte; size: longint; nume: string; begin { Citeste numele fisierului } write('Numele fisierului: '); readln(nume); Assign(f, nume); Reset(f); size := FileSize(f); writeln('Dimensiunea fisierului in bytes: ', size); writeln('Pozitionare la jumatatea fisierului...'); Seek(f, size div 2); writeln('Pozitia este ', FilePos(f)); Close(f); end.
function ExistaFisier(nume: string): boolean; { Functie booleana care returneaza True daca fisierul exista; altfel returneaza False. Inchide fisierul daca aceasta exista } var f: file; begin {$I-} { inhiba mesajele de eroare pentru intrari/iesiri } Assign(f, nume); Reset(f); Close(f); {$I+} { reactiveaza mesajele de eroare la I/O } ExistaFisier := (IOResult = 0) and (Nume <> ''); end; { ExistaFisier)
C. Teme
type inregistrare = record cheie1: TipCheie1; cheie2: TipCheie2; ...... { Alte campuri } end; var f: file of inregistrare;
De aceea, se preferă construirea unei liste care să conțină toate cheile după care se dorește sortarea la un moment dat, împreună cu poziția în fișier a fiecărei înregistrări.
Se cere să se scrie un program care prelucrează un dicționar, memorat într-un fișier cu înregistrări de forma:
type inregistrare = record cuvant: string[30]; explicatii: string; end;
type tip_de_baza = record lang: string[15]; {numele limbii} freq: array ['A'..'Z'] of real end;