delphi 数字文件名排序  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 数字文件名排序


原始文件名列表

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

11.jpg


排序后:

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

11.jpg


//排序函数,作为参数传递给CustomSort方法.降序,如果要升序的话将-1和1调个个就行了,呵呵。

function NumberSort(List: TStringList; Index1, Index2: Integer): Integer;

var

Value1,Value2:Integer;

begin

Value1:=StrToInt(List[Index1].Replace('.jpg','')); // 过滤掉.jpg 否则报错

Value2:=StrToInt(List[Index2].Replace('.jpg','')); // 过滤掉.jpg 否则报错

if Value1>Value2 then

Result:=1

else if Value1<Value2 then

Result:=-1

else

Result:=0;

end;


调用代码:

procedure TForm1.Button5Click(Sender: TObject);

var

txt:tstringlist;

  I: Integer;

begin

txt:=tstringlist.Create;

txt.Text:=memo1.Text;

txt.CustomSort(NumberSort); //Compare SortFilesByName

Memo1.Text:=txt.Text;

end;



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.13300800323486 seconds