Skip to content

TSortedCollection.Compare

Compare two items in the collection.

Declaration

Source position: objects.pp line 472

default 
  function Compare(Key1: Pointer; Key2: Pointer) : Sw_Integer;  Virtual;

Description

Compare is an abstract method that should be overridden by descendent objects in order to compare two items in the collection. This method is used in the Search method and in the Insert method to determine the ordering of the objects.

The function should compare the two keys of items and return the following function results:

Result < 0
If Key1 is logically before Key2 (Key1<Key2)
Result = 0
If Key1 and Key2 are equal. (Key1=Key2)
Result > 0
If Key1 is logically after Key2 (Key1>Key2)

Errors

An 'abstract run-time error' will be generated if you call TSortedCollection.Compare directly.

See also

Name Description
TSortedCollection.IndexOf Return index of an item in the collection.
TSortedCollection.Search Search for item with given key.

Example

Unit MySortC;
Interface
Uses Objects;
Type
  PMySortedCollection = ^TMySortedCollection;
  TMySortedCollection = Object(TSortedCollection)
       Function Compare (Key1,Key2 : Pointer): Sw_integer; virtual;
       end;
Implementation
Uses MyObject;
Function TMySortedCollection.Compare (Key1,Key2 : Pointer) :sw_integer;
begin
  Compare:=PMyobject(Key1)^.GetField - PMyObject(Key2)^.GetField;
end;
end.