如何通过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对话框的前提下保存文件
1,Delphi 生成的EXE 文件输出在哪个目录?如何改变?
Delphi 保存文件对话框(SaveDialog)和打开文件对话框(OpenDialog)