Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 89 стр.

UptoLike

89
программиста. Длина компонент может быть различной. Для открытия нетипизированных
файлов используются процедуры Reset, ReWrite:
Reset(< файловая переменная >, < max размер буфера >);
ReWrite(< файловая переменная >, < max размер буфера >).
Так как за одно обращение к нетипизированному файлу можно считывать не одну
компоненту, а несколько, и так как длины компонент могут быть различны, то в процедурах
Reset и ReWrite указывается максимальный размер буфера ввода-вывода в байтах.
Чтение компонент из файла и запись их в файл выполняется процедурами BlockRead и
BlockWrite:
BlockRead(< файловая переменная >, < буфер >,< кол-во компонент, считываемых за один
раз >, [,< кол-во считанных компонент >]);
BlockWrite(< файловая переменная >,< буфер >,< кол-во записываемых компонент >, [,<
кол-во записанных компонент >]).
Четвертый параметр необязателен. Он формируется системой и используется для проверки
правильности завершения операций чтения или записи.
Нетипизированные файлы рекомендуется использовать для организации эффективной
работы с файлами, так как они позволяют работать, во-первых, с компонентами различной
длины, и, во-вторых, с переменным числом обрабатываемых компонент.
2.7. Процедуры и функции для работы с файлами
Все рассматриваемые функции и процедуры принадлежат стандартному модулю DOS,
поэтому его необходимо подключить к программе с помощью предложения USES.
1. ReName(< файловая переменная >,< новое имя файла >) - переименование файла.
2. Erase(< файловая переменная >) - удаление файла.
3. ChDir(< путь >) - изменение директория, где <путь> - путь к новому директорию.
4. GetDir(< устройство >, < директорий >) - определение текущего каталога, где
<устройство> задается следующим образом:
0 - текущее устройство;
1 - устройство A;
2 - устройство B и т.д.
5. MkDir(< директорий >) - создание нового каталога. В аргументе <директорий>
указывается полный путь до того каталога, который создается.
6. PmDir(< директорий >) - удаление каталога. В качестве аргумента указывается полный
путь до удаляемого каталога. При этом удаляемый каталог должен быть обязательно
пустым.
7. IOResult - проверка правильности завершения работы той или иной операции ввода-
вывода. Эта функция имеет тип WORD и возвращает значение 0, если операция ввода-
вывода выполнилась успешно, и в противном случае следующие значения:
1 - файл не найден,
2 - путь не найден,
3 - слишком много открытых файлов,
5 - запрет доступа к файлу,
12 - некорректный код доступа к файлу
и так далее.
При применении этой функции в программе необходимо с помощью директивы
компилятора отключить стандартную проверку - {$I-}, а после выполнения операций
ввода-вывода включить - {$I+}.
Данная функция записана в стандартном модуле SYSTEM.
8. DiskFree(< устройство >) - определение числа свободных байтов на заданном диске. Эта
функция типа LONGINT.
программиста. Длина компонент может быть различной. Для открытия нетипизированных
файлов используются процедуры Reset, ReWrite:
Reset(< файловая переменная >, < max размер буфера >);
   ReWrite(< файловая переменная >, < max размер буфера >).
Так как за одно обращение к нетипизированному файлу можно считывать не одну
компоненту, а несколько, и так как длины компонент могут быть различны, то в процедурах
Reset и ReWrite указывается максимальный размер буфера ввода-вывода в байтах.
Чтение компонент из файла и запись их в файл выполняется процедурами BlockRead и
BlockWrite:
BlockRead(< файловая переменная >, < буфер >,< кол-во компонент, считываемых за один
раз >, [,< кол-во считанных компонент >]);
BlockWrite(< файловая переменная >,< буфер >,< кол-во записываемых компонент >, [,<
кол-во записанных компонент >]).
Четвертый параметр необязателен. Он формируется системой и используется для проверки
правильности завершения операций чтения или записи.
Нетипизированные файлы рекомендуется использовать для организации эффективной
работы с файлами, так как они позволяют работать, во-первых, с компонентами различной
длины, и, во-вторых, с переменным числом обрабатываемых компонент.

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

Все рассматриваемые функции и процедуры принадлежат стандартному модулю DOS,
поэтому его необходимо подключить к программе с помощью предложения USES.
1. ReName(< файловая переменная >,< новое имя файла >) - переименование файла.
2. Erase(< файловая переменная >) - удаление файла.
3. ChDir(< путь >) - изменение директория, где <путь> - путь к новому директорию.
4. GetDir(< устройство >, < директорий >) - определение текущего каталога, где
<устройство> задается следующим образом:
   0 - текущее устройство;
   1 - устройство A;
   2 - устройство B и т.д.
5. MkDir(< директорий >) - создание нового каталога. В аргументе <директорий>
указывается полный путь до того каталога, который создается.
6. PmDir(< директорий >) - удаление каталога. В качестве аргумента указывается полный
путь до удаляемого каталога. При этом удаляемый каталог должен быть обязательно
пустым.
7. IOResult - проверка правильности завершения работы той или иной операции ввода-
вывода. Эта функция имеет тип WORD и возвращает значение 0, если операция ввода-
вывода выполнилась успешно, и в противном случае следующие значения:
          1 - файл не найден,
          2 - путь не найден,
          3 - слишком много открытых файлов,
          5 - запрет доступа к файлу,
          12 - некорректный код доступа к файлу
          и так далее.
При применении этой функции в программе необходимо с                 помощью директивы
компилятора отключить стандартную проверку - {$I-}, а после выполнения операций
ввода-вывода включить - {$I+}.
Данная функция записана в стандартном модуле SYSTEM.
8. DiskFree(< устройство >) - определение числа свободных байтов на заданном диске. Эта
функция типа LONGINT.


                                                                                    89