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

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

免费游戏开发经验谈:第一印象很重要 《近匠》小旭音乐:游戏音乐金牌匠人的练级之路 日600亿消息,月4.65亿用户——WhatsApp的Erlang世界 一周热点:Cloudera新一轮融资总额已达9亿美元 【走近院士】李未:实现云服务的有效方法是群体软件工程 大神云集 大型创客聚会2014深圳Maker Faire盛大开幕 直击Maker Faire,将精彩“一网打尽”! 电池革命:超级充电器来袭,30秒为手机充满电 风雨13载,Windows XP今起正式退役 向Facebook看齐,Twitter收购Android屏幕待机应用开发商Cover 绝对的超现实!Jaunt打造360°全景VR电影 Unite China 2014课程解析:行业解决方案专场免费开放 Manhattan,Twitter规模的实时、多租户分布式数据库 Ceph浅析(中):结构、工作原理及流程 孙元浩:基于Spark引擎的高速内存分析和挖掘工具应用 腾讯私有云背后的团队,品高要做企业云计算的产品经理 撼动企业应用架构的十大技术趋势 Airbnb的管理之道:产品设计的点评策略与技巧 Windows 8.1 Update 1的下载地址和八点须知 《近匠》棱镜:手游渠道SDK平台的技术历程 OpenSSL究竟为何物,为何它的影响力如此之大? Redis大冒险:如何跳出SQL这个坑 【走近院士】张尧学:基于透明计算的云操作系统 微软转型之路:从Build 2014开始 大势所趋 HTML5成Web开发者最关心的技术 从火种到核心,浅析Hadoop大数据用户的演变 搭建高可用的MongoDB集群(上):MongoDB的配置与副本集 软硬件协同创新,共建未来数据中心 优秀Unix管理员的七个习惯 2014Unity亚洲开发者大会倒计时 干货内容日程汇总 TIOBE 2014年4月编程语言排行榜:Perl跌至历史最低点 高难问题:Delphi 程序如何向CBuilder编写的DLL传递窗体指针,在DLL中如何用 关于实现头像跳动的问题!!!???? 请问我们平时用的电话机,传输的是数据信号还是模拟信号? outlook express有毒? 哪位大下指点一下:html 带参数访问 servlet 小小调查,向有识之士请教~~~ 谢谢~~~~ 有没有一种线程安全的方法来取得一张表的元组个数? listview排序的,过来看看。。 有一获国家专利的中文输入法软件急于开发 帮忙解释一下implementation什么意思,有什么作用. A Question about ActiveForm and TabStop. 用于从INI文件中读字串的函数是什么?请示高手! 清問:Datareport實現不了的功能如何實現?清大蝦指教,謝謝! 检测下拉列表中批配项,有则选中 为什么DBGRID显示一片空白,记录应该取到了。代码如下: 谁有免费出国代理,急用。如果能有,马上给分 关于学习.net与j2ee的抉择问题,欢迎各位大侠热烈讨论!!! 求PHP代码,功能是:判断字符是否全部为汉字? 又是MSFlexgrid的问题!!!请大家帮忙~! ActiveX访问数据库的问题? REDHAT LINUX 7.2下如何建立多个用户?多谢指点! 关于网线!高分!!!!! 关于生成文件的方法? 课程表开发 请问各位前辈,是否只有新增加的字段才有可能成为计算字段?谢谢! 俺要写一个简单的文本的报文,string类型的 关于生成文件的方法?..... 有谁能告诉一下我CVS和SSF是什么?,具体是指些什么?? WIN2K 的问题:1、怎么允许本地普通用户(user)关机;2、怎么能让本地普通用户开机后,客户机连接到SQL SERVER?3、为什么我的SQL量SERVER2K需要停止然后再启动客户才能用? 如何用VB把存储在ORACLE库中的图片字段取出成.JPG格式的图片文件????急在外出差呀多谢了~~~~~ 如何退出函数?exit function??? 测试2000的TCP/IP是否通,用什么命令 求助开发课程表提示 (*****向斑竹你提个小见意,大家最好都来看看,这个想法好不好!****) 为什么我做的增加功能有两个必须要按两次“添加”按钮才能新增一条记录啊? 很急,请教高手,如何把一个ip格式的字符串转换成ip类型,不是用getbyname(),而是像int和string转换一样的概念 请问如何让基于对话框的工具条一开始就浮在上面 来者有分,关于ado的 毛子青论文<<动态规划的优化>>,一个最长子序列的算法,请高手看过来(给出c实现代码的送20分!) 在鼠标单击时间中,可以使用什么函数取得鼠标点击处的坐标值 怎样在单击左键时弹出PopupMenu? 连续20多天加班,近来明显感到体力透支,做个调查!!!(有分) ASP调用VB编写的ActiveX DLL的问题 请教一sql语句 在Unix下用cc(实际上是cc_bundled文件)编译c程序时,报错“const" will become a keyword,或者告诉我“Function prototypes are an ANSI feature" 为何加入winsock2.h后会出现很多问题? 热烈庆祝:Kingron重出江湖!!!菜鸟们有福喽……散分 you shen me qu bie ? please tell me , xie xie ! [■■■Delphi猛料■■■]V1.3发布~~~~~~~更新到2001.12.12 提问:如何在ToolBar上加控件? 我在OLE里调用了word2000文档,为什么只显示第一页,我查了半天资料都没有解决,请帮我 钢的密度是多少?怎么计算他的重量?直径40mm,L200,密度是不是0.787是不是这样计算:2*2(半径)*3.14(π)*20(长)*0.787(密度)/1000(倍),或错在哪里?我既然把这个计算方法忘记了 为什么浮力等于排出水的重力RT 八年级上科学作业本(浙教版)B第8页第五节水的浮力(2)的第8题2006年5月,经过长期专业训练的魔术师大卫·布莱恩在水族馆玻璃缸中生活了177个小时,布莱恩生活的玻璃缸呈球形,容积约为7. 标准状况下,气体的摩尔体积一定是22.4L/mol吗答案不是这个选项,能帮我举出一个反例吗 漂浮的物体受到的浮力是不是等于排出水的重力、这个好像是阿基米德原理、但是阿基米德原理只能用于悬浮啊. 科学八上水的浮力习题 1.一杯装满水的玻璃杯,它们的总重为10牛顿,现将以石蜡(密度为0.9×10³千克/米3)块轻放在水中,石蜡块静止后漂浮在水面,并从杯中溢出水重0.98牛顿,则该石蜡块受 在标准状况下1mol任何气体所占的体积都约是22.4L 还是22.4L/mol? 这两个单位的区别? 为什么物体静止在水时,浮力等于重力 1.等质量的两种金属密度分别为P1,P2.将两种金属混合,试问合金的密度?2.等体积的两种金属密度分别为P1,P2.将两种金属混合,试问合金的密度?3.当酒中含水量为10%~20%时,求酒的密度? 任何气体在标准状况下气体摩尔体积都为22.4L/mol吗 判断物体沉浮的条件字母表达 要全= (内含密度表) 补充图片 只有在标准状况下,气体的摩尔体积才是22.4L·mol-1 为什么错了 冰水混合物在零度会怎么样? 配制密度1.1*10立方kg/立方米的盐水 测得配制的500立方厘米的盐水质量为600克,问这些盐水是否符合要求,若不符合要求应加水还是加盐,加多少克 一块长方体钢板长2米宽1.5米它的重量是51.48吨已知每立方米钢材中7.8吨这块钢板厚多少米 如果往热橙汁,加冰块使它处于冰水混合物状态,此时橙汁是零度吗?为什么 水的浮力怎么算? 一块长方体钢板,长22米、宽1.5米,它的重量是54.18吨,已知每立方米钢材重7.8吨,这块钢板厚多少米 根据阿佛加德罗定律,下列说法正确的是 a同温同压下两种气体的体积之比等于摩尔质量之比b同温同压下两种气体的物质的量之比等于密度之比 c同温同压下两种气体的摩尔质量之比等于密度 已知配制的盐水520克,体积400立方厘米,求加多少水再配成密度为1.2克每立方厘米的盐水 长22米,宽1.5米得一块长方形钢板,它的重量是51.48吨,已知每立方米钢重7.8吨,求这块钢铁厚多少米 依照阿伏加德罗定律,下列叙述正确的是 ( ) A.同温同压下两种气体的体积之比等于摩尔质量之比   B.同温 超声波身高测量仪的工作原理是什么?现在医院都用那种超声波身高体重测量仪,感觉很神奇,与以往的手动测量仪和电子测量以不同,人只要站在上面,几秒钟就能得出身高、体重等数据.不知道 一块长方体钢板,长3米,宽2米,它的重量是4.68吨,已知每立方米钢材重7.8吨,这根钢板后多少分米? 根据阿伏加德罗定律,下列叙述中正确的是(双选) A.同温同压下两种气体的体积之比等于摩尔质量之比 B.根据阿伏加德罗定律,下列叙述中正确的是(双选)A.同温同压下两种气体的体 规则形状固体密度的测量仪器和基本步骤后面还有不规则形状的固体密度的测量仪器和基本步骤.希望能回答一下. 一块长方体钢板,长1.8米,宽1.5米,厚0.02米.如果每立方米钢重7.8千克,这款钢板重 有关浮沉的一道物理题在一个水槽里装入适量的水,把一个连接著管子的小胶瓶(瓶内只有空气)放入水中..胶瓶悬浮...若向瓶内呼气,则胶瓶上浮还是下沉..那吸气呢?并说明理由 三坐标测量仪的工作原理 NA+的摩尔质量为23g/MOL这句话对吗? 同温同压下,两种气体摩尔质量之比等于?--------我在线等 水的浮力题物体在空气中称时重29.4牛,把它浸没在水中是重9.8牛求物体所受的浮力,物体的体积,物体的密度 45号钢的密度是多少?应该跟A3及其他钢材都不一样的吧 把一块0℃冰放入0℃的水中和把它放水0℃的盐水中现象相同吗?为什么? 为何同温同压下相同体积任何气体物质的量同 下列现象不可能发生的是:A水的沸点低于或高于100摄氏度B-10摄氏度的冰块放在0摄氏度的水中,冰块会融化C物体吸热,温度保持不变D用敞口的锅烧水,当水沸腾后用猛火继续加热,水温不变 把零度的冰放入零度的水中和把它放入零度的盐水中现象相同吗?为什么? 水的浮力的题目潜水员从浅水潜入深水,以下分析体验体验过程正确的是( )A.脚越来越疼,是因为水底对人的支持力越来越大B.脚越来夜疼,因为人受到的重力越来越大C.脚不疼,因为人越来越 lbmol/cuft是密度单位,怎么换算成kg/m³呢 把一块冰放在273K的水中,另一块放在273K的盐水中,各有什么现象? 阿伏伽德罗定理的推论中有同温同压下,气体的体积之比等于物质的量之比.这个气体是同种,还是可以是两...阿伏伽德罗定理的推论中有同温同压下,气体的体积之比等于物质的量之比.这个气 冬天浇筑混凝土后温度达到0度以下,上冻了对混凝土有什么影响会出现什么状况? 物体沉浮与密度的关系?过了当天就没分了. 谁有关于水的浮力的题目的?(简单点) 224毫升某气体在标准状况下的质量为0.32克,该气体的摩尔质量约为 求高中化学各种物质的沉浮(密度)情况例如:四氯化碳比水重,所有的烃比水轻请系统的讲讲,之间的联系,最好分无机有机让我彻底分辨各种物质的沉浮情况 1mol Na,1mol Na+和1mol OH-所含电子的物质的量分别为多少 5克某金属混合物与500毫升,1摩尔/升的盐酸反应,收集到的气体在标准状况下的体积为2.8升,那么这一种金属混合物可能是( )A.铁和锌 B.镁和铝 C.铁、锌和钙 D.镁、铁和锌 物体的沉浮和物体的密度和液体的密度大小有没有关系拜托各位了 3Q我想知道物体的沉浮和物体的密度和液体的密度大小有没有关系.理论上的我懂、但是想知道为什么 顺便提一个题、两个 有木球,铁球,铜球,他们在水中静止情况为:木球漂浮,铁球悬浮,铜球下沉,球一定是空心的. 同温同压下相同体积的某气体与H2的质量之比为22,则该气体的摩尔质量为 冬天在室外晾衣服好吗? 用盐水选种密度1.1*10的3次方,现配500ml盐水,质量0.6kg,问符合要求?如不符合加盐还是水,加多少? 在同温同压的情况下,知道CO2,H2,CO三种气体的混合气体的摩尔质量为28,怎么求三种气体的体积比 有一种气体的质量是14.2克,体积是4.48升,该气体的摩尔质量是? 盐水选种问题中,为什么加水可以使盐水的密度变小,盐水的密度与浓度有关吗? -10摄氏度的冰块放在0摄氏度的水中,冰块会融化吗?-10摄氏度的冰块放在0摄氏度的水中,冰块会融?下列操作不会使汽水中已经溶解的二氧化碳逃逸出来的是 A.打开汽水瓶盖 B.搅拌汽水 C.加热汽 448ML某气体在标准状况下的质量为1.28克,求气体的摩尔质量是32还是64 八上年级科学 水的浮力 15.体积为1000 cm3的物体,放入水池中,处于静止状态,物体受到的浮力为6N,求:(1)物体浸入水中部分的体积是露在外面的体积的几倍?(2)如果将物体全部浸入密度0.8×103kg/m3为
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn