フォルダの更新日時を取得するには?

解決


nish  2005-07-26 23:30:34  No: 16607

フォルダの更新日時を取得する方法はありますでしょうか?


deldel  2005-07-27 02:00:22  No: 16608

下記で取得できると思います。

function GetFileInfo(saFileName: AnsiString): AnsiString;
  function fGetFileDateTime(ft: TFileTime): TDateTime;
  var
    SystemTime : TSYSTEMTIME;
    LocalFileTime : TFileTime;
  begin
    FileTimeToLocalFileTime(ft, LocalFileTime);
    FileTimeToSystemTime(LocalFileTime, SystemTime);
    Result := EncodeDate(SystemTime.wYear, SystemTime.wMonth, SystemTime.wDay) +
              EncodeTime(SystemTime.wHour, SystemTime.wMinute,
                         SystemTime.wSecond, SystemTime.wMilliseconds);
  end;
var
  SearchRec: TSearchRec;
  i: integer;
begin
  i := FindFirst(saFileName, faAnyFile, SearchRec);
  try
    Result := FormatDateTime('yy/mm/dd hh:nn:ss', fGetFileDateTime(SearchRec.FindData.ftLastWriteTime));
  finally
    FindClose(SearchRec);
  end;
end;

ShowMessage(GetFileInfo('C:\Temp'));


Fusa  2005-07-27 03:22:23  No: 16609

これを使えばフォルダの作成日時/更新日時/アクセス日時
すべて求まるのですね!

いろんな所のログを探しましたが
フォルダの上記3つの日時情報を求める方法がわからず
調べ途中でずっと放置していたのですがようやくわかりました!

元質問者じゃないですが
deldelさんありがとう。

蛇足なんですが
fGetFileDateTimeの中身の処理は

SysUtilsに
SystemTimeToDateTime
っていう関数がありました。
もしかして環境依存警告防止?


nish  2005-07-28 02:06:32  No: 16610

できました!!
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加