Delphi-Help

Главная Статьи Файлы Как определить время последнего доступа к файлу?

Как определить время последнего доступа к файлу?

Оцените материал
(0 голосов)


Как определить время последнего доступа к файлу?

Способ первый

procedure TForm1.Button1Click(Sender: TObject);
var 
  SearchRec: TSearchRec;
  Success: integer;
  DT: TFileTime;
  ST: TSystemTime;
begin
   Success := SysUtils.FindFirst( 'C:\autoexec.bat', faAnyFile, SearchRec );
   if ( Success = 0 ) and
      ( ( SearchRec.FindData.ftLastAccessTime.dwLowDateTime <> 0 ) or
      ( SearchRec.FindData.ftLastAccessTime.dwHighDateTime <> 0 ) )
   then
   begin
      FileTimeToLocalFileTime( SearchRec.FindData.ftLastAccessTime, DT );
      FileTimeToSystemTime( DT, ST );
      Memo1.Lines.Clear;
      Memo1.Lines.Add( 'AutoExec.Bat последний раз был изменен:' );
      Memo1.Lines.Add( 'Year - ' + IntToStr( st.wYear ) );
      Memo1.Lines.Add( 'Month - ' + IntToStr( st.wMonth ) );
      Memo1.Lines.Add( 'DayOfWeek - ' + IntToStr( st.wDayOfWeek ) );
      Memo1.Lines.Add( 'Day - ' + IntToStr( st.wDay ) );
      Memo1.Lines.Add( 'Hour - ' + IntToStr( st.wHour ) );
      Memo1.Lines.Add( 'Minute - ' + IntToStr( st.wMinute ) );
      Memo1.Lines.Add( 'Second - ' + IntToStr( st.wSecond ) );
      Memo1.Lines.Add( 'Milliseconds - ' + IntToStr( st.wMilliseconds ) );
   end;
   SysUtils.FindClose( SearchRec );
end;

Способ второй

function GetFileDate( FileName: string ): string;
var
  FHandle: Integer;
begin
   FHandle := FileOpen( FileName, 0 );
   try
      Result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
   finally
      FileClose( FHandle );
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage( GetFileDate( 'c:\autoexec.bat' ) );
end;

Способ третий

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage(DateTimeToStr(FileDateToDateTime(FileAge('c:\autoexec.bat'))));
end;
Прочитано 5310 раз

Авторизация



Счетчики