blob: 06c11e438fb633598429d54c8fe5f0402dae4d46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
Program ex36;
{ Program to demonstrate the TSortedCollection.Insert method }
Uses Objects,MyObject,MySortC;
{ For TMyObject,TMySortedCollection definition and registration }
Var C : PSortedCollection;
M : PMyObject;
I : Longint;
Procedure PrintField (Dummy: Pointer;P : PMyObject);
begin
Writeln ('Field : ',P^.GetField);
end;
begin
Randomize;
C:=New(PMySortedCollection,Init(120,10));
C^.Duplicates:=True;
Writeln ('Inserting 100 records at random places.');
For I:=1 to 100 do
begin
M:=New(PMyObject,Init);
M^.SetField(Random(100));
C^.Insert(M)
end;
M:=New(PMyObject,Init);
Repeat;
Write ('Value to search for (-1 stops) :');
read (I);
If I<>-1 then
begin
M^.SetField(i);
If Not C^.Search (M,I) then
Writeln ('No such value found')
else
begin
Write ('Value ',PMyObject(C^.At(I))^.GetField);
Writeln (' present at position ',I);
end;
end;
Until I=-1;
Dispose(M,Done);
Dispose(C,Done);
end.
|