Загальна характеристика методів роботи з файлами
Файл - це послідовність байтів.
Будь-який файл має три характерні|вдача| особливості:
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.