ПАСКАЛЬ: РОБОТА З ФАЙЛАМИ
write ('Якщо Ви натиснете ENTER, f буде ');
writeln ('зв''язано з "default.dat". ');
writeln ('Для зміни зв''язування f введіть ім''я файла:');readln ( st );
if st <> '' then fn := st;
assign ( f, fn );
…
end.
Якщо користувач бажає зв’ язати ім’ я f із файлом, зовнішнє ім’ я якого default.dat, то йому достатньо лише натиснути на клавішу Enter. Якщо йому треба задати інше зв’ язування, то він має набрати на клавіатурі ім’ я фізичного файла, наприклад, newname.dat, і натиснути на Enter.
Отже, після виклику процедури assign фізичний файл можна позначати ім’ ям файлової змінної. Але працювати з його елементами можна лише після відкривання відповідної файлової змінної. Процедура assign не задає відкривання файла, воно задається процедурами, які розглядаються далі.
Тут ми опишемо лише закривання файла, що задається процедурою СLOSE:
close ( f ) .
Виконання такого виклику не розриває зв’язку імені f із фізичним файлом, але читання та запис за допомогою цього імені неможливі до наступного відкривання чи нового зв’язування з подальшим відкриванням.
Спроба закрити вже закриту або ще не відкриту файлову змінну призводить до аварійного завершення програми.
Таким чином, стандартний порядок дій із файловою змінною можна подати у вигляді
зв’ язування
відкривання
обробка
закривання
нове відкривання або зв’ язування та відкривання
обробка
закривання
тощо
Перш, ніж розглядати підпрограми відкривання та обробки файлів, розглянемо файлові змінні докладніше.