home *** CD-ROM | disk | FTP | other *** search
- |##########|
- |#MAGIC #|CLABLNCM
- |#PROJECT #|"ImportHelp"
- |#PATHS #|"StdProject"
- |#FLAGS #|xx-x-x--x----xx-----------------
- |#USERSW #|--------------------------------
- |#USERMASK#|--------------------------------
- |#SWITCHES#|xx---xxxxx------
- |##########|
- DEFINITION MODULE DynamicArrays;
-
- EXCEPTION BadSubscript : "Bad subscript";
-
- DEFINITION MODULE DynamicArray(type : ANYPTR);
-
- TYPE
- Array = RECORD
- data : ARRAY [256] OF POINTER TO ARRAY [256] OF type;
- first,
- last : CARDINAL;
- END;
-
-
-
- PROCEDURE Init(VAR a : Array);
-
- PROCEDURE Destruct(VAR a : Array);
-
- PROCEDURE Delete(VAR a : Array);
-
-
- PROCEDURE Put(VAR a : Array;index : CARDINAL;data : type);
-
- PROCEDURE Get(REF a : Array;index : CARDINAL):type;
-
-
- PROCEDURE Next(REF a : Array;old : CARDINAL):CARDINAL;
-
- PROCEDURE Prev(REF a : Array;old : CARDINAL):CARDINAL;
-
- END DynamicArray;
-
-
- DEFINITION MODULE DynamicArray2(type : ANYPTR);
-
- TYPE
- Array = RECORD
- data : ARRAY [16],[16] OF POINTER TO
- ARRAY [16],[16] OF POINTER TO
- ARRAY [16],[16] OF POINTER TO
- ARRAY [16],[16] OF type;
- firstX,
- firstY,
- lastX,
- lastY : CARDINAL;
- END;
-
-
-
- PROCEDURE Init(VAR a : Array);
-
- PROCEDURE Destruct(VAR a : Array);
-
- PROCEDURE Delete(VAR a : Array);
-
-
- PROCEDURE Put(VAR a : Array;x,y : CARDINAL;data : type);
-
- PROCEDURE Get(REF a : Array;x,y : CARDINAL):type;
-
-
- PROCEDURE FirstXatY(REF a : Array;y : CARDINAL):CARDINAL;
-
- PROCEDURE LastXatY(REF a : Array;y : CARDINAL):CARDINAL;
-
- PROCEDURE FirstYatX(REF a : Array;x : CARDINAL):CARDINAL;
-
- PROCEDURE LastYatX(REF a : Array;x : CARDINAL):CARDINAL;
-
-
- PROCEDURE NextX(REF a : Array;x,y : CARDINAL):CARDINAL;
-
- PROCEDURE NextY(REF a : Array;x,y : CARDINAL):CARDINAL;
-
- PROCEDURE PrevX(REF a : Array;x,y : CARDINAL):CARDINAL;
-
- PROCEDURE PrevY(REF a : Array;x,y : CARDINAL):CARDINAL;
-
- END DynamicArray2;
-
- END DynamicArrays.
-
-