Системное программное обеспечение персональных ЭВМ


Пример 13 - часть 3


Программа, выполняющая те же функции, может быть реализована и с использованием метода FCB. Файл 10_7_F.C содержит функции одноименные с функциями файла 10_7_H.C и при компоновке можно включать его объектный модуль в программу вместо модуля 10_7_H.

Некоторые особенности функций этого файла. При создании файла (creat_lib) проверка существования файла производится попыткой его открыть - если попытка успешна, то файл уже существует. Обмен с файлом ведется двумя способами: при чтении /записи элементов оглавления устанавливается размер записи, равный размеру элемента и обмен ведется записями; при чтении /записи разделов устанавливается размер записи 1, а обмен ведется блоками. Обратите внимание на использование полей currec, curblk, randrec в FCB. Главным является последнее поле, только его содержимое определяет номер записи, которая будет обрабатываться. Программист должен сформировать поля currec и curblk, а функция 0x24 по ним вычислит и заполнит randrec (так сделано во всех функциях позиционирования), но если программист сам вычислит значение для randrec, он может не вызывать 0x24 (так мы делаем в функции fb_ rdwr). Для получения информации о файле в методе FCB имеется только одна специальная функция - 0x23 (размер файла). Но дату и время можно получить из открытого FCB, а атрибут, хотя мы это и не реализовали - как один из результатов поиска по функции 0x11.




- Начало -  - Назад -  - Вперед -