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

Лабораторная работа №7а (додаткове завдання – виконання за бажанням) Тема: «Работа с файлами»

Цель работы: научить студента составлять программы с процедурами чтения и записи в текстовые, типизированные, нетипизированные файлы.

В Паскале существуют 3 вида файлов: типизированные, текстовые, нетипизированные (двоичные). Каждому файлу ставится в соответствие файловая переменная определенного типа: для текстового - типа Text , для нетипизированного - типа File, для типизированного – типа File of <переменная типа запись>. Для этого используется процедура

Assign(f:Text, Name:String) Assign(f:File,Name:String)

Assign(F:File of <переменная типа запись>,Name:String),

Где f – переменная любого файлового типа;

Name - имя файла, связываемого с файловой переменной f.

Эта процедура, а также ниже рассматриваемые – являются стандартными подпрограммами, входящими в модуль SYSTEM.

Пример.

a). b)

……… ………..

Var Var

F : Text; Add : File;

……… N : String;

BEGIN ………...

……... BEGIN

Assign (F,’C:\DOCUMENT\Exper.dat’); ………..

……… Writeln(‘Введите имя файла’);

Readln(N);

……….

Assign(Add,N);

……….

c)

………….

Type

Zap =record

Fio : String[20];

Numer: String[10];

Alfa : Real

end;

………….

Var

BookFile:File of Zap;

…………..

BEGIN

…………..

Assign(BookFile,’D:\Direct\N1.dat’);

…………..

Для открытия существующего файла используется процедура RESET(F).

Для создания и открытия файла – REWRITE(F).

При использовании процедуры RESET для текстовых файлов – открытие файла только для чтения. Для нетипизированных файлов в описание процедуры (в ее вызов) добавляется еще один параметр - RecSize типа Word, который устанавливает длину записи для функции обмена файлом.

Процедура RESET

Reset(f, RecSize:Word) Пример

a) b) c)

………. …………. ……………..

Const Var L: File;

DZ:Word=2; DZ:Word; ……………..

………. F :File; BEGIN

Var ………… …………….

F:File; BEGIN Assign(L,’v.dat’);

………. ………… ………………

BEGIN DZ:=5; Reset(L,10);

………. …………. ………………

Assign(F,’v.dat’); Assign(F,’v.dat);

Reset(F,DZ); Reset(F,DZ);

Процедура REWRITE создает и открывает новый файл. Использование этой процедуры требует внимания: при попытке создать и открыть новый файл с именем уже существующего на диске – действие REWRITE сведется к удалению этого набора и созданию нового пустого файла с тем же именем, а это приводит к потере информации.

При открытии новых нетипизированных файлов для задания длины записи в описании процедуры REWRITE добавляется дополнительный параметр RecSize типа Word ( длина записи):

REWRITE(F,RecSize:Word).

После завершения сеанса работы с файлом, его обязательно следует закрыть, используя процедуру:

CLOSE(F).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]