怎样取得文件的日期时间等信息?
就如右键菜单"属性"显示的一样
就如右键菜单"属性"显示的一样
解决方案 »
- dbExpress SQLCONNECTION 连接 局域网的DB2
- 过年了,找人一起做个三国杀游戏玩玩
- 有人用SPCOMM遇到过这样的问题么?
- TADOTable控件上有Lookup字段,还可以使用Table.Append([...])函数吗???
- 一个简单的问题,D7中,打印机的打印尺寸怎样和屏幕尺寸(像素)换算?
- override和reintroduce有什么区别,能举出例子吗?
- 简单问题
- 在COM+中共享对象的问题?
- 请问如何检测进程中是否存在某一程序
- Delphi6.0 ES最新信息!,特别是做ERP,MIS的请注意!
- 以前学习PB,VB等,现在想改行行学习DELPHI
- 做一个按钮,它的作用是按下去后,窗口最小化在任务栏的最右边(即是在声音的小图标那里)
Sysutils 单元的引用?FileDateToDateTime 和 DateTimeToFileDate 这两个函数是在
该单元中定义的写了两个函数:
type
TFileTimeType = (fttCreation, fttLastAccess, fttLastWrite);
//分别对应文件创建时间,访问时间,修改时间
function GetFileDateTime(const FileName: string; FileTimeType: TFileTimeType): TDateTime;
var
Handle: THandle;
FindData: TWin32FindData;
LocalFileTime: TFileTime;
DosDateTime: Integer;
begin
Handle := FindFirstFile(PChar(FileName), FindData);
if Handle <> INVALID_HANDLE_VALUE then
begin
Windows.FindClose(Handle);
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
case FileTimeType of
fttCreation:
FileTimeToLocalFileTime(FindData.ftCreationTime, LocalFileTime);
fttLastAccess:
FileTimeToLocalFileTime(FindData.ftLastAccessTime, LocalFileTime);
fttLastWrite:
FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
end;
if FileTimeToDosDateTime(LocalFileTime, LongRec(DosDateTime).Hi,
LongRec(DosDateTime).Lo) then
begin
Result := FileDateToDateTime(DosDateTime);
Exit;
end;
end;
end;
Result := -1;end;function SetFileDateTime(const FileName: string; FileTimeType: TFileTimeType; DateTime: TDateTime): Integer;
var
Handle: THandle;
LocalFileTime, FileTime: TFileTime;
DosDateTime: Integer;
I : TFileTimeType;
FileTimes: array[TFileTimeType] of Pointer;
begin
Result := 0;
DosDateTime := DateTimeToFileDate(DateTime);
Handle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone);
if Handle <> INVALID_HANDLE_VALUE then
begin
for I := fttCreation to fttLastWrite do
FileTimes[I] := nil;
DosDateTimeToFileTime(LongRec(DosDateTime).Hi, LongRec(DosDateTime).Lo, LocalFileTime);
LocalFileTimeToFileTime(LocalFileTime, FileTime);
FileTimes[FileTimeType] := @FileTime;
if SetFileTime(Handle, FileTimes[fttCreation], FileTimes[fttLastAccess],
FileTimes[fttLastWrite]) then Exit;
end;
Result := GetLastError;end;使用:
1、获取文件创建时间:
ShowMessage(DateTimeToStr(GetFileDateTime('c:\key.txt',fttLastWrite)));
2、设置文件修改时间:
SetFileDateTime('c:\key.txt',fttLastWrite, datetimepicker1.DateTime);