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

10.Файли

В тих випадках, коли даних багато або їх треба довго зберігати , застосовують файли.

Файл – це сукупність даних одного типу.

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

Процедура Assign зв’язує деякий зовнішній файл на диску з файловою змінною.

Наприклад :

Assign (class, ‘school.dat’);

Процедура Reset відкриває уже раніше існуючий файл даних на диску, ім.’я якого було перед цим пов’язане процедурою Assign з деякою файловою змінною, для його зчитування або запису в нього даних.

Наприклад :

Reset(class); відкриває уже існуючий файл school.dat

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

Наприклад :

Rewrite(class);

Створюється і відкривається файл на диску school.dat, який пов’язаний з файловою змінною class.

Процедура Close – закриває відкритий файл.

Наприклад :

Close (class);

Функція Eof набуває значення True, якщо досягнуто кінець файла, інакше набуває значення False.

Наприклад :

Eof (class);

Функція IOresult – використовується для пошуку помилок, які виникають при роботі з файлами. При безпомилковому виконанні останньої операції введення-виведення – функція IOresult набуває значення 0 інакше 1 . При цьому автоматичний контроль операцій введення - виведення повинен бути перед цим відключений за допомогою директиви {$I-}, після використання функції IOresult - автоматичний контроль введення - повинен бути знову підключений директивою {$I+}.

Приклад: Прочитати з текстового файла А всі записані в нього цілі числа, пертворити їх у дійсні і вивести в текстовий файл В по 4 числа в рядок.

Program example1;

VAr F1,F2:Text;

X:real;

I:integer;

Begin

{$I-} внутрішня перевірка правильності операції з файлом

assign(f1,’A’); зв’язок з файлом А, що містить цілі числа

reset(f1); відкрити файл для читання

{$I+} відключити внутрішню перевірку

if IOresult < > 0 then

writeln(‘нет файла’);

else begin

assign(f2,’B’); зв’язок з файлом В

rewrite(f2); відкрити файл для запису

repeat

for i:=1 to 4 do

if not SeekEof(f1) then

begin

read(f1,x);

write(f2,x:18); форматоване виведення

end;

writeln(f2); перехід на новий рядок

until SeekEof(f1); до тих пір поки не буде прочитаним кінець файла

close(f1);

close(f2);

end

end.

Запис даних в файл

Program Ex1;

Uses crt;

Var f1:file of srting;

I:string;

Begin

clrScr;

assign(f1,’test.dat’);

rewrite(f1);

writeln(‘введите данные’);

readln(i);

write (f1,i);

close(f1);

end.

Прочитати файл в рядок

Program Ex2;

Uses crt;

Var f1:file of srting;

S,I:string;

Begin

clrScr;

assign(f1,’test.dat’);

reset(f1);

read(f1,i);

write (f1,i);

s:=I;

end.