Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2023, 15:26   #11
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
unit MyListSorterUnit;

interface

uses
  System.Generics.Defaults, System.Generics.Collections;

type
  TMySorterForListOf<T> = class
  private
    class procedure UnSafeDoSort (const AList: TList<T>; const AComparer: IComparer<T>); static;
  public
    class procedure DoSort(const AList: TList<T>; const AComparer: IComparer<T> = nil); static;
  end;

implementation

{ TMySorterForListOf<T> }

class procedure TMySorterForListOf<T>.DoSort(const AList: TList<T>; const AComparer: IComparer<T> = nil);
var
  FComparer: IComparer<T>;
begin
  FComparer := AComparer;
  if FComparer = nil then FComparer := TComparer<T>.Default;

  if (AList.Count < 1024) then AList.Sort (FComparer)
                          else UnSafeDoSort (AList, FComparer);
end;

class procedure TMySorterForListOf<T>.UnSafeDoSort(const AList: TList<T>; const AComparer: IComparer<T>);
begin
  // Моя супер-пупер сортировка
end;

end.
И пример использования
Код:
var
{...}
  tmp: TList<TAnyType>;
{...}
begin
{...}
  tmp := TList<TAnyType>.Create ();
{...}
  TMySorterForListOf<TAnyType>.DoSort(tmp);
{...}
Sibedir вне форума Ответить с цитированием
Старый 21.03.2023, 15:40   #12
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

DIONISKA, а вообще желание связываться с хэлперами окончательно отпало после того как почитал комментарии в коде к хэлперам, оставленные разработчиками самим себе И это не камень в адрес разработчиков. Судя по мануалам, хелперы не для пользования программистами, они и есть для самих разработчиков. Камень в их огород у меня в соседней ветке
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Sort shchelelv Microsoft Office Excel 2 07.12.2017 15:07
Метод Sort Vasya25 Microsoft Office Excel 4 21.05.2012 23:19
Создать тип даных: TYPE MyType = от 1 до 150 ArtGrek Общие вопросы Delphi 11 10.01.2012 22:50
Не работает метод SORT leonard Microsoft Office Excel 0 17.05.2011 13:18
TList->Sort ongleb Общие вопросы C/C++ 0 12.03.2010 14:58