【问题标题】:Delphi overwrite existing file on save dialogDelphi 在保存对话框上覆盖现有文件
【发布时间】:2010-03-31 15:05:06
【问题描述】:

我正在使用 TSaveDialog 组件通过单击按钮来保存文件。但是,我无法保存现有文件名。通常,当您要在 Windows 中保存现有文件时,会弹出一个消息框,询问您是否真的要覆盖该文件。 TSaveDialog 组件不是这种情况,它会在不询问的情况下继续写入文件。

我希望有一个可以使用的 TSaveDialog 函数或事件,但我没有看到任何看起来可以处理此问题的东西。所以可能是我根本没有找到正确的使用方法。如果有活动,我可以使用

if FileExists(saveDialog.FileName) then
  //and so forth

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

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

【问题讨论】:

    标签: delphi dialog delphi-7


    【解决方案1】:

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

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

    【讨论】:

    • @Andreas 啊!一直都是财产?嗯,我有一种感觉,这很简单。我确实理解您回答的第二部分。我有这个功能工作。感谢您的帮助和快速响应。
    猜你喜欢
    • 1970-01-01
    • 2019-10-10
    • 2018-08-22
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    相关资源
    最近更新 更多