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


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


  • Список LBR-файлов - вывод на экран имен всех файлов текущего каталога, имеющих расширение LBR.

  • Информация о выбранном файле - вывод атрибутов, даты, времени и размера файла.

  • Переименование библиотеки - присвоение файлу нового имени с сохранением расширения LBR.

  • Уничтожение библиотеки - удаление файла.

    Программа реализует следующие операции с библиотекой как с набором разделов:

    • Добавление раздела - включает в себя поиск свободного места в оглавлении, ввод имени раздела, проверку - нет ли уже раздела с таким именем, построчный ввод текста раздела с клавиатуры и добавление его в конец файла-библиотеки, формирование элемента оглавления для введенного раздела и запись его в оглавление на свободное место.

    • Замена раздела - ввод имени раздела, проверка - есть ли в библиотеке раздел с таким именем, построчный ввод текста раздела с клавиатуры и добавление его в конец файла-библиотеки, формирование элемента оглавления для введенного раздела и запись его в оглавление на то место, которое ранее занимал элемент этого раздела.

    • Поиск раздела - ввод имени раздела, поиск в оглавлении элемента с таким именем, вывод на экран найденного элемента, по полю memb_addr - выход на начало текста раздела, чтение с диска memb_size строк раздела и вывод их на экран.
    • Удаление раздела - ввод имени раздела, поиск в оглавлении элемента с таким именем, запись в первый байт поля memb_name найденного элемента кода 0.
    • Переименование раздела - ввод имени раздела, проверка - поиск в оглавлении элемента с таким именем, исправление поля memb_name найденного элемента и запись его в оглавление на прежнее место.
    • Оглавление библиотеки - последовательное чтение элементов оглавления и вывод содержимого непустых элементов на экран.

    Конечно, здесь реализованы далеко не все операции, возможные над библиотекой (а те, которые реализованы - неоптимальны), в частности при нашем подходе к операциям удаления и замены разделов в библиотеке будут накапливаться неиспользуемые участки, так как дисковое пространство, занимаемое удаляемым разделом не освобождается.


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