Delphi 像Windows一样 新建文件时重复时 重命名文件名
请看Windows在新建Text文本时是如何工作的?
情况一:
第1次新建一个Txt文本 文件名为 新建文本文档
第2次新建一个Txt文本 文件名为 新建文本文档 (2)
第3 次新建一个Txt文本 文件名为 新建文本文档 (3)
...
第n 次新建一个Txt文本 文件名为 新建文本文档 (n)
情况二:
第1次新建一个Txt文本 文件名为 新建文本文档
第2次新建一个Txt文本 文件名为 新建文本文档 (2)
第3 次新建一个Txt文本 文件名为 新建文本文档 (3)
...
第n 次新建一个Txt文本 文件名为 新建文本文档 (n)
假设把 新建文本文档 这个文件删除 再次新建文件时的文件名又会是 新建文本文档
Windows在创建文件时会判断某个文件是否存在,请问如何用Delphi实现这样的功能?
保存文件就用Memo1.Lines.SaveToFile( );行了
如何实现这个 文件重命名是关键
DELPHI?
[解决办法]
var
Buf: TStringList;
i: Integer;
S, s1, sName, sExt: AnsiString;
begin
sExt := '.txt';
sName := '新建文本文件';
s := sName + sExt;
i := 1;
if FileExists(s) then
begin
begin
s1 := sName + '(' + inttostr(i) + ')' + sExt;
while FileExists(s1) do
begin
Inc(i);
s1 := sName + '(' + inttostr(i) + ')' + sExt;
end;
end;
begin
Buf := TStringList.Create;
Buf.SaveToFile(s1);
Buf.Free;
end;
end
else
begin
Buf := TStringList.Create;
Buf.SaveToFile(s);
Buf.Free;
end;
end;