END;
Для кожної файлової змінної транслятор автоматично вводить допоміжну змінну того самого типу, яка називається буферною змінною і позначається ім'ям файлової змінної, поряд з яким ставиться стрілочка .
Буферна змінна має тип компонентів файла. Наприклад, для описаних вище файлових змінних v і com буферні змінні будуть відповідно v (типу vector) і com (типу complex). Значенням буферної змінної є той компонент файла, який у даний момент доступний.
Таким чином, буферна змінна є тим «вікном», через яке можна прочитати чи записати один компонент файла.
Основними видами дій над файлами можна вважати
такі.
1. Перегляд файла. Ця дія виконується послідовним переглядом компонентів файла, починаючи з першого. У процесі перегляду змінювати значення компоненти не можна.
2. Створення файла. Дія виконується додаванням нових компонент у файл. Причому спочатку файл повинен бути порожнім (не містити жодного компонента). У процесі створення файла нові компоненти дозволяється записувати лише в кінець файла.
Інші дії над послідовними файлами є композицією перегляду і створення файла.
Для роботи з файлами є стандартна функція eof (іф), де іф — символічно позначено ім'я файла (eof — скорочення від end of file — кінець файла). Функція eof (іф) набуває значення true (якщо досягнуто кінець файла), у решті випадків набуває значення false. Зауважимо, що кожен файл має кінець, який називають ознакою кінця файла. Якщо файл порожній, то значення eof (іф) дорівнює true.
У мові Паскаль для роботи з файлами є кілька стандартних процедур.
reset (іф) (reset — переустановка) — процедура здійснює пошук початку файла і готовить його до перегляду. Якщо функція eof (іф) має значення false, тобто файл не порожній, то після виконання reset буферна змінна іф набуває значення першого компонента файла іф. Якщо значення eof (іф) дорівнює true, то файл порожній і після виконання процедури reset (іф) буферна змінна іф не визначена.
rewrite (іф) (rewrite — перезапис) — процедура передує створенню файла іф. В результаті виконання процедури значення іф змінюється на порожній файл. Функція eof (іф) набуває значення true і можна створювати новий файл.
get (іф) — процедура здійснює перехід до наступного компонента файла. Буферна змінна іф набуває значення цього компонента. Якщо наступного компонента немає, то значення eof (іф) дорівнює true, а значення іф не визначено. Процедура get може бути виконана лише тоді, коли перед її виконанням значення eof (іф) дорівнює false.
put (іф) — процедура здійснює запис значення буферної змінної іф у файл іф. Запис можливий, якщо перед виконанням процедури значення eof (іф) дорівнює true. Після запису значення eof (іф) дорівнює true, а значення іф не визначено.
Усі операції над файлами можна виконати за допомогою цих чотирьох процедур і функції eof.
Наприклад, виконання вказівок
reset (f);
x:= f
забезпечує зчитування з файла f першого компонента і присвоювання цього значення змінній х.
Вказівки
get(f); y:= f