gpt4 book ai didi

Delphi TStringList 对名称进行自定义排序

转载 作者:行者123 更新时间:2023-12-02 04:12:23 26 4
gpt4 key购买 nike

我尝试对名称部分的 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)。

最佳答案

排序是通过 QuickSort 完成的。这意味着相同项目的顺序(如排序所示)未定义。

参见Quicksort - Repeated Elements

关于Delphi TStringList 对名称进行自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21556771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com