17.14 TUnSortedStrCollection

The TUnSortedStrCollection object manages an unsorted list of strings. To this end, it overrides the TStringCollection.Insert (??) method to add strings at the end of the collection, rather than in the alphabetically correct position.

Take care, the Search (615) and IndexOf (596) methods will not work on an unsorted string collection.

Here is the full declaration of the TUnsortedStrCollection object:

 TYPE
    TUnSortedStrCollection = OBJECT (TStringCollection)
       Procedure Insert (Item: Pointer); Virtual;
    END;
    PUnSortedStrCollection = ^TUnSortedStrCollection;

TUnSortedStrCollection.Insert

Declaration:
Procedure TUnSortedStrCollection.Insert (Item: Pointer); Virtual;
Description:
Insert inserts a string at the end of the collection, instead of on it’s alphabetical place, resulting in an unsorted collection of strings.
Errors:
See also:

Listing: objectex/ex39.pp


Program ex39;

{ Program to demonstrate the TUnsortedStrCollection.Insert method }

Uses Objects,Strings;

Var C : PUnsortedStrCollection;
    S : String;
    I : longint;
    P : Pchar;

begin
  Randomize;
  C:=New(PUnsortedStrCollection,Init(120,10));
  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 99 do
    Writeln (I:2,': ',PString(C^.At(i))^ );
  Dispose(C,Done);
end.