37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			OpenEdge ABL
		
	
	
	
	
	
42000 #include "rundecs.h"
 | 
						|
42010     (*  COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER  *)
 | 
						|
42020 (**)
 | 
						|
42030 (**)
 | 
						|
42040 FUNCTION PCOLLST(TEMPLATE: DPOINT): ASNAKED;
 | 
						|
42050 (*PPREPSTRDISP*)
 | 
						|
42060   VAR TEMP: NAKEGER;
 | 
						|
42070       STRUCTSIZE: INTEGER;
 | 
						|
42080       NEWSTRUCT: OBJECTP;
 | 
						|
42090     BEGIN WITH TEMP.NAK DO
 | 
						|
42100       BEGIN
 | 
						|
42110       STRUCTSIZE := TEMPLATE^[0]+STRUCTCONST;
 | 
						|
42120  (*+11() TEMP.ASNAK := 0; ()+11*)
 | 
						|
42130       ENEW(NEWSTRUCT, STRUCTSIZE); POINTER := INCPTR(NEWSTRUCT, STRUCTCONST);
 | 
						|
42140       STOWEDVAL := NEWSTRUCT;
 | 
						|
42150       WITH NEWSTRUCT^ DO
 | 
						|
42160         BEGIN
 | 
						|
42170 (*-02()   FIRSTWORD := SORTSHIFT * ORD(STRUCT); ()-02*)
 | 
						|
42180 (*+02()   PCOUNT:=0; SORT:=STRUCT; ()+02*)
 | 
						|
42190           LENGTH := STRUCTSIZE; DBLOCK := TEMPLATE
 | 
						|
42200        END;
 | 
						|
42210       END;
 | 
						|
42220     PCOLLST := TEMP.ASNAK;
 | 
						|
42230     END;
 | 
						|
42240 (*-05()
 | 
						|
42250 FUNCTION NAKPTR(NAK: NAKED): OBJECTP;
 | 
						|
42260 (*PNAKEDPTR*)
 | 
						|
42270   VAR TEMP: NAKEGER;
 | 
						|
42280     BEGIN NAKPTR := NAK.STOWEDVAL END;
 | 
						|
42290 ()-05*)
 | 
						|
42300 (**)
 | 
						|
42310 (**)
 | 
						|
42320 (*-02() BEGIN END ; ()-02*)
 | 
						|
42330 (*+01()
 | 
						|
42340 BEGIN (*OF MAIN PROGRAM*)
 | 
						|
42350 END (*OF EVERYTHING*).
 | 
						|
42360 ()+01*)
 |