* *************************** DNRECL COMMAND FILE ************************** * * dNAMES 1.1 * (c) Copyright 1982 Data Based Solutions * All Rights Reserved * **************************************************************************** STORE ' ' TO which STORE t TO CHANGE SET colon ON @ 13,00 @ 13,3 SAY 'Type "E" to EDIT or "A" to ADD a classification, ' +; ' to abort ' GET which &con READ &coff IF !(which)# 'E' .AND.!(which)# 'A' RELEASE CHANGE SET colon OFF RETURN ELSE STORE $(dsk,2,1)+':dncl' TO recl STORE $(dsk,2,1)+':dnxcl.ndx' TO xrecl STORE $(dsk,2,1)+':dnrecl' TO file SELECT seco IF !(which)= 'E' USE &recl @ 13,00 STORE t TO correct DO WHILE correct STORE ' ' TO number @ 13,00 @ 13,3 SAY 'Enter classification to be edited or ' +; ' ' GET number &con READ &coff IF number= ' ' STORE f TO correct ELSE IF number# '0' LOCATE FOR place=val(number) ENDIF IF eof.OR.number= '0' SET inte OFF @ 13,61 SAY 'INVALID ENTRY' SET inte ON LOOP ELSE @ 13,60 SAY ' ' STORE class TO mclass STORE ' ' TO new @ 13,00 @ 13,3 SAY 'Change from: ' SET inte OFF @ 13,16 SAY mclass SET inte ON @ 13,36 SAY ' to ( to skip) ' GET new &con READ &coff IF new# ' ' REPLACE class WITH new ENDIF ENDIF ENDIF ENDDO WHILE ENDIF IF !(which)= 'A' USE &recl GO BOTTOM STORE # TO end IF end=40 &era SET inte OFF @ 15,15 SAY '*** YOU CANNOT ADD ANYMORE ' +; 'CLASSIFICATIONS ***' @ 17,25 SAY 'Press Any Key To Continue.' SET inte ON SET consol OFF WAIT SET consol ON &era @ 14,9 SAY mcl1 @ 15,9 SAY mcl2 @ 16,9 SAY mcl3 @ 17,9 SAY mcl4 @ 18,9 SAY mcl5 @ 19,9 SAY mcl6 @ 20,9 SAY mcl7 @ 21,9 SAY mcl8 @ 22,9 SAY mcl9 @ 23,9 SAY mcl10 STORE f TO CHANGE LOOP ELSE @ 13,00 STORE t TO correct DO WHILE correct IF end=40 &era SET inte OFF @ 14,21 SAY 'YOU CANNOT ADD ANYMORE CLASSIFICATIONS' SET inte ON STORE f TO correct LOOP ELSE STORE ' ' TO new @ 13,3 SAY 'Enter classification (Not the number). ' +; 'if done. ' GET new &con READ &coff IF new= ' ' STORE f TO correct ELSE APPEND BLANK STORE # TO end STORE # TO endcl REPLACE place WITH # REPLACE class WITH new ENDIF ENDIF ENDDO WHILE ENDIF ENDIF IF CHANGE @ 13,00 SET inte OFF @ 13,25 SAY '*** ONE MOMENT PLEASE ***' SET inte ON INDEX ON class TO &xrecl USE &recl INDEX &xrecl COPY TO diff USE diff COPY TO &recl DELETE FILE &xrecl SELECT PRIMARY USE &file GO TOP SELECT seco USE &recl GO BOTTOM DELETE FILE diff RELEASE a1,a2,b1,b2,c1,c2,open,new,number,CHANGE,mcl1,mcl2,mcl3,; mcl4,mcl5,mcl6,mcl7,mcl8,mcl9,mcl10,recl,file,xrecl STORE #+1 TO end STORE 1 TO mom STORE 1 TO where DO WHILE mom<11 IF mom>0.AND.mom<10 STORE 'CL' +str(mom,1) TO var ELSE STORE 'CL' +str(mom,2) TO var ENDIF DO WHILE where < end SELECT seco IF where=mom GO mom ELSE GO where ENDIF STORE $(str(place,2)+ '>' +class+ ' ' ,1,16) ; TO mclass SELECT seco IF where>=1.AND.where<=10 REPLACE &var WITH mclass ELSE IF where>=11.AND.where<=20 STORE $(&var,1,16)+mclass TO mclass REPLACE &var WITH mclass ELSE IF where>=21.AND.where<=30 STORE $(&var,1,32)+mclass TO mclass REPLACE &var WITH mclass ELSE IF where>=31.AND.where<=40 STORE $(&var,1,48)+mclass TO mclass REPLACE &var WITH mclass ENDIF ENDIF ENDIF ENDIF STORE where+10 TO where ENDDO WHILE STORE mom+1 TO mom STORE mom TO where ENDDO WHILE RELEASE number,new,var,mom,where,end,CHANGE,mclass,recl,file,xrecl STORE trim(cl1) TO mcl1 STORE trim(cl2) TO mcl2 STORE trim(cl3) TO mcl3 STORE trim(cl4) TO mcl4 STORE trim(cl5) TO mcl5 STORE trim(cl6) TO mcl6 STORE trim(cl7) TO mcl7 STORE trim(cl8) TO mcl8 STORE trim(cl9) TO mcl9 STORE trim(cl10) TO mcl10 &era @ 14,9 SAY mcl1 @ 15,9 SAY mcl2 @ 16,9 SAY mcl3 @ 17,9 SAY mcl4 @ 18,9 SAY mcl5 @ 19,9 SAY mcl6 @ 20,9 SAY mcl7 @ 21,9 SAY mcl8 @ 22,9 SAY mcl9 @ 23,9 SAY mcl10 ENDIF STORE $(dsk,2,1)+ ':dnn' TO a1 STORE $(dsk,2,1)+ ':dnxn' TO a2 STORE $(dsk,2,1)+ ':dnc' TO b1 STORE $(dsk,2,1)+ ':dnxc' TO b2 STORE $(dsk,2,1)+ ':dnmc' TO c1 STORE $(dsk,2,1)+ ':dnxmc' TO c2 STORE $(dsk,2,1)+ ':dnmem' TO mem STORE t TO open ENDIF STORE t TO correct SELECT PRIMARY SET colon OFF RETURN