我可以对字符串列表进行排序,但是如何对自定义文件名进行排序

时间:2019-04-28 18:20:50

标签: sorting delphi tstringlist delphi-10.3-rio

我想按数字对以下列表进行排序。

我尝试了以下代码。

  Path := extractFilePath(OpenDialog1.FileName);
  for Path in TDirectory.GetFiles(Path) do
    mmResults.Lines.Add(Path);
  // Sorting mmResults
  lstSort := Tstringlist.create;
  lstSort.Sorted := true;
  lstSort.AddStrings(mmResults.Lines);
  lstSort.Sort;
  mmResults.Lines := lstSort;
  lstSort.free;

以下是mmResults的输出

C:\Data\RUN2_1_0.xml
C:\Data\RUN2_10_0.xml
C:\Data\RUN2_11_0.xml
C:\Data\RUN2_12_0.xml
C:\Data\RUN2_2_0.xml
C:\Data\RUN2_3_0.xml
C:\Data\RUN2_4_0.xml
C:\Data\RUN2_5_0.xml
C:\Data\RUN2_6_0.xml
C:\Data\RUN2_7_0.xml
C:\Data\RUN2_8_0.xml
C:\Data\RUN2_9_0.xml

我想要的结果

C:\Data\RUN2_1_0.xml
C:\Data\RUN2_2_0.xml
C:\Data\RUN2_3_0.xml
C:\Data\RUN2_4_0.xml
C:\Data\RUN2_5_0.xml
C:\Data\RUN2_6_0.xml
C:\Data\RUN2_7_0.xml
C:\Data\RUN2_8_0.xml
C:\Data\RUN2_9_0.xml
C:\Data\RUN2_10_0.xml
C:\Data\RUN2_11_0.xml
C:\Data\RUN2_12_0.xml

这可能吗? 谢谢。

0 个答案:

没有答案