delphi savedialog控件,如果要保存的文件已存在,不替换,怎么实现重新输入要保存的文件名,并保存?谢谢

2026年09月22日 02:20
有2个网友回答
网友(1):

这个问题很简单,在SaveDialog.Options中加入ofOverwritePrompt就可以了
代码:
with TSaveDialog.Create(Self) do
begin
Options := [ofOverwritePrompt,ofHideReadOnly,ofEnableSizing];
if Execute then
.......
Free;
end;

用设计器就直接勾选ofOverwritePrompt就好了

效果是,如果选择了已经存在的问题,会跳出一个对话框提示是否覆盖,如果不覆盖,那么重新选择,否则就覆盖。

网友(2):

给你段代码,看是不是这样。
procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.FileName:= '';
if SaveDialog1.Execute then
begin
if FileExists(SaveDialog1.FileName) then
begin
ShowMessage('该文件已存在。');
Button1.Click;
end;
end;
end;