サブフォルダのタイムスタンプを得るには?

解決


KEN  2009-05-07 02:52:51  No: 34289

ファイル単体の場合、FileAge関数でタイムスタンプを得ることができますがファイルを格納しているフォルダのタイムスタンプを得ようとすると-1が返ってきます。フォルダのタイムスタンプを得るにはどうしたらいいでしょうか?


KEN  2009-05-07 03:37:45  No: 34290

過去ログで自己解決できました。

function FolderAge(name: string): Tdatetime;
var
  Handle: THandle;
  Data: TWin32FindData;
  ft: TFileTime;
  st: TSystemTime;
begin
  Handle := Windows.FindFirstFile(Pchar(name), Data);
  FileTimeToLocalFileTime(Data.ftLastWriteTime, ft);
  FileTimeToSystemTime(ft, st);
  Result := SystemTimeToDateTime(st);
end;


忘れもの  2009-05-07 06:19:44  No: 34291

FindFirstでいいのでは……
(内部でやってることは同じでしょうけど。タイムスタンプ変換の手間が少し減るかな?)
いずれにしても、FindCloseをお忘れなく。


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

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






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