Arquivos - data do ultimo acesso

Top  Previous  Next

// Arquivos - Data do Ultimo Acesso

 

function UltimoAcesso(const Arquivo: string): TDateTime;

var

  Win32FindData: TWin32FindData;

  FileTime : TFileTime;

  SystemTime : TSystemTime;

  Handle : THandle;

begin

  // pega informação do arquivo

  Handle := Windows.FindFirstFile(PChar(Arquivo),Win32FindData);

  if Handle <> INVALID_HANDLE_VALUE then

  begin

    // converte o último acesso para hora local

    FileTimeToLocalFileTime(Win32FindData.ftLastAccessTime, FileTime);

    // converte para SystemTime

    FileTimeToSystemTime(FileTime, SystemTime);

    // converte para TDateTime

    with SystemTime do

      Result := EncodeDate(wYear,wMonth,wDay)+EncodeTime(wHour,wMinute,wSecond,wMilliseconds);

    Windows.FindClose(Handle);

  end

  else

    raise EInOutError.Create('Arquivo inválido');

end;