我有一个大文本数据文件,其中每一行都是这样的
10005=08/18/09,No BS,25094,wrg1
并且数据无序(即等号前的数字)
我将此文件作为名称值对加载到StringList中。 TStringList排序函数当然不是因为数字是字符串而不是整数。
如何在将它们加载到TStringList之前将它们按顺序排列?
我执行文件的快速函数是否返回了我可以分配给TStringList的TStrings?
thankx
答案 0 :(得分:4)
function StrCmpLogicalW(sz1, sz2: PWideChar): Integer; stdcall;
external 'shlwapi.dll' name 'StrCmpLogicalW';
function MyCompare(List: TStringList; Index1, Index2: Integer): Integer;
begin
Result := StrCmpLogicalW(PWideChar(List[Index1]), PWideChar(List[Index2]));
end;
用法:
StringList.CustomSort(MyCompare);