Sign in Join
FPDoc Onlineexperiment

TStringCollection.Compare function

Member of TStringCollectionIn unit Objects

Compare two strings in the collection.

Declaration

pascal
function Compare(Key1: Pointer; Key2: Pointer): Sw_Integer; virtual

Description

TStringCollection overrides the Compare function so it compares the two keys as if they were pointers to strings. The compare is done case sensitive. It returns the following results:

-1
if the first string is alphabetically earlier than the second string.
0
if the two strings are equal.
1
if the first string is alphabetically later than the second string.

Errors

None.

See also

Example: ex37

pascal
Program ex37;

{ Program to demonstrate the TStringCollection.Compare method }

Uses Objects;

Var C : PStringCollection;
    S : String;
    I : longint;

begin
  Randomize;
  C:=New(PStringCollection,Init(120,10));
  C^.Duplicates:=True; { Duplicates allowed }
  Writeln ('Inserting 100 records at random places.');
  For I:=1 to 100 do
    begin
    Str(Random(100),S);
    S:='String with value '+S;
    C^.Insert(NewStr(S));
    end;
  For I:=0 to 98 do
    With C^ do
    If Compare (At(i),At(I+1))=0 then
      Writeln ('Duplicate string found at position ',i);
  Dispose(C,Done);
end.

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.