Карта сайтаСсылкиКонтакты

Время последнего обращения к файлу

PDF Печать
Статьи

Простая функция для определения последнего обращения к файлу:


function GetFileLastAccessTime(sFileName: string): TDateTime;
var
  ffd : TWin32FindData;
  dft : DWord;
  lft : TFileTime;
  h   : THandle;
begin
  // получаем информацию о файле
  h := Windows.FindFirstFile(PChar(sFileName), ffd);
  if INVALID_HANDLE_VALUE <> h then
  begin
    // мы ищем только один файл, так что закройте "найти"
    Windows.FindClose(h);

    // конвертируем FILETIME в местное FILETIME
    FileTimeToLocalFileTime(ffd.ftLastAccessTime, lft);

    // конвертируем FILETIME во время DOS
    FileTimeToDosDateTime(lft, LongRec(dft).Hi, LongRec(dft).Lo);

    // наконец, преобразовываем время DOS в TDateTime чтобы использовать
    // в родных функциях дата/время Delphi
    Result := FileDateToDateTime(dft);
  end;
end;

GetFileLastAccessTime() возвращает время последнего доступа к файлу, типа TDateTime, который Вы можете преобразовать в строку, используя функцию DateTimeToStr(). Например:


MessageDlg(
    'В последний раз к c:\config.sys обращались '
    + DateTimeToStr(GetFileLastAccessTime('c:\config.sys')),
    mtInformation, [mbOk], 0);

 

Добавить комментарий


Защитный код
Обновить