gpt4 book ai didi

Delphi XE - TObjectList 排序

转载 作者:行者123 更新时间:2023-12-03 14:39:37 27 4
gpt4 key购买 nike

我有一个这样的列表:

FMyScheduleList: TObjectList<TMySchedule>;

它有一个属性:

property ADate: TDate read FDate write FDate;

如何按此属性对列表进行排序?

最佳答案

您必须实现自定义 IComparer 函数,将此实现传递给 Sort System.Generics.Collections.TObjectList的方法类,您可以使用匿名方法和 System.Generics.Defaults.TComparer 来完成此操作就像这样。

FMyScheduleList.Sort(TComparer<TMySchedule>.Construct(
function (const L, R: TMySchedule): integer
begin
if L.ADate=R.ADate then
Result:=0
else if L.ADate< R.ADate then
Result:=-1
else
Result:=1;
end
));

正如@Stefan建议的,您也可以使用在System.DateUtils单元中定义的CompareDate函数。

FMyScheduleList.Sort(TComparer<TMySchedule>.Construct(
function (const L, R: TMySchedule): integer
begin
Result := CompareDate(L.ADate, R.ADate);
end
));

关于Delphi XE - TObjectList 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562873/

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