35 lines
685 B
ObjectPascal
35 lines
685 B
ObjectPascal
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.
|