DELPHI TOBJECTLIST СОРТИРОВКА
В Delphi TList представляет собой список, содержащий указатели на объекты. Однако, когда дело доходит до сортировки списка, TList оставляет эту задачу в ваших руках. Это означает, что вам нужно написать код для сравнения элементов списка, чтобы сортировка корректно работала. Одним из способов справиться с этим может быть использование TobjectList.
TobjectList является более удобной и безопасной заменой TList. Когда дело доходит до сортировки TobjectList, вы можете указать, какой метод сравнения использовать. У TobjectList есть дополнительный параметр сравнения в его конструкторе. Если определенный метод сравнения не указан, TobjectList будет использовать общий метод сравнения для типа объекта.
При использовании TobjectList вам нужно определить функцию сравнения, которая будет использоваться для сортировки списка. Эта функция должна принимать два указателя на объект и возвращать результат, указывающий, какой из них должен идти первым. Результат должен быть отрицательным, если первый объект меньше второго, положительным, если первый объект больше второго и равным нулю, если они равны.
Вот пример кода, использующего TobjectList, для сортировки списка объектов TPerson по их именам:
function TPerson.Compare(const A, B: Pointer): Integer;
begin
Result := CompareText(TPerson(A^).Name, TPerson(B^).Name);
end;
// Использование
var
List: TObjectList;
begin
List := TObjectList.Create;
try
List.Add(TPerson.Create('Bob'));
List.Add(TPerson.Create('Alice'));
List.Add(TPerson.Create('Charlie'));
// Сортировка по имени
List.Sort(TPerson.Compare);
// ...
finally
List.Free;
end;
end;
DELPHI Урок 4 Поиск по БД, быстрый поиск по БД
Listview - Delphi Tutorial
DELPHI Урок 5 Создание отчета, экспорт отчета, печать отчета (FastReport)
#6 Программирование в Delphi. Массивы
Delphi мертв?
Программирование в Delphi Урок 3 2 Работа с текстом, строковые функции Length, Pos и другие
#11 Программирование в Delphi. ООП. Классы
Построение графиков функции в Delphi часть 1