存盘文件名的取法?(100分)

  • 主题发起人 主题发起人 杰克
  • 开始时间 开始时间

杰克

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个备份程序,每天备份的文件名都不同,就象联众军棋里一样在游戏结束时自己取个名字存在指定的目录里
帮最好能给出详细地程序写法,谢谢!!!
 
你是要自己定名还是要机器自己定名?自己定名就不说了,你可以自己输入.若要电脑自己定
名,你可以根据当前是哪一天,哪一分甚至哪一秒定名,不是就很清楚了?
var filename:string;
begin
filename='BackUp'+FormatDatetime('yymmdd-hhmmss',now);
...
end;
不就行了?
 
呵呵,我就是要电脑帮我命名呀,
 
可以根据时间来生成文件名
或者来一招绝的,生成GUID,再用作文件名。
 
从容1开始,保存一次累加一次!
 
你可以用事件,没有重复的。
你也可以用数字累加的方式。
 
嘿嘿,我有一个方法,把文件都保存成save00001.bak的形式,Apath为路径,例如“c:/”
function GetFileName:string;
var
FSearchRec,DSearchRec:TSearchRec;
f:file of byte;
Filename:string;
begin
Filename:=string;
findresult:=findfirst(Apath+'save*.bak',faanyfile,fsearchrec);
try
while findresult=0 do
begin
filename:=fsearchrec.Name;
assignfile(f,Apath+fsearchrec.Name);
Reset(f);
closefile(f);
findresult:=findnext(fsearchrec)
end;
findresult:=findfirst(apath+'save*.bak',fadirectory,dsearchrec);
while findresult=0 do
findresult:=findnext(dsearchrec);
finally
findclose(fsearchrec);
end;
if filename='' then
filename:='save000001.bak'
else
filename:='save'+formatfloat('000000',strtoint(copy(filename,5,6))+1)+'.bak';
result:=filename;
end;
 
多人接受答案了。
 
后退
顶部