Консультация № 44352
27.05.2006, 02:47
0.00 руб.
0 3 1
Здравствуйте Уважаемые Эксперты! Хочу задать несколько вопросов. У меня курсовая работа на тему "Определение свойств файла". То есть мне надо получить по имени файла элементы оглавления, соответствующие ему и представить их в читабельном виде... Ну про то как представить их, и про порядок в котором считывать это мне давно уже понятно (уже успел перечитать Абеля вдоль и поперёк), но вот тема того, откуда считать и КАК, что-то пока не пойму. Я думаю надо использовать FCB для этой цели, вот пытаюсь понять как это реализовать, пожалуйста подскажите на верном ли я пути в достижениях этой цели? Какие использовать прирывания? Если Вас не очень затруднит, был бы благодарен за ссылки по теме и если есть, хотябы маленькую часть кода, в которой есть реализация обращения к оглавлению в нужное место. Я правильно понимаю, что оглавление это и есть файловая система? Если я ошибаюсь, поясните пожалуйста различия. Был бы очень благодарен за любую помощь по данной теме, т.к. курсовую доделать необходимо до конца выходных, а я всё пытался сам сделать, но видимо не расчитал силы. Ассемблер очень мне интересен, но вот самое сложное оставил на конец... Заранее благодарю за Ваши ответы, СПАСИБО!

PS В приложение положил выдержку из учебников, насчёт элементов оглавления, это всё, что мне понадобится?

Приложение:
Смещение Длина Назначение0 8 Имя файла с пробелами справа8 3 Расширение имени файла/каталога/метки тома11 1 Атрибуты файла/каталога/метки тома12 10 Резерв DOS22 2 Время создания файла/каталога/метки тома24 2 Дата создания файла/каталога/метки тома26 2 Номер первого кластера файла/каталога28 4 Размер файла

Обсуждение

Неизвестный
27.05.2006, 15:28
общий
это ответ
Здравствуйте, VASMik!

Элемент Оглваления определенного файла вы можете получить через FCB.

Вот характеристика:

Прерывание - int 21h
Вход:
ah = 11h
ds:dx = адрес не отрытого FCB
Выход:
al = 0, если подходящее имя найдено
al = 0ffh, если подходящего имени нет
Описание:
В текущем оглав. ДОС ищется имя файла, при неудачи возвращается al = 0ffh
Если ися найдено, al = 0, в первый байт DTA помещается номер дисковода, а вследующие 32 байта помащается ЭЛЕМЕНТ ОГЛАВЛЕНИЯ для найденного файла.
;***************************************************************
Если Курсовая такова "Определение свойств файла", то можно воспользоваться вот этим:

Прерывание - int 21h
Вход:
ah = 4eh (4fh)
ds:dx = адрес ASCIIZ строки с именем файла
cx = атрибуты файла для сравнения
Выход:
ax = код ошибки
DTA заполнена данными, если не было ошибки

Описание:
DOS находит имя первого файла в оглавлении, которое совпадает с заданом именем и атрибутом и помещает найденное имя и другую информацию в DTA.
Вот какие данные помещаются в DTA:

1. Атрибут файла
2. время
3. дата
4. размер в байтах
5. имя файла в формате ASCIIZ

С, Уважением MnEm0n!C.
Неизвестный
27.05.2006, 15:58
общий
Большое спасибо за ответ! Сейчас буду реализовывать... Если будут какие-нибудь добавления или советы, я с удовольствием бы прочитал. Когда сделаю, отпишусь.Очень благодарен!
Неизвестный
29.05.2006, 06:29
общий
Всё получилось! Спасибо!
Форма ответа