Процедури і функції роботи з файлами

Procedure AssignFile (var F; FileName: String);

Для уникнення конфліктів, AssignFile замінює стандартну процедуру Assign в Delphi. Однак для забезпечення сумісності ви можете використовувати Assign. Процедура AssignFile зіставляє ім'я зовнішнього файлу з файлової змінної.

F - файлова змінна будь-якого файлового типу, FileName - вираз типу String або вираз типу PChar, якщо допускається розширений синтаксис. Всі подальші операції з F виробляються із зовнішнім файлом.

Не використовуйте AssignFile з уже відкритої файлової змінної.

Procedure CloseFile (var F);

Через конфлікти найменування, процедура CloseFile замінює стандартну процедуру Close з Borland Pascal. Використовуйте CloseFile щоб розірвати зв'язок між файлової змінної та зовнішнім дисковим файлом і закрити файл.

F - файлова змінна будь-якого файлового типу, відкрита процедурами Reset, Rewrite або Append. Зовнішній файл, пов'язаний з F, повністю модифікується і потім закривається, звільняючи дескриптор файлу для повторного використання.

Директива дозволяє вам обробляти помилки під час виконання програми, використовуючи обробку виняткових ситуацій.

При вимкненому директиві, ви повинні використовувати IOResult для перевірки помилок введення - виведення.

Function Eof (var F): Boolean;

(Типізовані або нетипізовані файли)

Function Eof [(var F: Text)]: Boolean;

Перевіряє, чи ні поточна позиція файлу кінцем файлу.

Eof (F) повертає True, якщо поточна позиція файлу знаходиться за останнім символом файлу або якщо файл порожній; інакше, Eof (F) повертає False.

Директива дозволяє вам обробляти помилки під час виконання програми, використовуючи обробку виняткових ситуацій.

При вимкненому директиві, ви повинні використовувати IOResult для перевірки помилок введення - виведення.

Procedure Erase (var F);

Видаляє зовнішній файл, пов'язаний з F.

F - файлова змінна будь-якого файлового типу.

Перед викликом процедури Erase, файл необхідно закрити.

Директива дозволяє вам обробляти помилки під час виконання програми, використовуючи обробку виняткових ситуацій.

При вимкненому директиві, ви повинні використовувати IOResult для перевірки помилок введення - виведення.

Function FileSize (var F): Integer;

Повертає розмір в байтах файлу F. Однак, якщо F - типізований файл, FileSize поверне число записів в файлі.

Перед використанням функції FileSize, файл повинен бути відкритий.

Якщо файл порожній, FileSize (F) повертає 0.

F - змінна будь-якого файлового типу.

Function FilePos (var F): LongInt;

Повертає поточну позицію файлу всередині файлу.

Перед використанням функції FilePos, файл повинен бути відкритий. Функція FilePos не використовується з текстовими файлами.

F - змінна будь-якого файлового типу, крім типу Text.

Procedure Reset (var F [: File; RecSize: Word]);

Відкриває існуючий файл.

F - змінна будь-якого файлового типу, пов'язаного з зовнішнім файлом за допомогою AssignFile. RecSize - необов'язкове вираження, яке використовується, якщо F - нетипізований файл. Якщо F - нетипізований файл, RecSize визначає розмір запису, який використовується при передачі даних. Якщо RecSize опущений, заданий за замовчуванням розмір запису дорівнює 128 байт.

Процедура Reset відкриває існуючий зовнішній файл, асоційований з файлової змінної F. Якщо зовнішнього файлу з таким ім'ям немає, виникає помилка часу виконання. Якщо файл, пов'язаний з F вже відкритий, він спочатку закривається і потім знову відкривається. Поточна позиція файлу встановлюється до початку файлу.

Procedure Rewrite (var F: File [; Recsize: Word]);

Створює і відкриває новий файл.

F - змінна будь-якого файлового типу, пов'язаного з зовнішнім файлом з використанням AssignFile.RecSize - необов'язкове вираження, яке використовується, якщо F - нетипізований файл. Якщо F - Нетипізовані-ний файл, RecSize визначає розмір запису, який використовується при пе-редачі даних. Якщо RecSize опущений, заданий за замовчуванням розмір запи-сі дорівнює 128 байт.

Процедура Rewrite створює новий зовнішній файл з ім'ям, пов'язаним з F.

Якщо зовнішній файл з тим же самим ім'ям вже існує, він видаляється, і створюється новий порожній файл.

Procedure Seek (var F; N: LongInt);

Переміщує поточну позицію файлу до певного компоненту. Ви можете використовувати процедуру тільки з відкритими типізований або нетипізований файлами.

Поточна позиція файлу F переміщується до номера N. Номер першого компонента файлу - 0.

Інструкція Seek (F, FileSize (F)) переміщує поточну позицію файлу в кінець файлу.

Procedure Append (var F: Text);

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

Якщо зовнішнього файлу з такою назвою не існує, відбувається помилка часу виконання.

Якщо файл F вже відкритий, він закривається і знову відкривається. Поточна позиція файлу встановлюється до кінця файлу.

Function Eoln [(var F: Text)]: Boolean;

Перевіряє, чи є поточна позиція файлу кінцем рядка текстового файлу.

Eoln (F) повертає True, якщо поточна позиція файлу - в кінці рядка або файлу; інакше Eoln (F) повертає False.

Procedure Read (F, V1 [, V2. Vn]);

(Типізовані і нетипізовані файли)

Procedure Read ([var F: Text;] V1 [, V2. Vn]);

Для типізованих файлів процедура Новомосковскет компонент файлу в змінну. При кожному зчитуванні поточна позиція у файлі просувається до наступного елементу.

Для текстових файлів Новомосковскется одне або кілька значень в одну або кілька змінних.

Зі змінними типу String Read зчитує всі символи аж до наступної мітки кінця рядка (але не включаючи її), або поки функція Eof (F) не прийме значення True. Змінної присвоюється вийшла в ре-док символьний рядок.

У разі змінної цілого або дійсного типу процедура очікує надходження послідовності символів, що утворюють число за правилами синтаксису мови Object Pascal. Зчитування припиняється при виявленні першого пробілу, символу табуляції або мітки кінця рядка, або в тому випадку, якщо функція Eof (F) приймає значення True. Якщо чи-слів рядок не відповідає очікуваному формату, то відбувається помилка введення-виведення.

Procedure Readln ([var F: Text;] V1 [, V2. Vn]);

Є розширенням процедури Read і визначена для текстових файлів. Зчитує рядок символів в файлі (включаючи маркер кінця рядка) і переходить до початку наступного рядка. Виклик функції Readln (F) без па-раметров призводить до переміщення поточної позиції файлу на початок сле-дме рядки, якщо вона є, в іншому випадку відбувається перехід до кінця файлу.

Function SeekEof [(var F: Text)]: Boolean;

Повертає ознака кінця файлу і може використовуватися тільки для відкритих текстових файлів. Зазвичай застосовується для зчитування числових значень з текстових файлів.

Function SeekEoln [(var F: Text)]: Boolean;

Повертає ознака кінця рядка в файлі і може використовуватися тільки для відкритих текстових файлів. Зазвичай застосовується для зчитування числових значень з текстових файлів.

Procedure Write ([var F: Text;] P1 [, P2. Pn]);

Записує одну або більше величин в текстовий файл.

Кожен параметр запису повинен мати тип Char, один з цілочисельних типів (Byte, ShortInt, Word, LongInt, Cardinal), один з типів з плаваючою комою (Single, Real, Double, Extended, Currency), один з строкових типів (PChar, AnsiString , ShortString), або одного з логічних типів (Boolean, Bool).

Procedure Write (F, V1. Vn);

Записує змінну в компонент файлу. Змінні V1. Vn повинні бути того ж типу, що й елементи файлу. При кожному записі змінної поточна позиція у файлі пересувається до наступного елементу.

Procedure Writeln ([var F: Text;] P1 [, P2. Pn]);

Виконує операцію Write, потім поміщає мітку кінця рядка в файл.

Виклик Writeln (F) без параметрів записує в файл маркер кінця рядка.

Файл повинен бути відкритий для виведення.