home *** CD-ROM | disk | FTP | other *** search
- program DyExampl;
-
- { Example program using Dynamic Arrays
-
- Author: Mike Babulic
- 3827 Charleswood Dr. N.W.
- Calgary, Alberta
- CANADA
- T2L 2C7
-
- Compuserve: 72307,314
-
- Also reachable on a friend's Fido BBS: 1:134/1
- }
-
- uses DyArrays;
-
- const theChar = 100;
-
- type tst = array [1..1000] of char;
- tp = ^tst;
-
- cp = ^char;
-
- procedure WriteTpInfo(a:tp);
- begin
- with DyInfo(a)^ do begin
- writeln;
- writeln('(Size,Mul,Inc,Max) = ( ',size,', ',mul,', ',inc,', ',max,' )');
- end;
- end;
-
- var a:tp;
- b:tp;
-
- i:integer;
-
- oldmax : LongInt;
-
- begin
-
- oldmax := 0;
-
- DyOpen(a,0,1,15);
-
- writeln;
- writeln('Growing the dynamic array...');
- writeln;
-
- for i := 1 to 500 do begin
- DyGrow(a,1);
- with DyInfo(a)^ do begin
- if max>oldmax then begin
- writeln;
- WriteTpInfo(a);
- oldmax := max;
- end;
- end;
- write(i:4);
- a^[i] := chr(i and $FF); {largest character is $FF}
- end;
- writeln;
-
- writeln;
- writeln('a^[',theChar,'] = "',a^[theChar],'"');
- writeln('chr(',theChar,') = "',chr(theChar),'"');
- writeln;
- writeln('Last Character, a^[',DySize(a),'] = "',a^[DySize(a)],'"');
- writeln(' chr(',DySize(a),' and $FF) = "',chr(DySize(a) and $FF),'"');
-
- WriteTpInfo(a);
-
- DyClone(a,b);
-
- writeln;
- writeln('a^[theChar] = "',a^[theChar],'"');
- writeln;
- writeln('cp(dy(b,theChar))^ = "',cp(dy(b,theChar))^,'"');
-
- DyClose(a);
- DyClose(b);
-
- writeln;
-
- end.