|
@@ -1,99 +0,0 @@
|
|
|
-Program TestList;
|
|
|
-
|
|
|
-Uses objpas, classes;
|
|
|
-
|
|
|
-const a1 : pchar = '0';
|
|
|
- a2 : pchar = '1';
|
|
|
- a3 : pchar = '2';
|
|
|
- a4 : pchar = '3';
|
|
|
- a5 : pchar = '4';
|
|
|
- a6 : pchar = '5';
|
|
|
- a7 : pchar = '6';
|
|
|
- a8 : pchar = '7';
|
|
|
- a9 : pchar = '8';
|
|
|
- a10 : pchar = '9';
|
|
|
-
|
|
|
-Var List : TList;
|
|
|
- StartMem,Runner : longint;
|
|
|
-
|
|
|
-Function ACompare (P1,P2 : Pointer) : Integer;
|
|
|
-
|
|
|
-Type PByte = ^Byte;
|
|
|
-
|
|
|
-begin
|
|
|
- Result:=PByte(p1)^-PByte(P2)^;
|
|
|
-end;
|
|
|
-
|
|
|
-Procedure DumpMem;
|
|
|
-
|
|
|
-begin
|
|
|
- Writeln (' Memavail : ',memavail,' (=',StartMem-Memavail,' Bytes lost).')
|
|
|
-end;
|
|
|
-
|
|
|
-Procedure DumpList;
|
|
|
-
|
|
|
-Var I : longint;
|
|
|
-
|
|
|
-begin
|
|
|
- Write ('Count/Capacity : ',List.Count,'/',List.Capacity);dumpmem;
|
|
|
- If List.Count>0 then
|
|
|
- begin
|
|
|
- For i:=0 to List.Count-1 do
|
|
|
- if assigned(List.items[I]) then write (Pchar(List.items[i])) else write ('*');
|
|
|
- Writeln;
|
|
|
- end;
|
|
|
-end;
|
|
|
-
|
|
|
-
|
|
|
-begin
|
|
|
- StartMem:=Memavail;
|
|
|
- Writeln ('Creating List');
|
|
|
- List:=TList.Create;
|
|
|
- DumpList;
|
|
|
- Writeln ('Increasing capacity to 10');
|
|
|
- List.Capacity:=10;
|
|
|
- DumpList;
|
|
|
- Writeln ('Setting capacity to zero');
|
|
|
- List.capacity:=0;
|
|
|
- DumpList;
|
|
|
- Writeln ('Adding 10 elements in random sequence.');
|
|
|
- List.add (a2);
|
|
|
- List.add (a1);
|
|
|
- List.add (a3);
|
|
|
- List.add (a8);
|
|
|
- List.add (a5);
|
|
|
- List.add (a9);
|
|
|
- List.add (a4);
|
|
|
- List.Add (a8);
|
|
|
- List.Add (a7);
|
|
|
- List.Add (a6);
|
|
|
- Dumplist;
|
|
|
- Writeln ('Removing Third element.');
|
|
|
- List.Delete(2);
|
|
|
- DumpList;
|
|
|
- Writeln ('Inserting "0" at third place');
|
|
|
- List.Insert (2,a1);
|
|
|
- DumpList;
|
|
|
- Writeln ('Setting elmts 3 to 6 to Nil.');
|
|
|
- For Runner:=2 to 5 do List.Items[Runner]:=Nil;
|
|
|
- Dumplist;
|
|
|
- Writeln ('Packing list');
|
|
|
- List.Pack;
|
|
|
- DumpList;
|
|
|
- Writeln ('Setting capacity to count');
|
|
|
- List.Capacity:=List.Count;
|
|
|
- DumpList;
|
|
|
- Writeln ('Expanding list');
|
|
|
- List.Expand;
|
|
|
- DumpList;
|
|
|
- Writeln ('Index of ',a1,' : ',List.IndexOf(a1));
|
|
|
- Writeln ('Removing "',A1,'" from list.');
|
|
|
- List.Remove (a1);
|
|
|
- DumpList;
|
|
|
- Writeln ('Sorting List.');
|
|
|
- List.Sort (@ACompare);
|
|
|
- DumpList;
|
|
|
- Writeln ('Freeing list.');
|
|
|
- List.Free;
|
|
|
- DumpMem;
|
|
|
-end.
|