Insert an element at a certain position in the collection.
Source position: objects.pp line 470
procedure TCollection.AtInsert( |
Index: Sw_Integer; |
Item: Pointer |
); |
AtInsert inserts Item in the collection at position Index, shifting all elements by one position. In case the current limit is reached, the collection will try to expand with a call to SetLimit
If Index isn't valid then Error is called with CoIndexError. If the collection fails to expand, then coOverFlow is passed to Error.
|
Insert a new item in the collection at the end. |
Program ex34; { Program to demonstrate the TCollection.AtInsert method } Uses Objects,MyObject; { For TMyObject definition and registration } Var C : PCollection; M : PMyObject; I : Longint; Procedure PrintField (Dummy: Pointer;P : PMyObject); begin Writeln ('Field : ',P^.GetField); end; begin Randomize; C:=New(PCollection,Init(120,10)); Writeln ('Inserting 100 records at random places.'); For I:=1 to 100 do begin M:=New(PMyObject,Init); M^.SetField(I-1); If I=1 then C^.Insert(M) else With C^ do AtInsert(Random(Count),M); end; Writeln ('Values : '); C^.Foreach(@PrintField); Dispose(C,Done); end.