Consultar o atributo 'Última modificação' de um arquivo

 

function FileLastModified(const TheFile: string): string;

var

  FileH: THandle;

  LocalFT: TFileTime;

  DosFT: DWORD;

  LastAccessedTime: TDateTime;

  FindData: TWin32FindData;

begin

  Result := '';

  FileH := FindFirstFile(PChar(TheFile), FindData);

  if FileH <> INVALID_HANDLE_VALUE then

  begin

   Windows.FindClose(Handle) ;

   if (FindData.dwFileAttributes AND

       FILE_ATTRIBUTE_DIRECTORY) = 0 then

    begin

     FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFT);

     FileTimeToDosDateTime(LocalFT,LongRec(DosFT).Hi, LongRec(DosFT).Lo);

     LastAccessedTime := FileDateToDateTime(DosFT);

     Result := DateTimeToStr(LastAccessedTime);

    end;

  end;

end;

 

Adicione um OpenDialog e um Button. Digite o seguinte código no evento OnClick do botão:

 

if OpenDialog1.Execute then

  Label1.Caption := 'Data de modificação: ' +

    FileLastModified(OpenDialog1.FileName) +

    ' do arquivo '+ OpenDialog1.FileName;