原始文件名列表
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