Sunteți pe pagina 1din 11

Fiiere Pascal

Fiiere text

Noiunea de fiier

Def: Numim fiier, o colecie de informaii care satisfac un anumit scop, memorate pe un suport extern, i accesate printrun nume, numele fiierului. Din punct de vedere al coninutului, fiierele de date din limbajul Pascal se mpart n trei categorii: Fiiere cu tip: componentele sunt toate de acelai tip (predefinit sau definit de ctre utilizator) Fiiere text: datele sunt memorate ca o succesiune de caractere dispuse pe unul sau mai multe rnduri. Fiiere fr tip: informaiile sunt stocate sub forma unor blocuri de octei de dimensiune fix;

Descriptor de fiier
ntr-un program, un fiier text este accesat prin intermediul unei

variabile de un tip predefinit numit text. O astfel de variabil se numete descriptor de fiier Exemplu var f , g: text;

Procedura assign
Pentru folosirea unui fiier text ntr-un program trebuie creat o

legtur ntre numele sub care este recunoscut de sistemul de operare(fiierul fizic) i descriptorul de fiier. Legtura poart denumirea de asignarea fiierului i se face cu ajutorul procedurii assign. Sintaxa: assign( <descriptor>,< nume_fiier); Parametrul <nume_fiier> este un ir de caractere care reprezint calea de acces mpreun cu numele complet al fiierului. Calea poate s lipseasc dac fiierul se gsete sau urmeaz a fi creat n directorul curent. Exemplu: assign(f,date.in) asigneaz descriptorul f fiierului date.in, aflat n directorul curent

Proceduri pentru deschiderea unui fiier


Pentru a putea fi prelucrat, este necesar ca un fiier s fie

deschis. Dac dorim s deschidem un fiier pentru a citi din el, vom folosi procedura reset: Ex: reset(f), unde f este o variabil de tip fiier text Dac dorim s deschidem un fiier text pentru scriere, vom folosi procedura rewrite Ex: rewrite(f), f variabil de tip fiier text Pentru deschiderea unui fiier i scrierea la sfritul acestuia se va folosi procedura append: Ex: append(f) Observaie: n urma apelurilor procedurilor de deschidere reset i rewrite indicatorul de fiier se poziioneaz la nceputul fiierului deschis, ns, la append, poziionarea se face la sfritul fiierului.

nchiderea unui fiier


Dup ncheierea prelucrrilor asupra unui fiier, acesta trebuie

nchis. Indiferent de modalitatea de deschidere a unui fiier, nchiderea acestuia se face ntr-un singur mod, cu ajutorul procedurii close: Ex. close(f);

Funcii pentru testarea sfritului de rnd i sfritului de fiier


Fiecare linie a unui fiier (mai puin ultima) se ncheie cu un aa

numit marcaj de sfrit de rnd, marcaj constituit de caracterele CR i LF. Sfritul fiierului este marcat de caracterul EOF (End of file).

Funcii care testeaz sfritul unei linii ntr-un fiier


Exist dou funcii predefinite pentru testarea sfritului de rnd

ntr-un fiier:

eoln seekeoln

Ambele funcii testeaz sfritul liniei returnnd valorile TRUE

sau FALSE, ns exist o diferen ntre cele dou. Funcia eoln returneaz TRUE dac indicatorul se afl la sfritul unei linii, iar seekeoln returneaz true dac ntre poziia indicatorului i marcajul de sfrit de linie exist numai caractere albe.

Funcii care testeaz sfritul unui fiier


Exist dou funcii predefinite pentru testarea sfritului unui

fiier:

eof seekeof

Ambele funcii testeaz sfritul fiierului returnnd valorile

TRUE sau FALSE. Diferena dintre cele dou este dat de faptul c funcia eof returneaz True dac indicatorul se afl la sfritul fiierului, iar seekeof returneaz true dac ntre poziia indicatorului i marcajul de sfrit de fiier exist numai caractere albe.

Citirea din fiier


Citirea se face folosind read sau readln Ex. read(f, x); - citete din fiierul f i pune ceea ce a citit n

variabila x.

Scrierea n fiier
Se face folosind write sau writeln Ex. write(f, text); - scrie n fiierul f cuvntul text