Подручја рада
Претрага
100. Отварање и затварање датотеке.

Уводни део часа :
1. Какав је то датотечни тип података у PASCAL  - у ?
2. Који су начини приступа датотеци ?
-------------------------------------------------------------------------------------------------------------------
Главни део часа :

Пре него што почнемо рад са датотекама, потребно је повезати датотечку променљиву из програма са датотеком на диску. Повезивање се реализује процедуром assign  :

                                     assign (<datotecna promenljiva>, <string>);

где је <string> константа или променљива која представља име датотеке на диску.

На пример : assign(ulazna, 'celi.dat');

Овом процедуром је датотечна променљива ulazna повезана са датотеком на диску celi.dat. Када извршимо повезивање, приступамо отварању датотеке. Отварање се реализује двема процедурама, у зависности од тога да ли отварамо први пут датотеку, односно креирамо нову датотеку или отварамо стару датотеку. Отварање нове датотеке реализује се процедуром :

                                       rewrite(<datotecna promenljiva>);

Овом процедуром се увек креира празна датотека. Зато је потребно пре извршавања
ове процедуре проверити да ли већ постоји датотека са тим именом, јер ако постоји,
њен садржај ће бити избрисан.

Отварање датотеке ради ажурирања података, односно мењања постојећих података, брисања непотребних или дописивања нових података изводи се процедуром :

                                       reset(<datotecna promenljiva>);

Употребом ове процедуре отвара се постојећа датотека за читање података, а њен садржај се не мења. Читање података почиње од податка који је први уписан.

Пример :
Написати програм којим се отвара нова датотека целих бројева. Нека се датотека на диску зове brojevi.dat, а у програму ulaz.

program otvaranje;
{otvaranje nove datoteke}
type datoteka=file of integer;
var ulaz : datoteka;
begin
        assign(ulaz, 'brojevi.dat');
        rewrite(ulaz)
end.

На крају рада са датотекама потребно је све отворене датотеке затворити.
Затварање датотека се изводи процедуром :

                                    close(<datotecna promenljiva>);

Пример : Написати програм за отварање и затварање постојеће датотеке ulaz.dat.

program zatvaranje;
type datoteka=file of integer;
var ulaz : datoteka;
begin
       assign(ulaz, 'brojevi.dat');
       reset(ulaz);
       close(ulaz)
end.

Ако у програму користимо више датотека потребно је сваку затворити посебном наредбом close.

Одговорити на питања:
1. Шта је то датотека ?
2. Које врсте датотека имамо у PASCAL - у ?
3. Којом наредбом се повезује датотечна променљива са датотеком на диску ? Навести пример.
4. Којом процедуром се врши отварање нове датотеке, а којом већ постојеће ? Навести пример.
5. Којом процедуром се врши затварање отворене датотеке ? Навести пример.