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

在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年或更高。另外,请不要将此技术用于破坏他人文件等非正当途径。

美国最大婚恋网站eHarmony利用Hadoop、OpenStack重构自己 每个Java开发者都应该知道的5个JDK工具 异构计算应用研讨暨OpenCL编程培训在上海和西安成功举行! APIs.io:用来发布和发现API的利器 偏爱MySQL,Nifty使用4个Web Server支撑5400万个用户网站 直接拿来用!十大Material Design开源项目 初探WatchKit,开发者必须知道的6件事! 【MDCC专访】环信CEO刘俊彦:音视频即时通讯将成为技术壁垒 第十七届全国工程建设计算机应用大会在京召开,AMD受邀详解GPU Computing! 哪一门开发语言薪水最高? 借助ArangoDB,带你玩转Google图算法引擎Pregel 【最具价值CTO评选秀】MediaV CTO胡宁:技术女神的自我奋斗 豌豆荚邓草原:如何实现实时响应式平台 必须谨记!Node.js安全开发技巧 聚焦新平台新应用 IBM 2014技术峰会上海站顺利落幕 《近匠》NAGA娜迦信息:移动安全加固定制化 棱镜、飞流、TalkingData三方解读:手游如何高效运营 【MDCC秀场】枕戈待旦——秉持移动开发大潮下的主角思想 Netflix的首席产品官Neil Hun谈推荐系统打造和AWS实践 微信开放WiFi接口,醉翁之意在乎O2O还是大数据? 软硬整合:基于云的微型智能防丢设备Linquet 【MDCC专访】AppCan CTO赵庆华:助力企业快速移动化 使用Bluemix中的Rules服务构建一个酒店预订应用程序 基于IBM Bluemix开发微信公共账号应用 用Cloudant在Bluemix上构建一个简单的文字游戏应用程序 IBM Bluemix是什么? 【最具价值CTO评选秀】纷享销客CTO刘晨:企业移动的技术挑战 【最具价值CTO评选秀】能做存储的超级计算机——任宇翔和以色列团队的创业故事 OpenStack Swift存储策略 分享5个可视化的正则表达式编辑工具 在iOS程序中使用Bluemix云推送服务 不相上班,怎么办呀?各位有何高招? 学习ATL的建议!!! 请问: 多个javabean怎么相互调用?如。。。。 二个简单Access问题 qq号码集合之增强版 这样的查询该怎样实现呢? 求:谁有立方体旋转的程序?需要源代码!谢谢,万分焦急!!!谢谢,100分送!!! 怎样实现这样的界面? 关于多线程中操作数据库 给一个c#连接sybase数据库的例子,谢谢! c#datagrid 增加,删除,修改 工作急需,help!!!!!!!!!!!!! 请哪位高手帮小弟做一个井字棋游戏作业,救小弟一命,感激投地并送以高分,我的信箱见内! Exchange2000的怪问题,请高手指教。 三层中的问题? datawindow加计算域或line的程序加在哪? 请问各位收邮件的程序采用的是什么组件??!!因为CFPOP,JMAIL在收中文附件时都会出现乱码。参与有分。 求助EXCEL解密 !!大送分99分! 请教JAVA中读一个文件的时候 怎么锁住它 不让别的程序来写 在ASP页面中怎样获得域用户的信息? 求助: 移值C++出问题 谁能解救我于水火???怎样解决循环运算次数太大造成程序死机的问题? 谁有delphi或bcb的简单的画图程序的源码 二个简单Access问题 Access不支持位运算吗? qq号码集合之增强版 递归函数的工作原理! 二个简单Access问题 如何在声音控制中将“全部静音(M)”选中,实现系统静音?在线等候! 韩国变性艺人河莉秀以“性感之枪”姿态攻陷香港 如何用javascript在客户端清空<input type=file>的value值?50分! qq号码集合之增强版 二个简单Access问题 谁有《Inside the c++ object model》中文名《深度探索c++物件模型》的电子版。 谁有《Inside the c++ object model》中文名《深度探索c++物件模型》的电子版。 谁知道 bzero memcmp 等函数的原代码在哪个目录下 哪个文件里 我实在找不到了 请高手指点 或提供线索 Date Time Picker如何不弹出 这里是做梦的场所 二个简单Access问题 servlet的问题 我想为对话框的按钮提供快捷键 不使用mfc的加速功能 请问怎么实现 一个关于多窗口的问题 请问各位懂行的,一个50分钟的flash要多少钱?就是动画故事,象电视上的那种。 网上找到的sa-fileup好像都是evaluation版,有时间限制,不知道哪里找到破解限制版? 在程序中怎么创建acess数据库,sqlserver数据库,oracle数据库? 还是关于.Net的安装问题,请问如果要在win98上运行.Net程序,需要装dotNetFrmaework,... dbgrid中如何实现自动计算?? To TR@SOE: 《C++Builder深度历险》出版了吗? 请教OnSessionEnd函数的执行问题 如何设备Socket的连接超时? ORA-01102: ??? EXCLUSIVE ???????? 机械能守恒是什么意思? 性别比例中雄多于雌的生物种类有哪些 使用机械能帮助我们什么或什么就在五年级暑假之友的第2页上. 孟买什么气候 XY型性别决定的生物,群体中的性别比例为1:1,原因是什麼? 洪涝灾害多发地区的气候、地形、位置有什么共性 为什么王水的配置是浓硝酸和浓盐酸按1:3体积? 小明和妈妈去操场散步,小明一圈需要5分钟,妈妈以前需要3分钟.如果小明和妈妈从同一地点,同时相背而行,几分钟后两人第3次相遇? 机械能应用如图,全长为L的绳索放在光滑的桌面上,有长为a的一段由桌边垂下.绳索由静止开始下滑,求整条绳索离开桌边时(绳索尚未接触地面)的速度.请写下过程,可能的话请讲解下遇到此 配置王水为什么用浓盐酸 xy型性别决定的生物,群体中性别比例都是1∶1,请问原因是什么!为什么!麻烦朋友们帮我一下A 雌配子:雄配子=1:1B 含X的精子:含Y的精子=1:1C 含X的配子:含Y的配子=1:1D 含X的卵细胞:含Y的卵细胞=1:1 机械能的应用1.某河的流量为每秒90m3,现要修建60m高的大坝,建成后利用水能发电,则1min水流做功多大?功率多大?2.体操运动员在跳鞍马时往往要借助于起跳板,从能量的角度来分析起跳板的作用 面对困难坚强不屈的名人 体现生命的勇敢 不要海伦凯勒,张海迪,霍金,桑兰这些被写烂了的人 小明和爷爷一起去散步小明走一圈需要八分钟也走线需要十分钟多少分钟后小明调节一证券 经常被利用的机械能有_____、______和______ 梦见海水上涨梦见海水水位快速上涨就连最高的地方都满过了,让我没有立足之地 为什么大多数生物种群雌雄性别比率约为1: ”性别比例越接近1:1,越有利于种群密度的增长“为什么错? 梦见我们家在海过两件房子里有海水 急,含地名的四字成语,四个字的! 地貌对地理环境有什么重要作用? 如何验证AgCl溶解度大于Ag2S 孟加拉国洪涝灾害频发的原因!请高中区域地理和自然灾害与防治都学完的高手来回答!分点,全面一点最好~ 中国气候最湿润的地方是长江中下游还是华南?四楼的,华南不就属于东南沿海吗? 举出生物对环境适应的例子?举出一个... 孟加拉国多洪涝灾害的原因 人坐沙发上为什么比坐在木凳上舒服, Ag2S与AgCl 哪一个的溶解度更低 氯酸钠和溴化钠反应生成什么 在某温度时醋酸银,氯化银,Ag2Cro4,硫化银的溶度积依次减小,则在这个温度下上述四种饱和溶液的物质的量浓度,醋酸银>氯化银>Ag2Cro4>硫化银 浓度符号C去掉了,难打,这里为什么是错的? 举一个生物对环境适应的例子要自己的,不要官方答案 描述孟加拉国显著的地形特征,并分析其地形特征的原因? 人坐在沙发上比坐在木凳上舒服为什么? 已知Ag2S的溶度积为6*10-30,此时它在水中的溶解度约但是为什么开根号什么的算出来的就是溶解度? 印度孟加拉国多洪涝灾害的具体原因是不是主要受西南季风的影响?如果是,那是怎样影响的呢? 人坐在沙发上比坐在木凳上舒服的原因是/?人坐在沙发上比坐在木凳上舒服的原因是( )A沙发有弹簧抵消了人受到的重力B弹簧的弹力减小了人对沙发的压力C沙发柔软,与人体接触面积大D由 举数个生物适应环境的例子如题~起码举出5个例子.举数个生物能适应环境的例子,再举数个生物不能适应环境的例子.例子具体点,不要只说名称. 为什么冬天向路面上撒盐就不结冰 哪些因素影响难溶盐氯化银溶度积的实验测定结果 父亲一个字怎么叫 文明礼仪手抄报题目新颖些,另类些 人坐在沙发上比坐在木凳上舒服的原因是( ) A沙发有弹簧抵消了人受到的重力 B弹簧的弹力减小了人对沙发C沙发柔软,与人体接触面积大D由于弹簧的作用,人对沙发的压力小雨人受到的重力 名人和凡人一样,都会遭遇成长的烦恼.(如安徒生,居里夫人,贝多芬,海伦凯特,张海迪等)名人和凡人一样,都会遭遇成长的烦恼.在失落绝望的时候,他们是如何重新找回生活的勇气,更坚强的面 用一个字来代替爸爸? XY型性别决定的生物,群体中的性别比例为1:1,原因是A.雌配子:雄配子=1:1B.含X的配子:含Y的配子=1:1C.含X的精子:含Y的精子=1:1D.含X的卵细胞:含Y的卵细胞=1:1 求出一个字谜!出一个字谜,像田中(申)挥手离去(军)这样的字谜急. 父亲、母亲都可以用其中的一个字来表达,那钥匙呢?如果没有,用什么其他的一个字来代替呢?具体情况是这样的:我闲的没事干写小说,设计的男主人公和女主人公各持一把钥匙(男)和一把 【高一生物】XY型性别决定方式的生物的问题》》》什么是XY型性别决定方式的生物?请简单但全面地说明一下理论,然后就理论完成该选择题:XY型性别决定方式的生物,群体中的雌雄比例接近1 请把:鲁迅、张海迪、海伦凯勒、霍金、 阿尔弗雷德·贝恩哈德·诺贝尔 、司马迁 、居里夫人 、高尔基 、爱迪生 、贝多芬 、 把以上10位名人在痛苦中的遭遇和后来的成功事迹写下 老子道的总论中的一个字怎么念?常有欲,以观其X.就是这个X怎么念?这个字实在不会打 XY型性别决定的生物,群体中的性别比例为1:1,原因是( )A.雌配子:雄配子==1:1B.含X的配子:含Y的配子==1:1C.含X的精子:含Y的精子==1:1D.含X的卵细胞:含Y的卵细胞==1:1 机械能的作用是什么 《台阶》一课 各用一个字来概述父亲劳动的特点 1.那石板多年前由父亲从山上背下来,每块大约有三百来斤重2.一个冬天下来,破草堆堆得超过了台阶( )3.那天早上父亲天没亮就起了床,我听 (高二生物下)XY型性别决定的生物,群体中的性别比例近似于1:1,原因是A雌配子:雄配子=1:1B含X的配子:含Y的配子1:1C含X的精子:含Y的精子=1:1D含X的卵子:含Y的配子=1:1 麻烦告诉我选 机械能是什么意思?内能是什么意思请解释一下 在北印度洋夏季洋流圈中,也就是阿拉伯半岛沿岸发现有个索马里寒流,他从赤道处向北流,怎么会是寒流? 人类哪些活动还对小鸟有伤害吗?写10个 机械能的总量是什么 索马里洋流成因 泰国洪涝灾害形成的的原因
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘