![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дата создания файла [D5, WinXP]
Вечно молодой © (2002-08-01 09:43:00)Здравствуйте!
Определяю дату создания файла:
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...
Вечно молодой (2002-08-01 11:56:00) [1]Огромное спасибо.
Opuhshii (2002-08-01 11:04:00) [2]Дико извиняюсь,... конечно дата создания файла сохраняется не в 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; // размер файла }
вот так вота,...
Opuhshii (2002-08-01 10:09:00) [3]в догонку,..
"как это исправить? Please..." не использовать этих программ,... %)
Opuhshii (2002-08-01 10:07:00) [4]В "MS-DOS" было только время последнего изменения,... FAT16... не 32,..