Pascal/Файли
Файли
ред.Для роботи з файлами в мові Паскаль передбачено кілька вбудованих типів даних, а саме:
- текстові файли (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. Ознайомтеся із Функціями для роботи з файлами.