在我使用SaveToFile函数时,如果当前的目录已经存在了一个与我指定的文件名相同,并且当前目录存在的这个文件是只读文件,那么这时我的SaveToFile会失败。
我要解决的问题是要在SaveToFile('c:\a.txt')时如果存在了a.txt,那么重命名未a(1).txt;
再如果此时c盘不仅有a.txt,还有a(1).txt那么就重命名为a(2).txt或者a(1)(1).txt 依此类推,一直到保存成果为之。
我要解决的问题是要在SaveToFile('c:\a.txt')时如果存在了a.txt,那么重命名未a(1).txt;
再如果此时c盘不仅有a.txt,还有a(1).txt那么就重命名为a(2).txt或者a(1)(1).txt 依此类推,一直到保存成果为之。
解决方案 »
- an error occurred while attempting to initalize the borland database engine
- 数据库过程增减建库如何设计
- 为什么说ADOQuery1 ;Field 'SCOR ' not found
- 关于FASTREPORT在有些计算机上无法正常打印的问题,急!!!UP有分。
- -==怎样在DLL中将Spcomm收到的数据传出去?==--
- tchart绘制甘特图方法
- 扩展cxDBLookupComboBox,使其按拼音首字查找、五笔首字查找、原文查找(未完成,刚写了个皮毛,希望大家一起完成)
- ?怎样建立一个单元文件?
- 在cds数据文件中可以使用查询吗??
- 如何将excel的内容导到数据库中,什么数据库都可以
- select 语句简单问题
- 高手请进,当ICMP出口屏蔽的时候,如何检测网络是否通?
//组合成件名
//MakeFileNameUnique(FileName="TestFile.txt",iUnique=1)
// FileNameNoExt="TestFile"
// FileExt=".txt"
//return "TestFile(1).txt"
AnsiString MakeFileNameUnique(const AnsiString FileName,const int iUnique)
{
return ChangeFileExt(FileName,"")+"("+IntToStr(iUnique)+")"+ExtractFileExt(FileName);
}
AnsiString GetUniqueFileName(const AnsiString FileName)
{
AnsiString Result=FileName;
if(!FileExists(Result))
//给定的文件不存在,则表示该文件名可以使用
return Result; int N=0;
//如果FileName.Ext存在,则编码为FileName(Index).Ext
//如 TestFile.txt.bak存在,就测试 TestFile.txt(1).bak
//直到TestFile.txt(N).bak不存在为止
Result=MakeFileNameUnique(FileName,++N);
while(FileExists(Result))
Result=MakeFileNameUnique(FileName,++N);
return Result;
}
//组合成件名
//MakeFileNameUnique(FileName="TestFile.txt",iUnique=1)
// FileNameNoExt="TestFile"
// FileExt=".txt"
//return "TestFile(1).txt"
function MakeFileNameUnique(const FileName:string,
const iUnique:integer):string;
begin
Result:=ChangeFileExt(FileName,'')+'('+IntToStr(iUnique)+')'+ExtractFileExt(FileName);
end;
function GetUniqueFileName(const FileName:string):string;
var
N:ineger;
begin
Result:=FileName;
if not FileExists(Result) then
//给定的文件不存在,则表示该文件名可以使用
exit; N:=1;
//如果FileName.Ext存在,则编码为FileName(Index).Ext
//如 TestFile.txt.bak存在,就测试 TestFile.txt(1).bak
//直到TestFile.txt(N).bak不存在为止 Result:=MakeFileNameUnique(FileName,N);
while FileExists(Result) do
begin
inc(N);
Result:=MakeFileNameUnique(FileName,N);
end;
end;
DeleteFile
RenameFile至于你说的a1 a2的判断,用一个简单的while语句判断就可以了
DeleteFile
RenameFile