说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Delphi中获取和修改文件的时间

HTML文档下载 WORD文档下载 PDF文档下载
在Delphi中获取和修改文件的时间

本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法。

熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息。在属性菜单中会列出该文件的创建时间、修改时间和访问时间。这些信息常常是很有用的,它们的设置一般都是由操作系统(也就是由Dos/Windows等等)自动完成的,不会让用户轻易修改。

这里,我向大家介绍在Delphi中如何实现文件时间的获取和修改方法。Delphi中提供了很完备的Windows API函数的调用接口,可以方便的进行高级Windows编程。利用Delphi中的FindFirst函数可以得到一个文件的属性记录,该记录中的FindData域中就记载了详细的文件时间信息。然而遗憾的是,FindData中的时间信息是不能直接得到的。因此,本人编写了一个转换函数来完成文件时间格式的转换。下面给出了具体的实现方法,仅供参考:

function CovFileDate(Fd:_FileTime):TDateTime;

{ 转换文件的时间格式 }

var

Tct:_SystemTime;

Temp:_FileTime;

begin

FileTimeToLocalFileTime(Fd

Temp);

FileTimeToSystemTime(Temp

Tct);

CovFileDate:=SystemTimeToDateTime(Tct);

end;

有了上面的函数支持,我们就可以获取一个文件的时间信息了。以下是一个简单的例子:

procdeure GetFileTime(const Tf:string);

{ 获取文件时间,Tf表示目标文件路径和名称 }

const

Model='yyyy/mm/dd

hh:mm:ss'; { 设定时间格式 }

var

Tp:TSearchRec; { 申明Tp为一个查找记录 }

T1

T2

T3:string;

begin

FindFirst(Tf

faAnyFile

Tp); { 查找目标文件 } T1:=FormatDateTime(Model

CovFileDate(Tp.FindData.ftCreationTime)));

{ 返回文件的创建时间 }

T2:=FormatDateTime(Model

CovFileDate(Tp.FindData.ftLastWriteTime)));

{ 返回文件的修改时间 }

T3:=FormatDateTime(Model

Now));

{ 返回文件的当前访问时间 }

FindClose(Tp);

end;

设置文件的时间要复杂一些,这里介绍利用Delphi中的DataTimePicker组件来辅助完成这一复杂的操作。下面的例子利用了四个DataTimePicker组件来完成文件创建时间和修改时间的设置。注意:文件的访问时间用修改时间来代替。使用下面的例子时,请在您的Form上添加四个DataTimePicker组件。其中第一和第三个DataTimePicker组件中的Kind设置为dtkDate,第二个和第四个DataTimePicker组件中的Kind设置为dtkTime.

procedure SetFileDateTime(const Tf:string);

{ 设置文件时间,Tf表示目标文件路径和名称 }

var

Dt1

Dt2:Integer;

Fs:TFileStream;

Fct

Flt:TFileTime;

begin

Dt1:=DateTimeToFileDate(

Trunc(Form1.DateTimePicker1.Date) + Frac(Form1.DateTimePicker2.Time));

Dt2:=DateTimeToFileDate(

Trunc(Form1.DateTimePicker3.Date) + Frac(Form1.DateTimePicker4.Time));

{ 转换用户输入在DataTimePicker中的信息 }

try

FS := TFileStream.Create(Tf

fmOpenReadWrite);

try

if DosDateTimeToFileTime(LongRec(DT1).Hi

LongRec(DT1).Lo

Fct) and

LocalFileTimeToFileTime(Fct

Fct) and

DosDateTimeToFileTime(LongRec(DT2).Hi

LongRec(DT2).Lo

Flt) and

LocalFileTimeToFileTime(Flt

Flt)

then SetFileTime(FS.Handle

@Fct

@Flt

@Flt);

{ 设置文件时间属性 }

finally

FS.Free;

end;

except

MessageDlg('日期修改操作失败!'

mtError

[mbOk]

0);

{ 因为目标文件正在被使用等原因而导致失败 }

end;

end;

以上简单介绍了文件时间属性的修改方法,请注意:修改文件时间的范围是从公元1792年9月19日开始的,上限可以达到公元2999年或更高。另外,请不要将此技术用于破坏他人文件等非正当途径。

威胁百度:奇虎360确认将与谷歌达成合作关系 Facebook更新Messenger应用 推免费网络电话服务 网上疯传iOS7概念设计:Dashboard是真是假? 过时的UI设计 Ubuntu手机系统前途不被看好 三星将于今年发布Tizen设备 将对苹果形成威胁? 分享9条经典的编程语录 国际著名黑客大赛介绍与比较 微软Azure CDN服务全球范围内出现宕机 双向多功能U盘:从Android设备到PC还有多远? 证明了自己:微软Win8获美国防部6.17亿订单 2013 Facebook黑客杯报名即将开始 解决Win8下IE10无法打开的故障 [简讯] Scala 2.10.0发布! 收购传闻:Apple一厢情愿还是Waze待价而沽 回顾过去,展望2013:移动开发引擎、工具和语言盘点 成本为0!Netflix开源工具Janitor Monkey清理AWS iOS开发者讲述在Google工作的三个月 GitHub历史上最糟糕宕机事故回放及反省 疑因竞争 谷歌有意让地图与WP手机不兼容 移动游戏开者必看:海外VC最关心什么? 淘宝UED:随侃设计师的个人素养 TIOBE 2013年1月:不负重望 Objective-C再次赢得桂冠! 大数据:商业或技术的挑战? 开源移动统计:Cobub Razor近期版本大升级 无人机应用,为何屡遭苹果拒绝 2013年Java继续火的五大理由 Rails所有版本都有SQL注入漏洞?其实没那么严重 如何设置Windows Server 2012 NTFS权限 智能手机大局已定 HTC难扭转乾坤? 比谷歌手表更酷!基于大数据分析的睡衣 众投资金:改变了移动游戏开发的一切一切 请教一个SQL的问题 从局域网内拷贝文件,总是断线 问大家一个特别傻的问题,但是请务必帮我解答,谢谢了 问大家一个特别傻的问题,但是请务必帮我解答,谢谢了 treeView控件的问题 asp中的几个问题,急! 在类中用static const 定义常量的问题 谁安装oracle9i了? 哪里有文档编辑软件的源程序(带查找、替换),给url就给分? =最近做了一个免费小工具,想请大家帮忙测试并发表一些关于我的程序功能和界面布局的意见= 很急 [建议]关于提问 100分请教如何使用JS来实现定时执行alert()命令 请问怎样给DataGrid添加一个空行? 请问在用openssl生成csr时出现如下的问题,如何解决?急用 100感谢 =最近做了一个免费小工具,想请大家帮忙测试并发表一些关于我的程序功能和界面布局的意见= oracle 9i的问题,急救 24位的位图是不是没有颜色表? 一个简单的关于层的问题,谁能帮我解释一下呢? 请问在用openssl生成csr时出现如下的问题,如何解决?急用 100感谢 超菜问题? 现在网上有没有破解的MDaemon下载? 唉,和老妈吵架~散分~~ LyfUpload组件上传时能否添加下拉框,并把其值一起提交到数据库中?急!急!急! 请高手一览:为什么这段程序不能写进数据库?不好意思,分只有这么多了!呵呵 建立一个收费的网站的思路如何?请大家指教! 怎样改造Anythere 5.0的数据库? 有没有去过珠海的朋友? 我出100分重新讨论《100分求助:如何解决内存泄漏,代码如下》 有没有现成的软件,判断一个email的使用方的具体位置,到“市”一级? 用ADO能不能用SQL语句将Access2000库中的表复制到SQL2000server库中? maddam、Hankuu请进,重新给分。100分求助:如何解决内存泄漏,代码如下(无内容) javascript中如何控制<input type="image" id=id1 name=name1>的位置 如何用pb完成文件上传服务器的功能 有关ORACLE在ODBC内部的连接问题?? 经典砍价术 十个系男生的初夜 菜鸟没分了,还是慷慨散100分求助!(Up 有分) 求救,图像和文本一起上传 网络安全问题的一点疑问,欢迎大家来讨论,分数不够可以再加!!! Gnome桌面显示不出来? 请问VC和BCB哪个更好? Rational材料 怎样入手SQL 紧急求救:系统不能正常关机 在installer安装程序中如何创建程序组快捷方式 IE非法出错 一篇妓女写的文章,(转帖)作者不详 javascript中如何得到当前时间(yy-mm-dd hh:mm:ss.mmm) 新手问路:请教Bean与一般的java class 的区别 linux怎样才能支持3D鼠标? 日本从中国进口煤炭,然后倒入大海,是怎么回事? Coffee isn't a healthy drink.Coffee id _____ _____drink.(同义句)What do you think of the film?(同义句)He___ ___ ___ ___ the film?He went to the hospital in a hurry(同义句)He ___ ___the hospital.My mother gave me a dictionary as my bi 金属缠绕垫检验标准 向1L0.5mol·L—1的NaOH溶液分别加入稀醋酸、浓硫酸、稀硝酸,则恰好完全反应时的热效应△H1、△H2、△H3的关系正确的是A.△H1>△H2>△H3 B.△H1<△H3<△H2C.△H2>△H1>△H3 D.△H1>△H3 “这场比赛被人们誉为是‘强强对话'.这句话有语病,应改为······ 金属缠绕垫规格型号前加HW是什么意思 硫酸和氢氧化钠要纳入危险化学品重大危险源辨识吗?他们的临界值是多少? 为什么日本人在海底储存煤炭和矿石,他们的目的是什么 反-4-叔丁基环己烷甲酸的结构式 地球上什么是可生资源 NaOH溶液分别与①醋酸②浓硫酸③稀硝酸恰好反应放除热量分别为Q1,Q2,Q3 比较Q1.Q2.Q3的大小.答案上写Q1<Q3<Q2就是不知道为什么, 金属缠绕垫用的gd0529是什么意思?具体是什么? 手表怎么换电池 为什么煤可一沉入海底保存 金属缠绕垫中的(金属缠绕垫DN200)是什么意思? 不重合的两个平面最多有几条公共直线? 大气层的温度是否都随离地面高度的增加而降低? would you like tea ____ coffee?I don't like tea _____ coffee1.and...and2.or.and3.and..or4.or.or 平面α∩平面β=α,平面α∩平面γ=b,平面γ∩平面β=c,且abc不重合平面α∩平面β=α,平面α∩平面γ=b,平面γ∩平面β=c,且abc不重合,求证a,b,c,交于一点或两两平行.请写出具体的证明步骤,麻烦您了. 大气圈温度随高度增加而递减.这句话怎么错了=_= 怎么才能增加豆腐的韧性?我想增加豆腐的产量,可是产量上去了豆腐就太嫩,根本来不起来. 不知道如何解决.请个位大侠帮忙想想有什么办法. 谢谢! 地球上很多矿物资源是不可再生的 对 还是错 食物热量与燃烧时间有无关系玻为什么?匾抒赔是不是欠 现今英国与印度之间的关系 关于露天煤矿的“二量”是什么,起到什么作用.知道是指开拓和回采.但“二量”的作用是? 为什么燃烧的时候会放出能量? 英国和印度的关系 只有一个地球 " 矿物资源"说明了什么?从哪个词语看出?地球所拥有的自然资源也是有限的.拿矿物资源来说,它不是上帝的恩赐,而是经过几百万年,甚至几亿年的地质变化才形成的.要从这句话 中国是怎么选举主席和总理的? 烟囱林立的英国工业,印度民族大起义,英国宪章运动的关系 地球除了矿产还给我们提供了哪些资源 测量五要素是什么? 英国在印度的殖民对印度的影响 掘进面和回采面可以用压入和抽出两种不同的通风方式么 中国美国韩国法国泰国日本英国西班牙巴西属于哪个洲 河姆渡人和半坡人有什么异同?要用自己的话说,不能完全抄课本中的.好的我会采纳. 花岗岩为何是侵入岩?这其中的侵入怎么解释? 西双版纳州是否有人出售橡胶树? 醋酸和氢氧化钙反应CH3COOH + Ca(OH)2生成什么? 花岗岩变质后成为什么岩?我想知道谢谢 用两节南孚5号怎么让普通发光二极管发光 氢氧化钙和氧化钙反应25℃是在澄清石灰水中加入少量氧化钙,恢复到25℃时该溶液的溶质、溶质的质量分数如何变化? 看来,提高人们的环保意识,在今天显得更加至关重要了.怎么改 西双版纳的橡胶树在每年的几月份收割? 关于地球起源的传说地球的传说,最好是把人类的产生也说一下, 在同一平面内,不重合的三条直线的公共点个数可能有【 】 二极管的脚是什么金属谢谢你的回答 2012的传说哪些是真,哪些是假啊,比如说地球板块重新排序组合.不是寂寞,是最近单位那帮人总没事研究,听着像真的似,今天飞机有事明天火山有事后天泥石流地震,闹庭。 空间三条不重合的直线a,b,c能确定的平面个数是?A,0,1或2 B,0,2或3 C,1,2或3 D,0,1,2,或3 请问,听说西双版纳有橡胶树承包,是不是真的能赚?听朋友说在景洪西双版纳承包橡胶树有点赚,想问下是不是真的?现在去能不能承包到?了解这行的人能不能提供些具体情况说明, 人类真的是在地球上进化而来的吗?为什么会有那么多关于人类起源的传说? 向等体积0.1mol/L NaOH溶液分别加入①稀醋酸②浓硫酸③稀硝酸 ,至恰好完全反应,求焓变大小关系?我想知道为什么? 三脚红蓝双发光二极管引脚长度不同,这些引脚分别代表什么 地球上有美人鱼吗?如果有,是什么样子的?很纯净、很漂亮吗?有她的传说吗?突然很好奇?还有关于美人鱼的传说! 日本把矿产和煤储存在海底,到底是怎样储存的?如果不是储存在海底,那要储存在哪里? 西双版纳橡胶树的越冬条件和水分条件 关于2012的传说:这个2012是不是地球上三分之二的人都会死去啊? 醋酸,稀硝酸,浓硫酸与等浓度的烧碱溶液反应至完全中和,放出的热量分别为A B C,为什么A大于B大于C?谢(纠正一下这里的ABC均为绝对值 那么A小于B小于C) I don't like coffee in the slightest.(改为同义句) 请帮忙该一个病句:这场比赛被人们誉为是“强强对话”.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘