! ADDLBL.BAS - Multiple address label printing program. 1 row & 2 row.
! GREG BERTHUME - Donated to AMUS 11/18/87.
! G.B. Software Concepts

  MAP1 ENTRY,S,25
  MAP1 INXCTL,F
  MAP1 CNGCTL,F
  MAP1 PLINE,S,80
  MAP1 NAME,S,25,""
  MAP1 ADDRESS,S,25,""
  MAP1 CITY,S,15,""
  MAP1 STATE,S,2,""
  MAP1 ZIP,S,5,""
  MAP1 FORMAT,S,1
  MAP1 NUMLAB,S,6,""

  PRINT TAB(-1,0);
  PRINT TAB(1,20);TAB(-1,32);" BASIC ADDRESS LABEL PRINTING PROGRAM ";TAB(-1,33)
  PRINT TAB(2,20);           "      BY G.B. SOFTWARE CONCEPTS"
  XCALL NOECHO

NAME:
  PRINT TAB(05,09); "1) ENTER NAME     ";
  XCALL INPUT,05,28,25,0,"AE",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN CHAIN "MISCMN"
  NAME = ENTRY
ADDRESS:
  PRINT TAB(06,09); "2) ENTER ADDRESS  ";
  XCALL INPUT,06,28,25,0,"AE",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN GOTO NAME
  ADDRESS = ENTRY
CITY:
  PRINT TAB(07,09); "3) ENTER CITY     ";
  XCALL INPUT,07,28,15,0,"AE",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN GOTO ADDRESS
  CITY = ENTRY
  XCALL STRIP,CITY
STATE:
  PRINT TAB(08,09); "4) ENTER STATE    ";
  XCALL INPUT,08,28,2,0,"AE",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN GOTO CITY
  STATE = ENTRY
ZIP:
  PRINT TAB(09,09); "5) ENTER ZIP CODE ";
  XCALL INPUT,09,28,05,0,"#E",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN GOTO STATE
  ZIP = ENTRY
NUMLAB:
  PRINT TAB(14,10);"HOW MANY LABELS DO YOU WISH TO PRINT"
  PRINT TAB(15,10);"                   EVEN NUMBERS ONLY";
  XCALL INPUT,15,47,04,0,"#E",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN CHAIN "MISCMN"
  NUMLAB = ENTRY
  IF NUMLAB = 0 THEN CHAIN "MISCMN.RUN"
FORMAT:
  PRINT TAB(16,10);"WHICH FORMAT:  <1> ROW OR <2>       ";
  XCALL INPUT,16,47,1,0,"#E",ENTRY,INXCTL,1
  IF INXCTL = 2 THEN CHAIN "MISCMN"
  FORMAT = ENTRY
  IF FORMAT = 1 THEN GOTO ONEROW  ELSE GOTO TWOROW
TWOROW:
  OPEN #5,"LABELS.PRT",OUTPUT
  LABNUM = NUMLAB/2
  FOR X = 1 TO LABNUM
  PLINE[6;26] = NAME : PLINE[40;26] = NAME : CALL PRINT
  PLINE[6;26] = ADDRESS : PLINE[40;26] = ADDRESS : CALL PRINT
  PLINE[6;26] = CITY+", "+STATE+" "+ZIP : PLINE[40;26] = CITY+", "+STATE+" "+ZIP : CALL PRINT
  PLINE = SPACE
  CALL PRINT
  PLINE = SPACE
  CALL PRINT
  PLINE = SPACE
  CALL PRINT
  NEXT X
  GOTO CLOSE
ONEROW:
  OPEN #5,"LABELS.PRT",OUTPUT
  FOR C=1 TO NUMLAB
  PLINE[5;25] = NAME
  CALL PRINT
  PLINE[5;25] = ADDRESS
  CALL PRINT
  PLINE[5;26] = CITY + ", " + STATE + " " + ZIP
  CALL PRINT
  PLINE = SPACE
  CALL PRINT
  PLINE = SPACE
  CALL PRINT
  NEXT C
CLOSE:
  CLOSE #5
  PRINT CHR(7)
  XCALL SPOOL,"LABELS.PRT"
  CHAIN "MISCMN"
PRINT:
  PRINT#5,PLINE
  PLINE = ""
  RETURN