如何在打开文件对话框中仅显示特定的文件扩展名?

8
当我使用OpenDialog打开一个文件夹时,如何进行筛选,以便用户只能查看特定类型的文件(例如Stringgrid, *.sg),而其他扩展名的文件不会出现在对话框中?

2
不,如果它们在同一个文件夹中,您不能执行第二步操作(基于除扩展名之外的其他内容过滤文件)。但是,其正确的解决方案是为每个用户提供自己的文件夹来存储文件,并使用访问控制(文件夹权限)来防止用户查看彼此的文件。 - Ken White
1
我已经删除了你的第二个问题,因为它与原来的问题差别太大。请在另一个帖子中提出你的其他问题。 - Rob Kennedy
2个回答

13

OpenDialog.Filter属性设置为所需的文件过滤器。

您可以在对象检查器中完成此操作:

  • 单击Filter属性,您会看到右侧出现有...的小按钮。
  • 单击该按钮,会弹出一个对话框。

左侧是文件的描述(例如,Excel文件(*.xls))。右侧是您想要使用的过滤器,如*.xls

OpenDialog Filter Dialog

您还可以在显示对话框之前在代码中设置它:

OpenDialog1.Filter := 'Excel files (*.xls)|*.xls';

当然,用任何你想使用的描述和掩码替换Excel相关内容。


2
< p > FilterFilterIndex属性用于指定要显示的文件扩展名(请注意,用户可以手动覆盖过滤器)。

OnIncludeItem事件用于选择性地允许/禁止在对话框中列出单个文件/文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接