我把一些文件名加入到stringlist中
如1.txt、2.txt、10.txt、1101.txt
它不会按照
1.txt
2.txt
10.txt的方法排序怎么样才能生成这样的结果呀
如1.txt、2.txt、10.txt、1101.txt
它不会按照
1.txt
2.txt
10.txt的方法排序怎么样才能生成这样的结果呀
解决方案 »
- 菜鸟枚举问题
- access数据库查询的时间类型问题
- ShellExecute 会返回一个应用程序句柄,如何根据此句柄判断该程序是否还在运行?
- 谈谈个人的将来计划和理想,来者有分,可以再添分!
- 关于文件上传数据库的问题。。。。。。。。
- 请帮个忙!
- 在QuickReport中连续打印,设定了一个自定义的纸张,却按A4的长度进行打印,在线等待。
- 有关FtpServer的问题,高分寻求帮助。
- 关于 uses 问题(在线等待)
- 关于控件中使用hook的问题,(chechy,zswang,windindance你们快来呀看看呀)......
- 关于类方法的调用问题 菜鸟在线求助
- gzip压缩的网页内容怎么解压?
因为TstringList.默认是按ascii排序的!
var
slst : TStringList;
i : Integer;
begin
slst := TStringList.Create; //左边补空格
slst.Add(' 1.txt');
slst.Add(' 10.txt');
slst.Add(' 2.txt');
//排序
slst.Sort;
//读取排序后的结果
for i:=0 to slst.Count-1 do
begin
ShowMessage(Trim(slst.Strings[i]));
end; slst.Free;
end;
slst.Add(' 1.txt');
slst.Add(' 10.txt');
slst.Add(' 2.txt');
1.txt
2.txt
03.txt
111.txt
而补0则比较好看
001.txt
002.txt
101.txt
102.txt
这样你可以将前面的数字字符串转换成整型数组,然后
在CustomSort里面写比较过程