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

Вниз

Как определить время создания файла и директории?   Найти похожие ветки 

 
Buster ©   (2004-06-28 13:11) [0]

Необходимо написать функцию, которая будет определять время создания директории или файла.

function DirFileDateTime(name_file_dir : String; mode : Integer) : TDateTime;
var
 file_attr : WIN32_FILE_ATTRIBUTE_DATA;
 dtDOS : LongRec;

begin
   GetFileAttributesEx(PChar name_file_dir),GetFileExInfoStandard,@file_attr);
   case mode of
     cCreateDateTime : FileTimeToDosDateTime(file_attr.ftCreationTime,dtDOS.Hi ,dtDOS.Lo);
     cLastWriteDateTime : FileTimeToDosDateTime(file_attr.ftLastWriteTime,dtDOS.Hi,dtDOS.Lo);
     cLastAccessDateTime : FileTimeToDosDateTime(file_attr.ftLastAccessTime,dtDOS.Hi,dtDOS.Lo);
   end;

   Result:=FileDateToDateTime(Integer(dtDOS));
end;


Вот что написал я, но возвращаемое время не соответствует действительности, а иногда возникает ошибка типа EConvertError.
Помогите пожалуйста.


 
CHES ©   (2004-06-28 14:14) [1]

Переделай ее так


function DirFileDateTime(name_file_dir : String; mode : Integer) : TDateTime;
var
file_attr : WIN32_FIND_DATA;
dtDOS : LongRec;
begin
  if FindFirstFile(PChar(name_file_dir),file_attr)<> INVALID_HANDLE_VALUE then
   begin
     case mode of
       cCreateDateTime : FileTimeToDosDateTime(file_attr.ftCreationTime,dtDOS.Hi ,dtDOS.Lo);
       cLastWriteDateTime : FileTimeToDosDateTime(file_attr.ftLastWriteTime,dtDOS.Hi,dtDOS.Lo);
       cLastAccessDateTime : FileTimeToDosDateTime(file_attr.ftLastAccessTime,dtDOS.Hi,dtDOS.Lo);
     end;
     Result:=FileDateToDateTime(Integer(dtDOS));
   end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.091 c
1-1090272049
кактусбел
2004-07-20 01:20
2004.08.08
как найти все фаилы определенного типа в каталоге


3-1089627838
ksa2002
2004-07-12 14:23
2004.08.08
Генератор в InterBase


14-1089639086
Piter
2004-07-12 17:31
2004.08.08
Создание форм в MDI приложении


1-1090354133
Реактор
2004-07-21 00:08
2004.08.08
Как свернуть окно программы, если оно родило модальное окно.


4-1088592610
nik7777
2004-06-30 14:50
2004.08.08
Как перехватить изменения в реестре