delphi 编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 编程相关的知识,希望对你有一定的参考价值。

function TForm1.fgetfiletime(sfilename:string;timetype:Integer):TDateTime;
var
ffd:TWin32FindData;
dft:DWORD;
lft,time:TFileTime;
H:THandle;
begin
h:=Windows.FindFirstFile(PChar(sfilename),ffd);
case timetype of
0:time:=ffd.ftCreationTime;
1:time:=ffd.ftLastWriteTime;
2:time:=ffd.ftLastAccessTime ;
end;
if (h<>invalid_handle_value)then
begin

Windows.FindClose(h);
FileTimeToLocalFileTime(time,lft);
FileTimeToDosDateTime(lft,longrec(dft).hi,longrec(dft).lo);
Result:=FileDateToDateTime(dft);

end
else
Result:=0;

end;
谁帮我解释一下,我是新手

function TForm1.fgetfiletime(sfilename:string;timetype:Integer):TDateTime;
var
ffd:TWin32FindData;// Win32的数据结构
_WIN32_FIND_DATAA = record
dwFileAttributes: DWORD;
ftCreationTime: TFileTime;
ftLastAccessTime: TFileTime;
ftLastWriteTime: TFileTime;
nFileSizeHigh: DWORD;
nFileSizeLow: DWORD;
dwReserved0: DWORD;
dwReserved1: DWORD;
cFileName: array[0..MAX_PATH - 1] of AnsiChar;
cAlternateFileName: array[0..13] of AnsiChar;
end;
dft:DWORD;
lft,time:TFileTime;//文件的时间
同 TDateTime 一样大小, 但结构原理完全不同:
TFileTime = record
dwLowDateTime: DWORD;
dwHighDateTime: DWORD;
end;
TFileTime 记录的是从 1601-1-1 起的时间值, 以 100 纳秒(也就是万分之一毫秒)为单位

//DOS 时间就是一个 32 位(4字节)的整数(Integer), 好像没有专门的结构, 可用 LongRec 等代为解析.
DOS 时间的尺寸是 TFileTime、TDateTime 的 1/2, 是 TSystemTime 的 1/4; 因此不很精确.
它只能表示从 1980-2107 之间的时间, 且只能精确到 2 秒.


H:THandle;//句柄
begin
//返回一个搜索句柄。如果出错,返回一个INVALID_HANDLE_VALUE常数,一旦不再需要,应该用FindClose函数关闭这个句柄
h:=Windows.FindFirstFile(PChar(sfilename),ffd);
case timetype of
0:time:=ffd.ftCreationTime; //文件的创建时间
1:time:=ffd.ftLastWriteTime;//上次写入时间
2:time:=ffd.ftLastAccessTime ;//上次访问时间
end;
if (h<>invalid_handle_value)then //成功则进行下操作
begin

Windows.FindClose(h);//关闭
//转换成本地时间
FileTimeToLocalFileTime(time,lft);
//将一个 win32 FILETIME 值转换成DOS日期和时间值
FileTimeToDosDateTime(lft,longrec(dft).hi,longrec(dft).lo);
//当用FileAge获取文件整数时间表示后,要用FileDateToDateTime转化为本地时间
Result:=FileDateToDateTime(dft);

end
else
Result:=0;

end;
参考技术A 懒得给你一句句解释,告诉你这段代码的功能好了。
这段代码是根据调用时传入的参数,获取磁盘文件的创建时间、最后写入时间或者最后读取时间。

介绍几个关于delphi的编程网站.

请大家帮忙 介绍几个关于delphi的编程网站. 论坛最好. 网站也行.. 不要收费的.. 还有 我是 零基础 最好有关于 pascal 的.也行.. 有谁能帮我留下 QQ..感激不尽啊..

参考技术A 我觉得大富翁论坛很好,我1998年开始上,是孙博士搞的,国内第一个力推DELPHI的老前辈,地址是:www.delphibbs.com 参考技术B delphi盒子,里面有不少源代码,会有帮助 参考技术C 首推大富翁,
delphi盒子,
delphifance,
csdn
等等本回答被提问者采纳

以上是关于delphi 编程的主要内容,如果未能解决你的问题,请参考以下文章

delphi 编程

delphi编程中的问题

介绍几个关于delphi的编程网站.

delphi中如何编程获取其它程序窗口的大小?

delphi 高手进,系统服务编程

delphi可以用于linux下的编程吗?