Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: CL | DM;

Вниз

Дата создания файла   Найти похожие ветки 

 
Вечно молодой ©   (2002-08-01 09:43) [0]

Здравствуйте!
Определяю дату создания файла:

var
F : TSearchRec;
FileTime : TFileTime;
SystemTime : TSystemTime;
Date_Create : TStringList;
begin
... (поиск нужного файла)
FileTimeToLocalFileTime(F.FindData.ftCreationTime, FileTime);
FileTimeToSystemTime(FileTime, SystemTime);
Date_Create.Append (DateTimeToStr (SystemTimeToDateTime(SystemTime)));
...
end.


Если произвести эти операции с файлом, который в последний раз был
сохранён в MS-DOS, то получается, что дата его создания: 01.01.1980. Почему,
и как это исправить? Please...


 
Opuhshii ©   (2002-08-01 10:07) [1]

В "MS-DOS" было только время последнего изменения,... FAT16... не 32,..


 
Opuhshii ©   (2002-08-01 10:09) [2]

в догонку,..
"как это исправить? Please..." не использовать этих программ,... %)


 
Opuhshii ©   (2002-08-01 11:04) [3]

Дико извиняюсь,... конечно дата создания файла сохраняется не в FAT, а в дескрипторах файлов,... так вот в FAT16 использовались дескрипторы в которых было лишь дата последнего изменения,..

struct _DIR {
BYTE dir_Name[8]; // имя
BYTE dir_Extension[3]; // расширение имени
BYTE dir_Attributes; // атрибуты
BYTE dir_Reserved[10]; // зарезервировано
UINT16 dir_CreateTime; // время создания
UINT16 dir_CreateDate; // дата создания
UINT16 dir_FirstCluster; // Номер первого кластера файла
UINT32 dir_FileSize; // размер файла }

а в FAT32

struct _DIR {
BYTE dir_Name[8]; // имя
BYTE dir_Extension[3]; // расширение имени
BYTE dir_Attributes; // атрибуты
BYTE dir_NTReserved; // зарезервировано для Windows NT BYTE dir_CreateTimeTenth; // десятые доли времени создания UINT16 dir_CreateTime; // время создания
UINT16 dir_CreateDate; // дата создания
UINT16 dir_LastAccessDate; // дата последнего доступа
UINT16 dir_FirstClusterHi; // старшее слово номера кластера
UINT16 dir_WriteTime; // время обновления
UINT16 dir_WriteDate; // дата обновления
UINT16 dir_FirstClusterLo; // младшее слово номера кластера
UINT32 dir_FileSize; // размер файла }

вот так вота,...


 
Вечно молодой ©   (2002-08-01 11:56) [4]

Огромное спасибо.



Страницы: 1 вся ветка

Текущий архив: 2002.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-31708
Minco Vity
2002-09-29 15:07
2002.10.10
Параметры запуска программы


1-31811
WFox
2002-10-02 12:44
2002.10.10
Моноширный Шрифт


3-31599
Mike 13
2002-09-18 18:06
2002.10.10
---|Ветка была без названия|---


7-32039
Чайник2
2002-08-01 08:26
2002.10.10
CD-ROM


14-31947
buhat
2002-09-14 17:18
2002.10.10
Где достать?