Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
інст. карта до лаб.заняття №1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
131 Кб
Скачать
☆

Стандартні підпрограми для обробки файлів

Вони призначені для організації і ефективної обробки файлів. У подальшому filevar означає будь-який файловий тип, anystring – будь-який рядковий тип, filetype – тип, що збігається з типом елементів файлу.

Процедури

Assing(Var f: filevar; s: anystring) – файлова змінна f ототожнюється з фізичним файлом з іменем s. Ім’я s містить основне або розширене ім’я файлу, а також може містити ім’я дисководу. Будь-яка робота з файлом повинна починатися з цієї процедури.

Наприклад, процедура Assign(h,’a:myfile.dta’) ототожнює файлову зміну h фізичним файлом ‘myfile.dta’, що міститься в дисководі A.

Close(Var f:filevar) – закриття файлу f. В цьому випадку у файл записується мітка кінця файлу і вносяться необхідні зміни в директорій. Ця процедура необхідна для збереження результатів під час створення чи поновлення файлів.

Erase(Var f:filevar) – файл f витирається з диска.

Flush(Var f:filevar) – очищає буфер файлу f. Коли відбувається запис у файл, то дані записуються в нього не відразу. Спочатку накопичуються у буфері, що міститься в оперативній пам’яті, а коли буфер заповниться, відбувається запис у файл. Процедура Flush записує вміст буфера в тому стані, в якому він є в момент виклику процедури у файл. Якщо перед закриттям файлу буфер не був порожнім, то процедура Close автоматично переносить його вміст у файл.

Read(Var f:filevar; Var a1,…,an:filetype) – зчитування елементів з файлу f і присвоєння їх значень змінним із списку. Список повинен складатися хоча б з однієї змінної, інакше не виконуватимуться ніякі дії. Зчитування починається з поточного місцезнаходження вказівника файлу, а після закінчення процедури він встановлюється на першому непрочитаному елементі. Якщо тип деякої змінної зі списку не збігається з типом елементів файлу, то фіксується помилка введення-виведення.

Rename(Var f:filevar; s:anystring) – ім’я файлу f замінюється іменем, заданим рядком s. Нове ім’я не повинно збігатися з іменами вже існуючих файлів.

Reset(Var f:filevar) – відкриває вже існуючий файл f. Вказівник файлу встановлюється на перший елемент. Якщо такого файлу не існує, то виникає помилка введення-виведення.

Rewrite(Var f:filevar) – утворює новий файл f. Якщо такий вже існував, то він очищається. Вказівник файлу знаходиться на початку файлу.

Seek(Var f:filevar; n:Integer) – встановлює вказівник файлу f на n-й елемент. Перший елемент має номер 0, другий – 1 і т.д.

Write(Var f:filevar; a1,….,an:filetype) – запис у файл f значень змінних із списку. Список повинен складатися хоча б з однієї змінної, інакше не виконуватимуться ніякі дії. Після виконання процедури вказівник файлу міститься після останнього записаного елемента. Якщо тип деякої змінної зі списку не збігається з типом елементів, то фіксується помилка введення.

Процедури Flush, Read, Seek, Write застосовуються лише до відкритих файлів, а процедури Erase і Rename – до закритих файлів. Порушення цього правила призводить до виникнення помилки введення-виведення

Функції

Eof(Var f:filevar):Boolean – має значення True, якщо вказівник файлу міститься на мітці кінця файлу, і False – в іншому випадку.

FilePos(Var f:filevar):Integer – визначає номер елемента, в якому міститься вказівник файлу.

FileSize(Var f:filevar):Integer– визначає кількість елементів у файлі.

Усі три функції повинні застосовуватись до відкритих файлів.