Здравствуйте!
Необходимо реализовать сортировку пользовательских итемов TListBox в зависимости от значений их свойств.
Во вложении тестовый пример сортировки по Item.Tag = Random(1000).
Пользовательская функция сортировки:
function TForm1.SortFunc(Item1, Item2: TFmxObject): Integer;
begin
if (Item1 as TListBoxItem).Tag > (Item2 as TListBoxItem).Tag then Result:=1;
if (Item1 as TListBoxItem).Tag < (Item2 as TListBoxItem).Tag then Result:=-1;
if (Item1 as TListBoxItem).Tag = (Item2 as TListBoxItem).Tag then Result:=0;
end;
Вызов сортировки:
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.BeginUpdate;
ListBox1.Sort(SortFunc);
ListBox1.EndUpdate;
end;
К сожалению, сортировка не работает - порядок следования итемов в списке не меняется.
Прошу помочь !
ListSort.zip