如何通过delphi保存对话框一次保存多个文件

Posted

技术标签:

【中文标题】如何通过delphi保存对话框一次保存多个文件【英文标题】:How to save multiple files at once through delphi save dialog 【发布时间】:2015-05-15 07:48:46 【问题描述】:

我无法在 delphi 保存对话框中一次保存多个文件。多个文件意味着我想保存文件而不在 delphi TsaveDialog 的“文件名”字段中提及任何内容(或仅提及星号)。请告诉我如何实现这一目标。

【问题讨论】:

【参考方案1】:

当然不是,因为这不是它的目的。您无法从单个保存对话框中获取 多个 文件名。它一次只提供 一个 文件名。这是设计使然。

我怀疑您真正想要的只是提示用户输入文件夹路径。为此使用SelectDirectory() 函数(或直接使用Win32 SHBrowseForFolder() 函数),然后您可以在该文件夹中创建您需要的任何文件。

【讨论】:

你已经把我打败了几分钟。我建议您至少通过提供对 SelectDirectory 文档 (docwiki.embarcadero.com/Libraries/XE7/en/…) 的参考来编辑您的答案,以便 OP 可以选择两种可能的使用方式中的哪一种最适合他。 是的,我同意你的看法。最后一个问题,我们是否可以自定义保存对话框,以便我们可以一次保存多个文件? 修改哪个保存对话框?如果您的意思是默认保存对话框,我认为这是不可能的。 @Ashis 你一直在问同样的问题。你最好解释一下你问的原因并举一个具体的例子。【参考方案2】:

保存对话框不保存文件。它允许用户选择文件名。保存对话框不支持多选,所以如果你想要一个允许多选的文件对话框,你需要一个打开的对话框。但是打开对话框通常用于选择现有文件的名称,而保存对话框可以指定尚不存在的文件的名称。

进入文件对话框时的通配符用于过滤显示的文件列表。文件对话框不会返回包含通配符的文件名。

您想象使用通配符,但您如何能够做到这一点并创建新文件?通配符用于对现有文件进行模式匹配。

也许您需要一个文件夹选择对话框。或者也许您应该询问用户“主”文件的名称,然后使用主文件名作为词干生成“辅助”文件的名称。我猜是因为你没有告诉我们你的问题背后的任何细节。

我的建议是仔细重新考虑您要达到的目标。考虑所有可能的极端情况。探索其他程序使用了哪些 UI 习惯用法。确保您完全了解文件对话框控件的功能。然后设计你的 UI 以适应所有这些限制。

【讨论】:

以上是关于如何通过delphi保存对话框一次保存多个文件的主要内容,如果未能解决你的问题,请参考以下文章

delphi 如何在不打开saveDialog对话框的前提下保存文件

Delphi的保存文件对话框-TsaveDialog

1,Delphi 生成的EXE 文件输出在哪个目录?如何改变?

Delphi 保存文件对话框(SaveDialog)和打开文件对话框(OpenDialog)

怎样才能把delphi中memo中的内容保存为文本文件到“指定的路径下”

javaScript产生一个文件保存对话框