Предыдущий раздел | ОПЕРАЦИИ С ФАЙЛАМИ | Следующая глава |
Естественно, что переделка редактора с целью обработки файлов не сводится лишь к модернизации одного диспетчера команд. Для этого необходимо также внести изменения в алгоритмы процедур, выполняющие конкретные команды пользователя. С целью ограничить общий объем работы предполагается внести существенные изменения лишь в две процедуры:
1) N_sector, выполняющую запись в переменную Sector, а также вывод на экран сектора с заданным номером;
2) Write_sector, выполняющую запись содержимого переменной Sector в память.
Выполнение процедур N_sector и Write_sector начинается с проверки значения переменной Prf. Если это значение равно 0, то выполняются прежние алгоритмы этих процедур, предназначенные для работы с сегментами ОП. Если же содержимое Prf больше нуля, то процедура N_sector выполняет ввод в переменную Sector и вывод на экран заданного сектора файла. А процедура Write_sector выводит содержимое переменной Sector на диск в качестве содержимого сектора файла. Алгоритм модифицированной процедуры N_sector представлен на рис.55, а алгоритм модифицированной процедуры Write_sector – на рис.56. Алгоритм этапа «Чтение сектора файла» процедуры N_sector приведен на рис.57.
Что касается алгоритмов процедур Init_sector, Next_sector, Prev_sector, то эти процедуры в данной лабораторной работе не предназначены для работы с файлами. Поэтому в начале каждой из этих процедур следует выполнить проверку равенства нулю содержимого переменной Prf. Если это равенство не выполняется, то процедура завершается, предварительно выведя соответствующее сообщение на экран. Если же переменная Prf содержит нуль, то выполняется прежний алгоритм процедуры.
Рис. 55. Алгоритм модифицированной процедуры N_sector
Рис. 56. Алгоритм модифицированной процедуры Write_sector
Рис. 57. Алгоритм этапа “Чтение сектора файла”
Где: УФ – указатель файла
Предыдущий раздел | В начало | Следующая глава |