Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 如何按照选定文件的顺序从TopEndDialog中获取选定文件?_Sorting_Delphi_Delphi Xe7_Tstringlist_Topendialog - Fatal编程技术网

Sorting 如何按照选定文件的顺序从TopEndDialog中获取选定文件?

Sorting 如何按照选定文件的顺序从TopEndDialog中获取选定文件?,sorting,delphi,delphi-xe7,tstringlist,topendialog,Sorting,Delphi,Delphi Xe7,Tstringlist,Topendialog,我在DelphiXe7中使用TopEndDialog组件,因为我想选择一个或多个文件。但是,在我选择它们并单击“确定”后,所选文件已按字母顺序(从A到Z)存储在files属性中,这是我不想要的。我在TOpenDialog控件和TStrings类型中都没有看到任何开关或选项 如何使此组件按照我想要的顺序准确地存储所选文件?系统对话框不跟踪项目的选择顺序。你没有办法让系统对话框告诉你这些信息。如果您真的需要,那么我看到两个选项: 编写自己的对话框,跟踪选择顺序 让用户在“文件选择”对话框之外指定顺序

我在DelphiXe7中使用TopEndDialog组件,因为我想选择一个或多个文件。但是,在我选择它们并单击“确定”后,所选文件已按字母顺序(从A到Z)存储在files属性中,这是我不想要的。我在TOpenDialog控件和TStrings类型中都没有看到任何开关或选项


如何使此组件按照我想要的顺序准确地存储所选文件?

系统对话框不跟踪项目的选择顺序。你没有办法让系统对话框告诉你这些信息。如果您真的需要,那么我看到两个选项:

  • 编写自己的对话框,跟踪选择顺序
  • 让用户在“文件选择”对话框之外指定顺序
    系统对话框不跟踪项目的选择顺序。你没有办法让系统对话框告诉你这些信息。如果您真的需要,那么我看到两个选项:

  • 编写自己的对话框,跟踪选择顺序
  • 让用户在“文件选择”对话框之外指定顺序
    来自操作系统的底层对话框不会跟踪该信息(或者,如果跟踪了,则不会以任何方式公开该信息),并且Delphi提供的包装器类不会为您合成该信息


    您可以使用句柄来推断选择顺序。首先,创建自己的有序列表以保存选定的文件。触发事件后,检查。从内部列表中删除
    文件中不存在的所有条目。对于
    文件
    中您尚未拥有的任何项目,请将它们添加到列表的开头。

    操作系统中的底层对话框不会跟踪该信息(或者,如果它跟踪,则不会以任何方式公开该信息),Delphi提供的包装器类也不会为您合成该信息


    您可以使用句柄来推断选择顺序。首先,创建自己的有序列表以保存选定的文件。触发事件后,检查。从内部列表中删除
    文件中不存在的所有条目。对于
    文件
    中您尚未拥有的任何项目,请将其添加到列表的开头。

    @whosrdaddy No这不是真的。最新添加到选择中的文件位于第一位。其余文件未按选择顺序列出。@然后选择d。对我来说,我现在有了d a b c。我同意这里的“谁爸爸”。在“打开”对话框的编辑框中,按我选择的顺序显示所选文件。但是,此行为不会转换为“文件”属性:(@whosrdaddy现在同意我的观点,已经做了更多的测试。只有你相信系统尊重编辑框中的选择顺序。继续向选择添加越来越多的文件。@whosrdaddy不,不是这样。最近添加到选择中的文件排在第一位。其余文件没有按选择顺序列出@whosrdaddy然后选择d。对我来说,我现在有d a b c。我同意这里的@whosrdaddy。在“打开”对话框的编辑框中,会按照我选择的顺序显示所选文件。但是,此行为不会转换为“文件”属性:(@whosrdaddy现在同意我的观点,已经做了更多的测试。只有你认为系统尊重编辑框中的选择顺序。继续向选择中添加越来越多的文件。考虑到文件属性是自动排序的,你认为它会起作用吗?为什么会影响任何事情?你的列表不会按alp排序从理论上讲。将
    文件的内容与列表的内容进行比较,找出差异。鉴于文件属性是自动排序的,您认为这样做有效吗?为什么会有影响?列表不会按字母顺序排序。将
    文件的内容与列表的内容进行比较列出并识别差异。