двух символов и, если необходимо,
двух символов и, если необходимо, осуществлять редактирование.
После ввода двух символов должна быть нажата клавиша окончания
ввода. Программа выполняет проверку правильности ввода, и если
последний не удовлетворяет требованиям, то он отвергается и
выдается сообщение об ошибке.
При вводе пользователем символа "$" программа заканчивает
работу. В случае же ввода символов от "A" до "Z" программа
осуществляет чтение соответствующей записи и выводит на дисплей ее
содержимое. В оставшиеся 31 байт буфера программа записывает второй
из введенных с клавиатуры символов. Модицифированная таким образом
запись передается на диск в режиме произвольного доступа.
В заключительной части программы осуществляется закрытие файла.
Аналогично тому, как функция открытия файла устанавливала связь
между DOS и пользовательской программой,
??????
файла существенно для гарантии того, что DOS записала на диск все
модифицированные записи. Во время нормального выполнения программы
DOS может оставить несколько последних записей в буфере. Это
ускоряет выполнение, так как DOS не должна обращаться к диску по
поводу каждой записи. Функция закрытия файла осуществляет запись на
диск содержимого буфера.
Приведенный на Фиг. 5.6 пример программы иллюстрирует основные
способы обращения к файлу с помощью DOS. Эта программа ничего
полезного не выполняет, однако приближение ее к реальным задачам
потребовало бы намного большего числа команд, которые мало что
прояснили бы в отношении использования функций DOS. В данной
программе важно обратить внимание на необходимость проверки ошибок
после каждой операции, выполняемой DOS. В то время, как DOS с
помощью прерывания 24H обрабатывает аппаратные ошибки,
пользовательская программа должна разрешать такие ситуации, как
совпадение имен файлов или отсутствие свободного места на дискете.
В данном примере обработка ошибок проста и состоит из вывода
соответствующего сообщения и завершения работ программы. Обработка
ошибок в реальных программах значительно сложнее и более актуальна,
так как в этом случае возможность потери важной информации должна
быть исключена.
И наконец, возможно, что проработав с данной программой, вы
будете не очень удовлетворены ею как пользователь: в ней
отсутствует запрос на ввод данных, сообщения об ошибках лаконичны и
некоторые из выводимых сообщений частично накладываются на
предыдущие, затирая их. Данная программа нуждается в доработке
прежде, чем ею сможет воспользоваться кто-либо, не участвовавший в
ее написании или тщательно в ней не разобравшийся.
Содержание Назад Вперед