ファイルの更新日を取得し表示するには?

解決


初心者です  2004-03-15 06:40:48  No: 7682  IP: [192.*.*.*]

あるファイルの更新日を下記のような感じで取得し、
テキストボックスに表示したいのですが,
ファイルの更新日より1、2秒多く表示されることがあり、
困っています。正しく表示させるためにはどうしたらいいのか
教えてください。お願いします。

filetime:= FileDateToDateTime(FileAge(filename));
edit1.text:=DateTimeToStr(filetime);

編集    削除
にしの  2004-03-15 09:21:16  No: 7683  IP: [192.*.*.*]

FileAgeは、FileTimeToDosDateTimeで一度DOSの日付日付形式に変換しています。
これは、制度が2秒ですので、1〜2秒の誤差が生じます。

http://hp.vector.co.jp/authors/VA009712/take/delphi/kabesys.htm
にある、「ファイルの日付と時刻を得る(高度版)」を参照してください。

編集    削除
ふぐちゃん  2004-03-15 09:59:54  No: 7684  IP: [192.*.*.*]

このページも参考になりそうですね。
http://www2f.biglobe.ne.jp/~kana/susie_trouble.html

編集    削除
初心者です  2004-03-16 23:36:37  No: 7685  IP: [192.*.*.*]

にしのさん、ふぐちゃんさんありがとうございます。
ファイルの更新日は表示はしていませんがミリ秒まであったんですね。
FileAge(filename)では
ミリ秒を切り上げて表示するので誤差が出るんですね。
理解できました。
ありがとうございました。

編集    削除
初心者です  2004-03-16 23:37:27  No: 7686  IP: [192.*.*.*]

忘れてました^^;

編集    削除