0

各行が次のように見えるテキストデータの大きなファイルがあります

10005=08/18/09,No BS,25094,wrg1

データの順序が正しくありません (つまり、等号の前の数値)

このファイルを名前と値のペアとして StringList に読み込みます。数値は整数ではなく文字列であるため、TStringList の並べ替え関数はもちろんそうではありません。

これらを TStringList にロードする前に、これらを順番に並べるにはどうすればよいですか?

TStringList に割り当てることができる TStrings を返す、ファイルを実行する高速関数はありますか?

ありがとう

4

1 に答える 1

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);
于 2013-03-15T07:05:37.457 に答える