如何保存不另存为

Posted

技术标签:

【中文标题】如何保存不另存为【英文标题】:How to Save not Save As 【发布时间】:2010-02-22 15:05:22 【问题描述】:

我正在创建一个富文本框编辑器,需要添加一个保存功能以及另存为。我可以通过使用 savefiledialog 轻松地执行另存为功能,但我不确定没有这个如何保存。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

在某处创建一个字段,例如string filename。最初将其设置为null

打开文档时,将文件名存储在filename 中。

当通过另存为保存文档时,还要将此文件名存储在filename中。

当调用 Save 时,检查 filename 的值。如果是null,则调用另存为。如果不是null,则保存到filename指定的文件名。

【讨论】:

如果你有一个 Load() 来从文件中填充编辑器,那么还要设置那个“文件名”。 谢谢你我所需要的。只是另一个问题。如果您单击“新建文档”按钮并且文本自上次保存以来已更改,我将如何显示消息框。我知道如何处理消息框等,但不仅限于文档已编辑且未保存时..如果您理解..:-S @Pops:当文件更改时,将 UnsavedChanges bool 设置为 true。保存时将其设置为 false。【参考方案2】:

这通常的工作方式是跟踪用户打开或保存的文件名。

然后,当他们使用保存功能时,只需保存到之前指定的文件名即可。如果没有指定文件,则显示另存为。

【讨论】:

【参考方案3】:

“保存”不就是下面的(伪代码)吗?

Save() = 
    WriteTo(oldfilename)

SaveAs() = 
    stream = OpenDialog()
    oldfilename = stream.filename
    Save()

【讨论】:

以上是关于如何保存不另存为的主要内容,如果未能解决你的问题,请参考以下文章

是否可以制作保存按钮(不另存为按钮)以将文档保存在特定路径中?

如何使用 JFileChooser 保存 file.txt?

HTML中保存,另存为,功能是如何实现的

如何修复我的代码,使其同时包含“保存”和“另存为”功能?

GUI设计:合并“保存”和“另存为”

如何点击 IE 下载对话框,即(打开、保存、另存为...)