delphi中如何抓取文件夹的修改日期?

 我来答
conan415
2011-05-23 · TA获得超过138个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:209万
展开全部
用这个方法可以取的文件夹的相关信息:

uses DateUtils;

procedure DirectoryDateTimeInfo(const path : string) ;
var
sr : TSearchRec;
modifiedTime : TDateTime; // 修改时间
lastWriteTime: TDateTime; // 最后写入时间
begin
if sysUtils.FindFirst(path, faDirectory, sr) = 0 then
modifiedTime := FileDateToDateTime(sr.Time) ; // 修改时间

// 或者用以下方法
FileTimeToSystemTime(sr.FindData.ftLastWriteTime, lastWriteTimeSystem) ;
with lastWriteTimeSystem do
lastWriteTime := EncodeDateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds) ; // 最后写入时间

ShowMessage(Format('Date Time Info for "%s"', [path])) ;
ShowMessage(Format('Last Modified Time: "%s"', [DateTimeToStr(modifiedTime)])) ;
ShowMessage(Format('Last Write Time: "%s"', [DateTimeToStr(lastWriteTime)])) ;

FindClose(sr) ;

end;
end;
LycanYao
2011-05-23 · TA获得超过231个赞
知道答主
回答量:309
采纳率:0%
帮助的人:182万
展开全部
如下代码
uses
comctrls, ShellAPI, commctrl;

{...}

const
FL_FOLDER = 1;
FL_FILE = FL_FOLDER + 1;
{ 文件日期类型 }
FD_CREATED = 1;
FD_ACCESSED = FD_CREATED + 1;
FD_MODIFIED = FD_ACCESSED + 1;

type
FileInfoPtr = ^FileInfoRec;
FileInfoRec = record
fName : string;
typ : byte;
Modified : TDateTime;
end;

function GetFileTimes(FileName : ShortString; typ : byte; var fDate : TDateTime) : Boolean;
var
fHandle : Integer;
fTimeC,
fTimeA,
fTimeM : TFileTime;
lTime : TFileTime;
sTime : TSystemTime;
begin { GetFileTimes }
fHandle := FileOpen(FileName, fmShareDenyNone);
fDate := 0.0;
result := (fHandle >= 0);
if result
then begin GetFileTime(fHandle, @fTimeC, @fTimeA, @fTimeM);
FileClose(fHandle);
case typ of
FD_CREATED : FileTimeToLocalFileTime(fTimeC, lTime);
FD_ACCESSED : FileTimeToLocalFileTime(fTimeA, lTime);
FD_MODIFIED : FileTimeToLocalFileTime(fTimeM, lTime);
end;
if FileTimeToSystemTime(lTime, sTime)
then fDate := EncodeDate(sTime.wYear, sTime.wMonth, sTime.wDay) + EncodeTime(sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliSeconds);
end;
end; { of GetFileTimes }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式