REM NADMAIL.BAS * PROGRAM TO PRINT NAME & ADDRESSES ON LABELS REM * 2400 REM 05 29 83 * J.BUTLER REM SYSTEM CONTROL PROGRAM NUMBER : REM COMMONS GO HERE COMMON CLEAR$,NAME$,LINE$,DEMO$,CRSR$,EOL$,DATE$,ID$,SCRPARA,EOS$ COMMON ROWOFF,COLOFF,DIO REM DIMENSIONS GO HERE DIM MONTHS$(12),CA$(10) REV$="052983" BLANK$=" ":ERR=1 7 REM OPEN PARTICULAR FILE HERE ERR=5.1 IF END #1 THEN 9992 OPEN "NAD.FIL" RECL 224 AS 1 GOTO 11 8 REM VERTICAL CURSOR POSITIONING ROUTINE FOR ZZ=1 TO VV:PRINT:NEXT ZZ:RETURN 9 REM DATE FORMATTING ROUTINE DATE$=MID$(P$,1,2)+"-"+MID$(P$,3,2)+"-"+MID$(P$,5,2) RETURN 10 REM CURSOR ADDRESS IF SCRPARA=1 THEN \ PRINT CRSR$;CHR$(ROW+ROWOFF);CHR$(COLUMN+COLOFF);:RETURN PRINT CRSR$;CHR$(COLUMN+COLOFF);CHR$(ROW+ROWOFF);:RETURN 11 REM START-END ROUTINE HERE PRINT CLEAR$:PRINT TAB(40-LEN(NAME$)/2);NAME$ PRINT TAB(40-LEN(NAME$)/2);LINE$ PRINT TAB(2);"MAILING LABELS REPORT";TAB(62);"DATE:";DATE$:VV=7:GOSUB 8 PRINT TAB(25);"STARTING RECORD NO:";:INPUT "";LINE START$ IF START$="END" OR START$="STOP" THEN 9990 IF LEN(START$)=0 OR START$="1" THEN START$="2" IF VAL(START$)=0 THEN 11 PRINT:START=VAL(START$) IF VAL(START$)<>INT(VAL(START$)) THEN 11 PRINT TAB(25);"ENDING RECORD NO:";:INPUT "";LINE RECEND$ IF ONCE=1 THEN RECEND$=STR$(RECEND):GOTO 11.5 IF LEN(RECEND$)=0 THEN GOSUB 13:ONCE=1 11.5 PRINT:RECEND=VAL(RECEND$) IF VAL(RECEND$)<>INT(VAL(RECEND$)) THEN 11 12 COLUMN=14:ROW=21:GOSUB 10:PRINT EOS$; PRINT "DEPRESS 'RETURN' WHEN PRINTER IS READY";:Y%=CONCHAR% GOTO 15 13 RECEND%=0 IF END #1 THEN 14 FOR F%=14 TO 1 STEP-1 READ #1,2^F%+RECEND%;LINE X$ RECEND%=RECEND%+2^F% 14 NEXT F% RECEND$=STR$(RECEND%):RETURN 15 REM PRINT GENERATION HERE K1=1:M1=0:REC1=START:SUBTOTAL=0:GRANDTOTAL=0:LPRINTER 20 GOSUB 1000 TEMP=LEN(CA$(1)+CA$(2)+CA$(3)+CA$(4)+CA$(5)+CA$(6)) IF TEMP<1 THEN 50 GOTO 60 50 REC1=REC1+1 IF REC1>RECEND THEN 200 GOTO 20 60 IF M1>0 THEN 100 GOSUB 500 100 REM PRINT ONE LINE ON SHEET IF M1>=55 THEN PRINT CHR$(12):GOSUB 500:M1=0 PRINT TAB(2);CA$(1):PRINT TAB(2);CA$(2) IF LEN(CA$(3))=0 THEN 110 PRINT TAB(2);CA$(3) 110 TEMP$=CA$(4)+", "+CA$(5)+". "+CA$(6) PRINT TAB(2);TEMP$ IF LEN(CA$(3))=0 THEN PRINT REM SUBTOTAL=SUBTOTAL + .... PRINT:PRINT:M1=6:GOTO 50 200 CONSOLE:GOTO 11 500 REM PRINT HEADING INFO M1=1:RETURN 600 REM SUBTOTAL ROUTINE IF SUBTOTAL=0 THEN RETURN PRINT TAB(114);"SUBTOTAL";:PRINT USING S4$;ABS(SUBTOTAL) PRINT:PRINT:GRANDTOTAL=GRANDTOTAL+SUBTOTAL:M1=M1+5 SUBTOTAL=0:RETURN 700 IF GRANDTOTAL=0 THEN RETURN PRINT:PRINT TAB(114);"GRANDTOTAL: "; PRINT USING S4$;ABS(GRANDTOTAL):GRANDTOTAL=0:RETURN 1000 ERR=5.2 IF END #1 THEN 6000 1001 READ #1,REC1;CA$(1),CA$(2),CA$(3),CA$(4),CA$(5),CA$(6),CA$(7), \ CA$(8),CA$(9),CA$(10) RETURN 6000 PRINT CHR$(12):CONSOLE:COLUMN=2:ROW=22:GOSUB 10 PRINT EOL$;"RECORD #";REC1;" HAS NOT BEEN ESTABLISHED";CHR$(7); FOR X=1 TO 500:NEXT X GOSUB 10:PRINT EOL$;:GOTO 12 8802 ROW=ROW-1:GOSUB 10:PRINT EOS$:RETURN 9990 CLOSE 1 PRINT LOW$;CLEAR$:CHAIN "NADMENU" 9992 FOR X=1 TO 24:PRINT:NEXT X PRINT TAB(20);"ACCESS NOT PERMITTED! SEE YOUR SYSTEM SUPERVISOR..";ERR; Y%=CONCHAR% IF Y%=5EH THEN 9999 GOTO 9992 9999 PRINT LOW$;CLEAR$ STOP