首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

为什么用idftp get() 下载一个文件后修改日期被改成了系统当前的日期?该如何处理

2012-02-14 
为什么用idftp get()下载一个文件后修改日期被改成了系统当前的日期?为什么用idftp get()下载一个文件后修

为什么用idftp get() 下载一个文件后修改日期被改成了系统当前的日期?
为什么用idftp get() 下载一个文件后修改日期被改成了系统当前的日期,而不能与服务器上的文件修改日期相同,比如下载 up.rar 服务器上的修改日期为 2004.01.21 而被改成本地的 2007.10.23  

有什么好的办法解决吗?

[解决办法]
//设置文件修改时间
Function SetFileDateTime(FileName : String; NewDateTime : TDateTime): Boolean;
var FileHandle: Integer;
FileTime: TFileTime;
LFT: TFileTime;
LST: TSystemTime;
begin
Result := False;
try
DecodeDate(NewDateTime, LST.wYear, LST.wMonth, LST.wDay);
DecodeTime(NewDateTime, LST.wHour, LST.wMinute, LST.wSecond, LST.wMilliSeconds);
IF SystemTimeToFileTime(LST, LFT) Then
begin
IF LocalFileTimeToFileTime(LFT, FileTime) Then
begin
FileHandle := FileOpen(FileName, fmOpenReadWrite or fmShareExclusive);
IF SetFileTime(FileHandle, NIL, NIL, @FileTime) Then Result := True;
end;
end;
finally
FileClose(FileHandle);
end;
end;

热点排行