Witam,
posiadam dane w liście:
type
TDane = record
Data: WideString;
ilosc: Double;
opis: WideString;
end;
.
.
.
MojaLista:TList<TDane>;
przy pomocy:
function TForm1.SearchList(data:WideString; Sort:Boolean; List:TList<TDane >): Integer;
var Comparer: IComparer<TDane >;
Dummy: TDane ;
begin
Comparer := TDelegatedComparer<TDane >.Construct(
function (const L, R: TDane ): Integer
begin
Result := Sign(VarToDateTime(L.Data) - VarToDateTime(R.Data));
end
);
if Sort then List.Sort(Comparer);
Dummy.Data := data;
if not List.BinarySearch(Dummy, Result, Comparer) then
Result := -1;
end;
sprawdzam czy data istnieje w moich danych ( w mojej liście) i zwracam jego Id (Id listy).
Chciałbym sprawdzić dla danego przedziału czasu największą ilość w mojej liście. Jak mógłbym to zrobić najbardziej optymalnie ?