Главная страница
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.015 c
4-32096
arcoant
2002-08-27 21:41
2002.10.10
Регионы


1-31709
Ne0N
2002-09-30 19:09
2002.10.10
Как создать файл собственного типа?


4-32056
Delphi 5.01
2002-08-21 13:31
2002.10.10
Ukazat sisteme chto bil izmenenon shrift


1-31694
Hooch
2002-09-30 17:03
2002.10.10
Подмена protected метода


1-31865
Денис Самохов
2002-09-29 11:34
2002.10.10
Обои рабочего стола. Обпределить момент изменения.