Загальна характеристика методів роботи з файлами

Файл - це послідовність байтів.

Будь-який файл має три характерні|вдача| особливості:

1) у нього є ім'я, що дає можливість|спроможність| програмі працювати одночасно з декількома файлами;

2) він містить|утримує| компоненти одного типу|типа|. Типом компонентів може бути будь-який тип Паскаля окрім|крім| файлів. Іншими словами, не можна створити "файл файлів".

3) довжина новостворюваного файлу ніяк не оговорюється при його оголошенні і обмежується тільки|лише| ємкістю|місткістю| пристроїв|устроїв| зовнішньої пам'яті.

Файловий тип|типа| можна задати одним з трьох способів:

<ім'я > = File| of| <тип>;

<ім'я> = TextFile|;

<ім'я> = File|;

Тут <ім'я> - ім'я файлового типу|типа| (правильний ідентифікатор); File|, of| – зарезервовані слова; TextFile| – ім'я стандартного типу|типа| текстових файлів;

Залежно від способу оголошення можна виділити три види файлів:

· файли, що типізуються (задаються реченням|реченням| File| of| ...);

· текстові файли (визначаються типом TextFile|);

· нетипизовані| файли (визначаються типом File|).

Вид файлу, взагалі кажучи, визначає спосіб зберігання в нім інформації. Проте|однак| в Object| Pascal| немає засобів|коштів| контролю виду раніше створених файлів. При оголошенні вже існуючих файлів програміст повинен сам стежити за відповідністю виду оголошення характеру,|вдачі| що зберігаються у файлі даних.

Читання з|із| файлу виконується за допомогою процедур: Read|(<ф. з.>,<с. з.>); Readln|(<ф. з.>,<с. з.>); де <ф. з.> - файлова змінна; <с|із|. з.> - строкова змінна, в яку заносяться дані з|із| файлу.

Запис у файл виконується за допомогою процедур: Write|(<ф. з.>,<с. з.>); Writeln|(<ф. з.>,<с. з.>); де <ф. з.> - файлова змінна; <с|із|. з.> - строкова змінна, дані з|із| якої додаються|добавляють| у файл.

Файли стають доступними програмі для читання і запису, тільки|лише| після|потім| виконання особливої процедури відкриття|відчиняти| файлу. Ця процедура полягає в пов'язанні|зв'язуванні| раніше оголошеною файловою змінною з ім'ям, що існує,|наявний| або новостворюваного файлу, а також у вказівці напряму|направлення| обміну інформацією: читання з|із| файлу або запис в нього.

Файлова змінна зв'язується з|із| ім'ям файлу в результаті|унаслідок,внаслідок| звернення до стандартної процедури AssignFile|(<файлова змінна>, <ім'я файлу>);

Ініціювати файл означає вказати для цього файлу напрям|направлення| передачі даних. У Object| Pascal| можна відкривати|відчиняти| файл для читання, для запису інформації, а також для читання і запису одночасно.

Для читання файл ініціюється за допомогою стандартної процедури Reset|(<файлова змінна>); У Object| Pascal| дозволяється звертатися|обертатися| до файлів, що типізуються, які відкриті|відчиняти| процедурою Reset| (тобто для читання інформації), за допомогою процедури Write| (тобто для запису інформації). Така можливість|спроможність| дозволяє легко оновлювати|обновляти| раніше створені файли, що типізуються, і при необхідності розширювати їх. Для текстових файлів відкритих|відчиняти| процедурою Reset|, не можна використовувати процедуру write| або writeln|.

Стандартна процедура Rewrite|(<файлова змінна>); ініціює запис інформації у файл. Процедурою Rewrite| не можна ініціювати запис інформації в раніше існуючий дисковий файл: при виконанні цієї процедури старий файл (якщо він був) знищується і ніяких|жодних| повідомлень|сполучень| про це в програму не передається. Новий файл готується до прийому інформації, і його покажчик приймає значення 0.

Стандартна процедура Append|(<файлова змінна>); ініціює запис в раніше існуючий текстовий файл для його розширення, при цьому покажчик файлу встановлюється в його кінець. Процедура Append| застосовна тільки|лише| до текстових файлів. Процедурою Append| не можна ініціювати запис в файл, що типізується або не типізується|. Якщо текстовий файл раніше вже був відкритий|відчиняти| за допомогою Reset| або rewrite|, використання процедури Append| приведе до закриття цього файлу і відкриття|відчиняти| його знов|знову,щойно|, але|та| вже для запису.

Після того, як припиняється робота з|із| файлом, його необхідно закрити|зачиняти|, для цього потрібно використовувати процедуру CloseFile|(<файлова змінна>); Ця процедура забезпечує збереження|зберігання| у файлі всіх нових записів і реєстрацію файлу в каталозі.

Приклад

Program Vvod_Vivod;

var

a:longint;

t:text;

Begin

assign(t,'input.txt');

reset(t);

read(t,a);

close(t);

assign (t,'output.txt');

rewrite(t);

write(t,a);

close(t);

End.