Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите разобраться с дискетой (FAT-12)  (Прочитано 8050 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Cleric
Гость
« : 14-06-2007 10:33 » 

Привет всем! У меня такя вот проблемка надо написать программу которая выводит количество элементов корневого каталога дискеты отдельно файлы и подкаталоги. Хотелось бы узнать как реализовать такую, писать за меня прогу никого не прошу, но может кто уже сталкивался хотябы алгоритм действий помогите составить. Мне это так представляется необходимо прочитать атрибут у каждого элемента, только вот я не совсем разобрался с файловой системой FAT-12, в литературе вычитал что значение лежит по смещению 11, но не понял откуда от начала сектора или это определенный адрес, и еще я так понял читать надо блоками по 32 байта. Заранее благодарен!
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 14-06-2007 11:47 » 

Ну во первых, узнать количество файлов и каталогов, не обязательно на столь низком уровне. Можно использовать поиск файлов. В 21h прерывании есть функции для этого.
Во вторых, с любого дискового массива чтение и запись производится по секторно. Насколько я помню, один сектор это 512 байт в стандартной разметке. Хотя можно делать на сколько я помню 256, 1024, 2048 байт на сектор.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Cleric
Гость
« Ответ #2 : 14-06-2007 18:43 » 

ок поищу такую функцию только вот как отличить файл от подкаталога
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 14-06-2007 20:14 » 

Там есть две функции, по типу FindfFirst и FindNext. Вместе с названием файла, возрашаются также и атрибуты. Если в пришедшей инфе в атрибуте стоит, что каталог, значит каталог. Иначе файл. Поиши книгу П.Абеля "Программирование на Ассемблере на IBM PC" Там расматриваются вопросы работы с файлами на ассемблере. Вроде в библиотеке Машкова я видел эту книгу, но довольно в коцанном виде.
« Последнее редактирование: 14-06-2007 20:19 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Polyak
Гость
« Ответ #4 : 22-06-2007 16:38 » 

ок поищу такую функцию только вот как отличить файл от подкаталога

Проверить байт атрибутов (в нем хранятся Archive, Read only, Hidden и т. д.) Один из битов означает Directory. Подробности можно узнать в очень многих источниках, например, TechHelp. Масса материала на эту тему была и на русском. Так что, думаю, не пропадешь.  Пиво!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines