Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как получить размер файла с гибкого диска?

16K
21 марта 2006 года
бедняжка
2 / / 21.03.2006
Помогите кто-нибудь!Пожалуйста начинающему программисту. :) Как получить размер файла с гибкого диска???
Заранее спасибо.
2.2K
22 марта 2006 года
Brezhnev1980
156 / / 13.08.2005
Смотри спецификацию FAT12(File Aloccation Table)там всё есть...
(Смотря как(чем,где)ты хочешь это получить?)
16K
22 марта 2006 года
бедняжка
2 / / 21.03.2006
Цитата:
Originally posted by бедняжка
Помогите кто-нибудь!Пожалуйста начинающему программисту. :) Как получить размер файла с гибкого диска???
Заранее спасибо.



Я,наверно, не очень точно изложила ситуацию.
У меня задание: Написать программу, которая бы выдавала список файлов корневого каталога на дискете (это не трудно) и при нажатии клавиши U сортировала бы этот список по размеру.
Как здесь получить эти размеры?

5.3K
31 марта 2006 года
r000n_m
177 / / 26.02.2006
Цитата:
Originally posted by бедняжка
Я,наверно, не очень точно изложила ситуацию.
У меня задание: Написать программу, которая бы выдавала список файлов корневого каталога на дискете (это не трудно) и при нажатии клавиши U сортировала бы этот список по размеру.
Как здесь получить эти размеры?


Структура элемента каталога FAT:
dir_element = record
file_name : array [1..8] of char;
file_ext : array [1..3] of char;
attribute : byte;
file_reserve : array [1..10] of byte;
last_acess_time : word;
last_acess_date : word;
file_start_clust : word;
file_size : longint;
end;


Начало корневого каталога можно вычислить из данных бут-сектора.

Общая часть заголовка файловой системы FAT

Эта часть общая для всех файловых систем семейства FAT (FAT12, FAT16 и FAT32):
Смещение Название Размер Описание
0 BS_jmpBoot 3 Команда перехода на загрузчик ОС
3 BS_OEMName 8 Название и версия Windows
11 BPB_BytsPerSec 2 Количество байтов в секторе (всегда 512)
13 BPB_SecPerClus 1 Секторов на кластер всегда кратно степени двух
14 BPB_RsvdSecCnt 2 Количество зарезервированных секторов перед первой FAT
16 BPB_NumFATs 1 Количество таблиц FAT (всегда 2)
17 BPB_RootEntCnt 2 Количество элементов в корневом каталоге (максимальный предел)
19 BPB_TotSec16 2 Общее число секторов (0 - если размер диска больше 32 Мб)
21 BPB_Media 1 Тип устройства: F0 - гибкий диск, F8 - жесткий диск с любой емкостью
22 BPB_FATsz16 2 Количество секторов на элемент таблицы FAT
24 BPB_SecPerTrk 2 Количество секторов на дорожку
26 BPB_NumHeads 2 Число головок
28 BPB_HiddSec 4 Количество скрытых секторов
32 BPB_TotSec32 4 Общее число секторов (0 - если размер диска меньше 32 Мб)

Расширенный заголовок:
FAT12 и FAT16 имеют одинаковый формат заголовка.
Смещение Название Размер Описание
36 BS_DrvNum 1 Номер диска
37 BS_NtRsvd 1 Зарезервировано для Windows NT
38 BS_BootSig 1 Расширенная сигнатура (если 29h, то следующие поля актуальны)
39 BS_VolID 4 Серийный номер тома
43 BS_VolLab 11 Метка тома
54 BS_FilSysSize 8 Тип файловой системы (12- или 16-разрядная)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог