【发布时间】:2014-02-04 15:41:15
【问题描述】:
我尝试在名称部分对 TStringList 进行排序。为此,我使用 customSort 方法。
我给你看一个小例子:
function CompareString(List : TStringList; Index1, Index2 : integer) : integer;
begin
result := AnsiCompareText(List.Names[Index1], List.Names[Index2]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.Clear;
Liste.CustomSort(CompareString);
Memo2.Lines.Append(Liste.GetText)
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Liste := TStringList.Create;
Liste.Append('INFOS_NEGOCE=NUM_CDE');
Liste.Append('INFOS_NEGOCE=DATE_CDE');
Liste.Append('INFOS_NEGOCE=NOM_REPERTOIRE_ENT');
Liste.Append('INFOS_NEGOCE=NOM_CONTACT');
Memo1.Lines.Clear;
Memo1.Lines.Append(Liste.GetText)
end;
排序给我这个结果:
INFOS_NEGOCE=NOM_REPERTOIRE_ENT
INFOS_NEGOCE=NOM_CONTACT
INFOS_NEGOCE=NUM_CDE
INFOS_NEGOCE=DATE_CDE
我认为排序不会改变行的顺序(名称总是INFOF_NEGOCE)。
【问题讨论】:
-
你期待什么结果?另外,你知道
TStringList上有一个Sort方法吗? -
你有什么问题?
标签: delphi sorting tstringlist