Delphi在保存对话框中覆盖现有文件

Aft*_*age 5 delphi dialog delphi-7

我正在使用TSaveDialog组件来保存按钮单击的文件.但是,我在保存现有文件名时遇到问题.一般情况下,当你想节省超过Windows中的现有文件,弹出一个消息框,询问你,如果你真的想覆盖该文件.TSaveDialog组件不是这种情况,它会继续写入文件而不会询问.

我希望有一个TSaveDialog函数或事件,我可以使用,但我没有看到任何看起来像它处理这个.所以我可能很难找到正确的方法来使用它.如果有事件,我可以使用

if FileExists(saveDialog.FileName) then
  //and so forth
Run Code Online (Sandbox Code Playgroud)

但TSaveDialog的事件是OnCanClose,OnClose,OnFolderChange,OnIncludeItem,OnSelectionChange,OnShow,OnTypeChange ......

我的问题是,如何弹出一个消息框询问用户是否要使用TSaveDialog组件覆盖现有文件.谢谢.

And*_*and 16

saveDialog.Options := saveDialog.Options + [ofOverwritePrompt]在执行对话框之前使用.然后它会询问用户是否要覆盖该文件.

但是你知道TSaveDialog实际上并没有保存文件,对吧?它只显示标准的Windows文件保存对话框,然后返回用户选择的路径.您必须使用此路径手动保存文件,例如MyStringList.SaveToFile(saveDialog.FileName).