logo
методичка_1_05_ВНУ

Підготовчі та завершальні операції

Операції цієї групи виконують за допомогою процедур Assign, Close, Flush, Reset, Rewrite.

a) ASSIGN - призначена для налаштування зв'язку між фі­зичним файлом на магнітному носії і файловою змінною. Звер­тання до процедури таке:

ASSIGN (<ім'я_файлової_змінної>, '<зовнішнє_ім'я_файлу>')

Ім'я фізичного файлу будують за правилами MS-DOS, тоб­то воно може містити ім'я диска, ланцюг каталогів і повне ім'я файлу (з розширенням). Імена поточного диска чи каталогу можна не зазначати. Ім'я фізичного файлу - це рядок символів, тому його беруть у лапки (апострофи). Наприклад:

Assign(f, 'E:\dani\fl.dat')

У результаті виконання цієї процедури файлова змінна f буде пов'язана з дисковим файлом fl.dat у каталозі dani на диску Е.

Другий параметр процедури Assign може містити позна­чення "псевдофайлу", тобто файлу, пов'язаного з конкретним фізичним пристроєм:

'CON' - консоль: у випадку виведення інформація надходить на дисплей, у випадку введення - з клавіатури;

'LPT1', 'LPT2', 'LPT3' - пристрої друкування (може бути одно­часно до трьох);

'PRN' - синонім 'LPT1';

'СОМ1', 'COM2' - послідовні комунікаційні порти, залежить від пристроїв, які приєднані;

'AUX' - синонім 'СОМГ;

'NUL' - фіктивний пристрій, для виведення в "нікуди".

б) Reset і Rewrite призначені для відкривання файлів:

Reset(<iм'я_фaйлoвoї_змiннoї>)

Rewrite(<iм'я_фaйлoвoї_змiннoї>)

Файлова змінна повинна попередньо уже бути пов'язана з конкретним дисковим файлом за допомогою Assign.

Для ілюстрації роботи процедур опрацювання файлів ви­користовують поняття вікно файлу (або вказівник файлу). Вік­но визначає позицію доступу, тобто позицію файлу, доступну для читання чи записування. Відкривання файлу передбачає таке:

відшукання файлу на зовнішньому носії;

утворення системних буферів для обміну інформацією;

розміщення вікна файлу на його початку, тобто на нульовий елемент.

Процедуру Reset використовують для відкривання вже на­явного дискового файлу, інакше виникне помилка. Процедура Rewrite допускає, що файлу ще нема, тоді вона створює цей файл. Якщо ж файл вже є, то Rewrite його очищає (інформація стає недоступною). В обох випадках вікно позиціонується на нульовий елемент.

в) Flush призначена для завершення обміну без закривання файлу:

Flush (<ім'я_файлової_змінної>)

Ця процедура "скидає" з буфера останні елементи в файл під час записування. Close теж виконує цю дію, крім інших.

г) Close завершує дії з файлом:

Close (<ім'я_файлової_змінної>)

У цьому випадку будуть ліквідовані всі внутрішні буфери, утворені під час відкриття файлу. Після цього файлову змінну можна пов'язати з іншим дисковим файлом за допомогою As­sign. Зазначимо, що після завершення роботи програми всі файли автоматично закриваються. Однак для гарантії ліпше використати Close.