[Delphi] 纯文本查看 复制代码 program SortStrings;
{$APPTYPE CONSOLE}
uses
System.SysUtils,
System.Generics.Collections,
System.Generics.Defaults;
// 自定义比较器
function CompareStrings(const Left, Right: string): Integer;
var
LeftNum, RightNum: Integer;
begin
LeftNum := StrToInt(Left.Split(['.']));
RightNum := StrToInt(Right.Split(['.']));
Result := CompareValue(LeftNum, RightNum);
end;
var
StringList: TArray<string>;
SortedList: TArray<string>;
begin
// 初始化字符串数组
StringList := TArray<string>.Create(
'1.大白补丁', '10.沙盘', '12.网络抓包', '13.一机一码', '15.易窗助手',
'16.注册表', '17.查壳相关', '18.TC9.5.1', '19.FileLocatorPro_8.5.2951',
'2.API监控', '20.快速搜索', '21.列依赖相关', '22.算钥查询',
'23.添加区段', '24.资源修改', '25.穷举破解', '26.修复导入表',
'27.反调试', '28.去数字签名', '3.黑客进程', '30.文本编辑',
'31.BeyondCompare', '33.磁盘类', '34.提权', '4.16进制编辑',
'6.汇编比较', '7.灰色按钮', '8.火绒盾', '9.进程监控'
);
// 对数组进行排序
TArray.Sort<string>(StringList, TComparer<string>.Construct(CompareStrings));
// 输出排序后的数组
for var Item in StringList do
WriteLn(Item);
// 释放数组(实际上在这个例子中不需要,因为StringList是局部变量)
// StringList.Free; // 对于局部变量这是不必要的,且会导致编译错误
end.
不知道能运行不 |