加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

排序 – Delphi XE2按文件名排序Tstringlist

发布时间:2020-12-15 04:10:55 所属栏目:大数据 来源:网络整理
导读:我有一系列具有各种文件路径和文件名的文件,所有文件名都有相同的扩展名,但目录名称或路径都不同,并设置了将文件加载到Tstringlist中,我试图将它们排序为文件名顺序,即使它们也有路径. 以下是Tstringlist中字符串的示例: – c:directory 1AboutUs.lnkc:d
我有一系列具有各种文件路径和文件名的文件,所有文件名都有相同的扩展名,但目录名称或路径都不同,并设置了将文件加载到Tstringlist中,我试图将它们排序为文件名顺序,即使它们也有路径.

以下是Tstringlist中字符串的示例: –

c:directory 1AboutUs.lnk
c:directory somethingAAHelp.lnk
c:directory anythingAAATalk.lnk

当按字符串的文件名部分排序时,我想最终得到.

c:directory anythingAAATalk.lnk
c:directory somethingAAHelp.lnk
c:directory 1AboutUs.lnk

换句话说,我希望能够通过字符串的文件名部分对路径进行排序.

任何帮助,将不胜感激!.

解决方法

使用TStringList.CustomSort():
function Compare(List: TStringList; Index1,Index2: Integer): Integer;
begin
  Result := CompareStr(
    LowerCase(ExtractFileName(List[Index1])),LowerCase(ExtractFileName(List[Index2]))
  );
end;

// Then,just call:
YourStrList.CustomSort(Compare);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读