[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'Objects' (#rtl)

TSortedCollection.Compare

Compare two items in the collection.

Declaration

Source position: objects.pp line 437

function TSortedCollection.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

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.
The latest version of this document can be found at lazarus-ccr.sourceforge.net.