如何从TOpenDialog中选择的文件完全按照它们被选中的顺序?

时间:2016-05-12 07:31:34

标签: sorting delphi delphi-xe7 tstringlist topendialog

我在Delphi XE7中使用TOpenDialog组件,因为我想选择一个或多个文件。但是,在我选择它们并单击“确定”后,所选文件的存储已经按字母顺序排列,从A到Z,在文件属性中,我不想要的东西。我没有在 TOpenDialog 控件中找到任何开关或选项,也没有在 TStrings 类型中看到任何开关或选项。

如何让这个组件按照我想要的顺序存储所选文件?

2 个答案:

答案 0 :(得分:3)

系统对话框不会跟踪选择项目的顺序。您无法通过系统对话框告诉您该信息。如果你真的需要那么我会看到两个选择:

  1. 编写自己的对话框,跟踪选择顺序。
  2. 让用户在文件选择对话框外指定顺序。

答案 1 :(得分:3)

来自操作系统的底层对话框不会跟踪该信息(或者如果它没有,它不会以任何方式公开它),并且Delphi提供的包装类没有&#39 ;为你合成它。

您可以处理the OnSelectionChange event来推断选择顺序。首先创建自己的有序列表来保存所选文件。触发事件后,请检查the dialog's Files property。从内部列表中删除Files中未出现的所有条目。对于Files中您尚未拥有的任何项目,请将其添加到列表的头部。