Работа с файлами в Pascal

Содержание

Слайд 2

- именованная область внешней памяти ЭВМ, хранящая совокупность данных. Файл

- именованная область внешней памяти ЭВМ, хранящая совокупность данных.

Файл

Слайд 3

Файл имеет имя (до 8 лат. букв, цифр или символов !,

Файл имеет имя (до 8 лат. букв, цифр или символов

!, @, #, $, %, ^, &, (, ), `, ~, -, _ и после точки – расширение до 3 символов. Перед именем можно указать путь к файлу)
Файл содержит компоненты одного типа
Длина создаваемого файла не оговаривается при его объявлении, а ограничивается только ёмкостью устройств внешней памяти ЭВМ

Особенности файлов

Слайд 4

Файл можно представить как потенциально бесконечный список значений одного типа. В

Файл можно представить как потенциально бесконечный список значений одного типа.

В любой

момент времени программе доступен только один элемент файла, на который ссылается текущий указатель.

Текущий указатель

Слайд 5

Файлы последовательного доступа (к элементам обеспечивается доступ в той же последовательности,

Файлы последовательного доступа (к элементам обеспечивается доступ в той же

последовательности, в которой они записывались)
Файлы прямого доступа (доступ к элементам осуществляется по адресу элемента)

По способу доступа к элементам различают

Слайд 6

Типы файлов (файловых переменных) Обмен данными с файлом осуществляется с помощью

Типы файлов (файловых переменных)

Обмен данными с файлом осуществляется с помощью переменных

файлового типа.

Текстовые
Типизированные
Нетипизированные

Слайд 7

Формат описания файлов var : text ; {текстовый файл} var :

Формат описания файлов

var <имя ф. пер.>: text ; {текстовый файл}
var <имя

ф. пер.>: file of <тип>; {типизированный файл}
var <имя ф. пер.>: file ; {нетипизированный файл}
Слайд 8

Примеры var f1 : text; f2 : file of integer; f3 : file;

Примеры

var
f1 : text;
f2 : file of integer;

f3 : file;
Слайд 9

Процедуры и функции для работы с файлами

Процедуры и функции для работы с файлами

Слайд 10

1. Процедура, связывающая файловую переменную с конкретным файлом. assign(f1,‘c:\tp\10b\file.dat’); Пример assign(f , );

1. Процедура, связывающая файловую переменную с конкретным файлом.

assign(f1,‘c:\tp\10b\file.dat’);

Пример

assign(f ,<имя файла>);

Слайд 11

2. Процедура, открывающая существующий файл для чтения. reset(f);

2. Процедура, открывающая существующий файл для чтения.

reset(f);

Слайд 12

3. Процедура, создающая и открывающая новый файл для записи. (Если файл

3. Процедура, создающая и открывающая новый файл для записи. (Если файл

ранее содержал данные, то они уничтожаются).

rewrite(f);

Слайд 13

4. Процедура, открывающая существующий файл для добавления. (Только для текстовых файлов). append(f);

4. Процедура, открывающая существующий файл для добавления. (Только для текстовых файлов).

append(f);

Слайд 14

5. Процедура, закрывающая файл с сохранением в нем данных. close(f);

5. Процедура, закрывающая файл с сохранением в нем данных.

close(f);

Слайд 15

6. Процедура, переименовывающая неоткрытый файл. rename(f , );

6. Процедура, переименовывающая неоткрытый файл.

rename(f ,<новое имя файла>);

Слайд 16

7. Процедура, удаляющая неоткрытый файл. erase(f);

7. Процедура, удаляющая неоткрытый файл.

erase(f);

Слайд 17

8. Функция, возвращающая True, если получен признак конца файла, иначе – False. eof(f)

8. Функция, возвращающая True, если получен признак конца файла, иначе –

False.

eof(f)

Слайд 18

9. Функция, возвращающая 0, если открытый файл существует, иначе – др.

9. Функция, возвращающая 0, если открытый файл существует, иначе – др.

целое число. (Работает с директивой отключения стандартной проверки {$I-}).

ioresult

Слайд 19

Могут содержать строки, символы и числа любого типа. Текстовые файлы Перед

Могут содержать строки, символы и числа любого типа.

Текстовые файлы

Перед записью в

файл внутреннее представление переменных преобразуется в последовательность символов, т. е. текст.
Слайд 20

Процедуры и функции для работы с текстовыми файлами

Процедуры и функции для работы с текстовыми файлами

Слайд 21

1. Процедуры ввода значений переменных из файла. read(f, ); readln(f, );

1. Процедуры ввода значений переменных из файла.

read(f,<список переменных>);
readln(f,<список переменных>);


Слайд 22

2. Процедуры вывода значений выражений в файл. write(f, ); writeln(f, );

2. Процедуры вывода значений выражений в файл.

write(f,<список выражений>);
writeln(f,<список выражений>);


Слайд 23

3. Функция, возвращающая True, если получен признак конца строки, иначе – False. eoln(f);

3. Функция, возвращающая True, если получен признак конца строки, иначе –

False.

eoln(f);

Слайд 24

Позволяют организовать прямой доступ к компоненту по его порядковому номеру. Типизированные

Позволяют организовать прямой доступ к компоненту по его порядковому номеру.

Типизированные файлы

Перед

первым обращением к процедурам ввода-вывода указатель файла стоит в его начале и указывает на первый компонент с номером нуль.
Слайд 25

Типизированные файлы также используют процедуры read(f, ) и write(f, ). Переменные

Типизированные файлы также используют процедуры read(f,<список пер.>) и write(f,<список выр.>).

Переменные

и выражения в списках ввода-вывода должны иметь тот же тип, что и компоненты файла.
Слайд 26

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

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

Слайд 27

1. Процедура, смещающая указатель на компонент с номером N (выражение типа longint). seek(f, N);

1. Процедура, смещающая указатель на компонент с номером N (выражение типа

longint).

seek(f, N);

Слайд 28

2. Процедура, удаляющая часть файла с текущей позиции до его конца. truncate(f);

2. Процедура, удаляющая часть файла с текущей позиции до его конца.

truncate(f);

Слайд 29

3. Функция, возвращающая количество компонентов файла (типа longint). filesize(f);

3. Функция, возвращающая количество компонентов файла (типа longint).

filesize(f);

Слайд 30

4. Функция, возвращающая номер текущего элемента (типа longint). filepos(f);

4. Функция, возвращающая номер текущего элемента (типа longint).

filepos(f);