Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
323
Добавлен:
04.03.2014
Размер:
564 Кб
Скачать

Язык Object Pascal. Классификация типов данных. Тип данных файл. Классификация файлов по типу и методу доступа. Пример задачи.

Файл – именованная совокупность данных ( обычно 1 тип ), расположенных на внешнем устройстве, компоненты файла могут быть любого типа кроме файл.

Структура файла.

File of byte

Байт

Байт

Байт

…….

Байт

Eof(end of file)

0

1

2

File of string[20]

Строка

Строка

Строка

.

строка

Eof

0

1

2

File of T, где T = record;

A:byte;

B:char;

C:integer;

End;

Byte

Char

Integer

Byte

Char

integer

Eof(end of file)

Структура файла похожа на строки массива, но имеет следующие отличия.

У файла не определено максимальное количество элементов, т.е. его длина.

Количество элементов файла в каждый момент времени неизвестно, зато известно, что в конце файла символ EOF, в качестве которого используется символ с кодом 26. Максимальная длина файла определяется емкостью устройств внешней памяти.

Определить длину файла и выполнить другие операции можно с помощью процедур, предназначенных для работы с файлами.

Классификация файлов:

  • По типу (по логической структуре):

    1. Типизированные

    2. Текстовые

    3. Нетипизированные

  • По методу доступа:

    1. Последовательного (Типизированные, Текстовые, Нетипизированные)

    2. Прямого (Типизированные, Нетипизированные)

Файловый тип или переменная файлового типа задаются следующим образом

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

Type <Имя1> = file of <тип>;

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

Type <Имя2> = text;

Var f1,f2:<имя1,имя2>

  1. Нетипизированные файлы:

Type <имя3> = file;

Имя – это имя файлового типа, а тип это любой тип, кроме: файл и объект.

Процедуры общие для всех трех видов файлов:

  1. Assignfile (f,<полное имя файла>) – связывает файловую переменную с именем файла на внешнем носителе

  2. Reset(f) – открывает существующий файл, связанный с файловой переменной f. Если F текстовый файл то он будет доступен только для чтения, при последовательном доступе к элементам. Если f типизированный файл, то он будет открыт и для чтения и для записи, как при последовательном, так и при прямом доступе. В текстовый файл записываются строки, символы и числа (действительные, вещественные). В любом случае при открытии файла указатель текущей позиции файла устанавливается на его начало, то есть нулевую компоненту.

  3. Rewrite(f) – открывает новый физический файл, связанный с файловой переменной F, если такой файл уже существует, то он удаляется, и на его месте создается пустой файл (файл очищается). При открытии указатель текущей позиции устанавливается на начало.

  4. Eof(f) – функция возвращает значение true, если указатель текущей позиции находится за последним элементом файла или файл пустой.

  5. Rename (f, name1) – процедура переименовывает файл с файловой переменной f в name1, перед использованием этой процедуры файл должен быть закрыт, если был открыт процедурами Reset, rewrite, append

  6. Erase (f) – это процедура уничтожает файл, перед использованием этой процедуры файл должен быть закрыт, если был открыт процедурами Reset, rewrite, append

Closefile(f) – процедура закрывает файл, но связь файловой переменной с именем файла сохраняется, обеспечивает сохранение в файле всех новых записей и регистрацию файла в каталоге. Повторно файл открывается без использования процедуры Assignfile.

Соседние файлы в папке шпора