Файли

ред.

Для роботи з файлами в мові Паскаль передбачено кілька вбудованих типів даних, а саме:

  • текстові файли (Text)

Такі файли є звичайними текстовими файлами, які можна відкрити і редагувати в будь-якому текстовому редакторі.

  • нетипізовані файли (File)
  • типізовані файли (File of тип)

Такі файли складаються з набору однотипних двійкових (бінарних) записів в такому самому форматі, в якому вони зберігаються в пам’яті.

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

var Vvid:Text;

або

var Vyvid:File of integer;

Потім треба пов’язати цю змінну з адресою реального файлу за допомогою процедури Assign, наприклад

Assign(Vvid,'/home/username/pascal/input.txt');

або

Assign(Vyvid,'Pascal\resultat.int');

Адреси файлів складаються з шляху (імен тек, розділених знаком '/' для *NIX-систем і '\' для Windows-систем) і імені; адреси файлів можуть бути абсолютними і відносними. Адреса в першому випадку абсолютна, бо розпочинається зі знака '/' (для систем Windows аналогічні адреси містять ім’я диска - 'C:\MyPrograms' і т.д.). В другому випадку адреса відносна, і програма буде шукати названий файл в робочій теці (зазвичай - той самій, де знаходиться вихідний виконуваний файл). Тобто, якщо в результаті компіляції в другому випадку буде створено файл 'C:\MyPrograms\myprog.exe', він буде шукати файл 'C:\MyPrograms\Pascal\resultat.ini'. Для того, щоб відносно адресувати файли, що знаходяться вище за ієрархією папок, можна використовувати ім’я теки '..' - наприклад, '..\1.txt' буде означати "файл 1.txt в тій теці, що містить теку із виконуваним файлом", в другому випадку - файл 'C:\1.txt'.

Для процедури Assign не обов’язково, щоб файл за названою адресою існував; ця процедура тільки налаштовує змінну для подальшої роботи, жодних дій із адресою при цьому не виконується.

Після пов’язування файл треба відкрити за допомогою однієї з функцій Reset, Rewrite чи Append. Reset готує файл для читання, Rewrite - для запису (якщо файлу не існує - створює новий, якщо існує - знищує весь його вміст), Append - для допису в кінець файла.

Після цього з файлу можна читати за допомогою функцій read, readln і писати за допомогою функцій write, writeln, першим параметром яких вказується файл. Функції, що переводять рядок, і позначки форматування використовуються тільки для текстових файлів.

Встановити, чи досягнуто кінця файлу, можна за допомогою функції Eof.

Після закінчення роботи з файлом необхідно його закрити за допомогою функції Close.

Завдання

ред.

1. Ознайомтеся із Функціями для роботи з файлами.