Delphi 如何在打开的文件对话框中仅显示某些文件扩展名?
当我使用OpenDialog打开文件夹时,如何对其进行过滤,以便用户只能查看某些文件(例如Stringgrid,*.sg),并且具有任何其他扩展名的文件不会出现在对话框窗口中?将Delphi 如何在打开的文件对话框中仅显示某些文件扩展名?,delphi,opendialog,Delphi,Opendialog,当我使用OpenDialog打开文件夹时,如何对其进行过滤,以便用户只能查看某些文件(例如Stringgrid,*.sg),并且具有任何其他扩展名的文件不会出现在对话框窗口中?将OpenDialog.filter属性设置为所需的文件过滤器 可以在对象检查器中执行此操作: 单击过滤器属性,您将看到一个小按钮出现在右边缘,… 单击该按钮,您将看到一个对话框出现 左侧是文件的说明(例如,Excel文件(*.xls))。右侧是要使用的过滤器,如*.xls中所示 也可以在显示对话框之前在代码中进行设
OpenDialog.filter
属性设置为所需的文件过滤器
可以在对象检查器中执行此操作:
- 单击
属性,您将看到一个小按钮出现在右边缘,过滤器
…
- 单击该按钮,您将看到一个对话框出现
Excel文件(*.xls)
)。右侧是要使用的过滤器,如*.xls
中所示
也可以在显示对话框之前在代码中进行设置:
OpenDialog1.Filter := 'Excel files (*.xls)|*.xls';
当然,用您想要使用的任何描述和掩码替换Excel文件。使用
过滤器
和过滤器索引
属性指定要显示的文件扩展名(注意,用户可以手动覆盖过滤器)
OnIncludeItem
事件用于有选择地允许/禁止在对话框中列出单个文件/文件夹。否,如果文件位于同一文件夹中,则不能执行第二个操作(基于扩展名以外的内容筛选文件)。但正确的解决方案是为每个用户提供自己的文件夹来存储文件,并使用访问控制(文件夹权限)防止用户看到彼此的文件。我删除了你的第二个问题,因为它与原来的问题太不同了。请在另一个帖子中提问你的其他问题。