delphi:重命名文件
我需要源码:程序说明:比如有文件在C:/tmp/a.mdb,由于此文件实时更新,我想每过5分钟就将它存到另外一个地方,比如D:/tmp目录下,而文件名则为20100510...
我需要源码:
程序说明:比如有文件在C:/tmp/a.mdb,由于此文件实时更新,我想每过5分钟就将它存到另外一个地方,比如D:/tmp目录下,而文件名则为201005102255.mdb,即为日期+时间为文件名;
请问该如何实现
如何实现每过5分钟就保存一次? 展开
程序说明:比如有文件在C:/tmp/a.mdb,由于此文件实时更新,我想每过5分钟就将它存到另外一个地方,比如D:/tmp目录下,而文件名则为201005102255.mdb,即为日期+时间为文件名;
请问该如何实现
如何实现每过5分钟就保存一次? 展开
5个回答
展开全部
在窗体上放置一个Timer,设置Form的OnCreate事件和Timer的OnTimer事件
procedure TForm1.FormCreate(Sender:TObject);
begin
Timer1.Interval := 5*60*1000; // 5分钟
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender:TObject);
begin
CopyFile('C:/tmp/a.mdb',PChar('D:/tmp/'+FormatDateTime('yyyymmddhhnn',Now)+'.mdb'),False);
// 如果是备份的话,就不能只改名了,要保留原数据文件,所以用复制文件比较合适
// 文件名以当前的时间命名
end;
procedure TForm1.FormCreate(Sender:TObject);
begin
Timer1.Interval := 5*60*1000; // 5分钟
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender:TObject);
begin
CopyFile('C:/tmp/a.mdb',PChar('D:/tmp/'+FormatDateTime('yyyymmddhhnn',Now)+'.mdb'),False);
// 如果是备份的话,就不能只改名了,要保留原数据文件,所以用复制文件比较合适
// 文件名以当前的时间命名
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就是定时备份文件,不是重命名。我只讲一个思路,设置2个timer控件,用来检测是否到了5分钟,到了5分钟就自动执行复制代码。
复制就用copyfile函数实现。
复制就用copyfile函数实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你不要用CopyFile这个函数,相当的不稳定,要用shell里带的函数也就是uses
shellapi;
要用到TSHFileOpStruct;这个结构,网上查一下。我也做过类似的项目,凡是拷贝删除文件都不能用windows里的api经常失败
shellapi;
要用到TSHFileOpStruct;这个结构,网上查一下。我也做过类似的项目,凡是拷贝删除文件都不能用windows里的api经常失败
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-05-10
展开全部
var
f1,f2:string;
fdata:textfile;
begin
f1:='C:/tmp/a.mdb';
f2:='d:/tmp/2010.mdb';
assignfile(fdata,f1);
rename(fdata,f2);
end;
f1,f2:string;
fdata:textfile;
begin
f1:='C:/tmp/a.mdb';
f2:='d:/tmp/2010.mdb';
assignfile(fdata,f1);
rename(fdata,f2);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询