Главная страница
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.017 c
14-31956
Asteroid
2002-09-14 21:32
2002.10.10
Возможно ли это?!


1-31757
Дмитрий К.К.
2002-09-30 23:43
2002.10.10
Creation Order


1-31885
LAndrew
2002-09-28 23:22
2002.10.10
Как размножить рисунок на TabSheet?


1-31837
sedalgin
2002-09-27 11:30
2002.10.10
Модальная форма была в dll ... (стихи, однако)


1-31853
AlexNO
2002-09-28 21:43
2002.10.10
Работа со сканером