Язык Object Pascal. Классификация типов данных. Тип данных файл. Классификация файлов по типу и методу доступа. Пример задачи.
Файл – именованная совокупность данных ( обычно 1 тип ), расположенных на внешнем устройстве, компоненты файла могут быть любого типа кроме файл.
Структура файла.
File of byte
Байт | Байт | Байт | ……. | Байт | Eof(end of file) |
File of string[20]
Строка | Строка | Строка | . | строка | Eof |
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 <тип>;
2.Текстовые файлы.
Type <Имя2> = text;
Var f1,f2:<имя1,имя2>
3.Нетипизированные файлы:
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.
Дата добавления: 2021-10-28; просмотров: 100;