将E:/1.bmp的修改时间设为2002年5月8日12点12分12秒(能解决就给分)(100分)

  • 主题发起人 yangxiangjun
  • 开始时间
Y

yangxiangjun

Unregistered / Unconfirmed
GUEST, unregistred user!
将E:/1.bmp的修改时间设为2002年5月8日12点12分12秒(能解决就给分)
 
FileSetDate(E:/1.BMP', DateTimeToFileDate(StrToDateTime('2002-05-08 12:12:12')));
 
function tform1.FSetDate(Handle: Integer; Age: Integer): Integer;
var
LocalFileTime, FileTime: TFileTime;
begin
Result := 0;
if DosDateTimeToFileTime(LongRec(Age).Hi, LongRec(Age).Lo, LocalFileTime) and
LocalFileTimeToFileTime(LocalFileTime, FileTime) and
SetFileTime(Handle,@FileTime, @FileTime, @FileTime) then Exit;
创建时间,修改时间,访问时间
Result := GetLastError;
end;


var ddd: Tdatetime;
dese:TFileStream ;


dese:=TFileStream.Create(edit2.text,fmOpenWrite);
ddd:=EncodeDateTime(2002,5, 8,12, 12, 12, 12);
FSetDate(dese.handle,DateTimeToFileDate(ddd));
dese.Free ;


上面这个自定义函数就可以把文件的(创建、修改、访问)三种时间都改为指定时间,其实这个自定义函数是用Delphi6中的设置文件时间函数改的,因为D6中
它好像只能设置修改时间。
 
去拿ACDSEE,一下就搞定了。简单。
 
多人接受答案了。
 
顶部