Правильная ссылка на эту страницу
http://az-design.ru/Support/SoftWare/Delphi/D3/SB07Sort.shtml

Глава 7. TList.Sort

Метод Sort

Затрагиваемые объекты Tlist и его потомки
Назначение Метод Sort сортирует индекс, поддерживаемый списком.
Объявление procedure Sort(Compare: TListSortCompare);
Параметры  
    Compare Функция, которая выполняет процедуру сравнения для целей сортировки.
Пример синтаксиса
function MySort(Iteml, Item2: Pointer): Integer;
var
   Form1: TForm1;
   MyList: TList;
   MyObject1: TMyObject;
   MyObject2: TmyObject;
// . . .

implementation
{$R *.DFM}
 
function MySort(Iteml, Item2: Pointer): Integer;
begin
   if (TMyObject(Iteml.MyValue) < (TMyObject(Item2).MyValue)
     then Result := -1
     else if (TMyObject(Item1).MyValue)>(TMyObject(Item2).MyValue)
             then Result := 1
             else Result := 0;

end;
procedure TForm1.FormCreate(Sender: TObject);
var
   X, Y: integer;

begin
   MyList := TList.Create;
   MyObjectl := TMyObject.Create;
   MyObject2 := TMyObject.Create;
// . . . MyList.Sort(MySort);
// После сортировки списка поместить значения в окно списка
   for х := 0 to MyList.Count - 1 do
     ListBoxl.Items.Add(IntToStr(TMyObject(MyList.Items[x].MyValue));

end;
Описание

       Пользователь должен написать собственную функцию сравнения Compare, определяющую то, как должны быть упорядочены элементы индекса. Sort имеет тип TListSortCompare, который объявлен как

TListSortCompare = function(Iteml, Item2: Pointer): Integer;

       Функция типа TListSortCompare должна возвращать значение, меньшее нуля, если Iteml появляется перед Item2 в отсортированном порядке, значение, равное нулю, если Iteml равен Item2 и значение, большее нуля, если Iteml должен появляться после Item2.

[Метод Add] [Свойство Capacity] [Метод Clear] [Свойство Count] [Метод Delete] [Метод Exchange] [Метод Expand] [Метод First] [Метод IndexOf] [Метод Insert] [Свойство Items] [Метод Last] [Свойство List] [Метод Move] [Метод Pack] [Метод Remove] [Метод Sort]


<<< Пред. Оглавление
Начало раздела
След. >>>




Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:55 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/SoftWare/Delphi/D3/SB07Sort.shtml