10 REM *** Label Printer *** Author Unknown *** 20 REM Modified to run on Amstrad computers by Advantage Computer User Group 30 REM *** Sep 1986 *** V1.2 *** 40 clrs$=CHR$(27)+"E"+CHR$(27)+"H"+CHR$(12) 50 DEFINT A-Z 60 PRINT clrs$ 70 INPUT"Are you using a CPC or PCW computer";com$ 80 IF UPPER$(com$)="CPC" THEN GOTO 1100 90 PRINT 100 SPACES$ = " " 110 N$ = " " 120 O$ = " " 130 S$ = " " 140 C$ = " " 150 Z$ = " " 160 PRINT:PRINT 170 PRINT TAB(20);"L A B E L S" 180 PRINT 190 PRINT " Prints labels of up to five lines each." 200 PRINT "Each field may contain a total of 25 characters max." 210 PRINT "The lines are: Name, Organization, Street address," 220 PRINT "City and State, and Zip code. 230 PRINT "You may omit any line(s). Do NOT use commas." 240 PRINT "Prints one, two, or three across in 80 columns." 250 PRINT:PRINT " PRINT 1, 2, OR 3-UP (1-3 or 0 to exit)"; 260 INPUT U 270 IF U = 0 THEN END 280 IF U < 1 OR U > 3 THEN GOTO 250 290 PRINT:PRINT " HOW MANY LABELS (1-300 0 to exit)"; 300 INPUT L 310 IF L=0 THEN END 320 IF L < 1 OR L > 300 THEN 290 330 IF L/3 <> INT (L/3) THEN L = L + 1: GOTO 330 340 GOSUB 1030 'IS PRINTER READY? 350 PRINT 360 INPUT " NAME (NO COMMA)";N$ 370 INPUT " ORGANIZATION";O$ 380 INPUT " STREET";S$ 390 INPUT "CITY & STATE (NO COMMA)";C$ 400 INPUT " ZIPCODE";Z$ 410 PRINT 420 IF U = 1 THEN GOTO 820 430 ' TWO-UP OR THREE-UP ROUTINE 440 PRINT "*************************";" "; 450 PRINT "*************************" 460 PRINT N$;TAB(27);N$ 470 PRINT O$;TAB(27); O$ 480 PRINT S$;TAB(27); S$ 490 PRINT LEFT$ (C$+SPACES$,25); TAB(27); 500 PRINT LEFT$ (C$+SPACES$,25) 510 PRINT Z$; TAB(27);Z$ 520 PRINT "*************************"; " "; 530 PRINT "*************************":PRINT 540 PRINT:INPUT" LOOK OK ? Y=YES N=NO E=EXIT PROGRAM ";OKAY$ 550 IF OKAY$ = "E" OR OKAY$ = "e" THEN GOTO 160 560 IF OKAY$ = "N" OR OKAY$ = "n" THEN GOTO 350 570 FOR I = 1 TO L/U 'HOW MANY LINES TO PRINT? 580 LPRINT:LPRINT 590 IF U = 3 THEN GOTO 680 'GO DO 3-UP PRINTING, NOT 2-UP 600 LPRINT N$;TAB(27);N$ 610 LPRINT O$;TAB(27); O$ 620 LPRINT S$;TAB(27); S$ 630 LPRINT LEFT$ (C$+SPACES$,25); 640 LPRINT TAB(27);LEFT$ (C$+SPACES$,25) 650 LPRINT Z$; TAB(27);Z$ 660 GOTO 750 'DONE 2-UP 670 ' THREE-UP PRINT ROUTINE 680 LPRINT N$;TAB(27); N$;TAB(53);N$ 690 LPRINT O$;TAB(27); O$;TAB(53);O$ 700 LPRINT S$;TAB(27); S$;TAB(53);S$ 710 LPRINT LEFT$ (C$+SPACES$,25); 720 LPRINT TAB(27);LEFT$ (C$+SPACES$,25); 730 LPRINT TAB(53);LEFT$ (C$+SPACES$,25) 740 LPRINT Z$; TAB(27);Z$;TAB(53);Z$ 750 LPRINT:LPRINT 760 IF I > 1 THEN GOTO 790 770 PRINT:INPUT"...FORM ALIGNMENT PAUSE: OK ? (Y-N)";G$ 780 IF G$ = "N" OR G$ = "n" THEN GOTO 580 790 NEXT I 800 GOTO 160 810 '-------------------------------------------------- 820 ' 1-UP ROUTINE 830 PRINT "******************************" 840 PRINT N$:PRINT O$:PRINT S$: 850 PRINT LEFT$ (C$+SPACES$,25) 860 PRINT Z$ 870 PRINT "******************************":PRINT 880 PRINT:INPUT"LOOK OK ? Y=YES N=NO E=EXIT PROGRAM ";OKAY$ 890 IF OKAY$ = "N" OR OKAY$ = "n" THEN GOTO 160 900 IF OKAY$ = "E" OR OKAY$ = "e" THEN END 910 PRINT 920 FOR I = 1 TO L 930 LPRINT:LPRINT 940 LPRINT N$:LPRINT O$:LPRINT S$ 950 LPRINT LEFT$ (C$+SPACES$,25):LPRINT Z$ 960 LPRINT:LPRINT 970 IF I > 1 THEN GOTO 1000 980 INPUT" IS FORM ALIGNMENT OK ? (Y-N) ";G$ 990 IF G$ = "N" OR G$ = "n" THEN GOTO 930 1000 NEXT I 1010 GOTO 160 1020 END 1030 REM Check Printer is on 1040 PRINT:PRINT"Is printer on-line ? Y/N" 1050 k$="":WHILE k$="":k$=UPPER$(INKEY$):WEND 1060 IF k$="Y" THEN RETURN ELSE PRINT:PRINT"Switch it on then! ":GOTO 1040 1070 INPUT " Press the RETURN key when printer is ready.";Z$ 1080 GOTO 1040 1090 RETURN 1100 REM *** Label Printer - CPC Version *** 1110 SPACES$ = " " 1120 N$ = " " 1130 O$ = " " 1140 S$ = " " 1150 C$ = " " 1160 Z$ = " " 1170 PRINT:PRINT 1180 PRINT TAB(20);"L A B E L S" 1190 PRINT 1200 PRINT " Prints labels of up to five lines each." 1210 PRINT "Each field may contain a total of 25 characters max." 1220 PRINT "The lines are: Name, Organization, Street address," 1230 PRINT "City and State, and Zip code. 1240 PRINT "You may omit any line(s). Do NOT use commas." 1250 PRINT "Prints one, two, or three across in 80 columns." 1260 PRINT:PRINT " PRINT 1, 2, OR 3-UP (1-3 or 0 to exit)"; 1270 INPUT U 1280 IF U = 0 THEN END 1290 IF U < 1 OR U > 3 THEN GOTO 1260 1300 PRINT:PRINT " HOW MANY LABELS (1-300 0 to exit)"; 1310 INPUT L 1320 IF L=0 THEN END 1330 IF L < 1 OR L > 300 THEN 1300 1340 IF L/3 <> INT (L/3) THEN L = L + 1: GOTO 1340 1350 GOSUB 2040 'IS PRINTER READY? 1360 PRINT 1370 INPUT " NAME (NO COMMA)";N$ 1380 INPUT " ORGANIZATION";O$ 1390 INPUT " STREET";S$ 1400 INPUT "CITY & STATE (NO COMMA)";C$ 1410 INPUT " ZIPCODE";Z$ 1420 PRINT 1430 IF U = 1 THEN GOTO 1830 1440 ' TWO-UP OR THREE-UP ROUTINE 1450 PRINT "*************************";" "; 1460 PRINT "*************************" 1470 PRINT N$;TAB(27);N$ 1480 PRINT O$;TAB(27); O$ 1490 PRINT S$;TAB(27); S$ 1500 PRINT LEFT$ (C$+SPACES$,25); TAB(27); 1510 PRINT LEFT$ (C$+SPACES$,25) 1520 PRINT Z$; TAB(27);Z$ 1530 PRINT "*************************"; " "; 1540 PRINT "*************************":PRINT 1550 PRINT:INPUT" LOOK OK ? Y=YES N=NO E=EXIT PROGRAM ";OKAY$ 1560 IF OKAY$ = "E" OR OKAY$ = "e" THEN GOTO 1170 1570 IF OKAY$ = "N" OR OKAY$ = "n" THEN GOTO 1360 1580 FOR I = 1 TO L/U 'HOW MANY LINES TO PRINT? 1590 PRINT#8:PRINT#8 1600 IF U = 3 THEN GOTO 1690 'GO DO 3-UP PRINTING, NOT 2-UP 1610 PRINT#8,N$;TAB(27);N$ 1620 PRINT#8,O$;TAB(27); O$ 1630 PRINT#8,S$;TAB(27); S$ 1640 PRINT#8,LEFT$(C$+SPACES$,25); 1650 PRINT#8,TAB(27);LEFT$(C$+SPACES$,25) 1660 PRINT#8,Z$;TAB(27);Z$ 1670 GOTO 1760 'DONE 2-UP 1680 ' THREE-UP PRINT ROUTINE 1690 PRINT#8,N$;TAB(27);N$;TAB(53);N$ 1700 PRINT#8,O$;TAB(27);O$;TAB(53);O$ 1710 PRINT#8,S$;TAB(27);S$;TAB(53);S$ 1720 PRINT#8,LEFT$(C$+SPACES$,25); 1730 PRINT#8,TAB(27);LEFT$(C$+SPACES$,25); 1740 PRINT#8,TAB(53);LEFT$(C$+SPACES$,25) 1750 PRINT#8,Z$;TAB(27);Z$;TAB(53);Z$ 1760 PRINT#8:PRINT#8 1770 IF I > 1 THEN GOTO 1800 1780 PRINT:INPUT"...FORM ALIGNMENT PAUSE: OK ? (Y-N)";G$ 1790 IF G$ = "N" OR G$ = "n" THEN GOTO 1590 1800 NEXT I 1810 GOTO 1170 1820 '-------------------------------------------------- 1830 ' 1-UP ROUTINE 1840 PRINT "******************************" 1850 PRINT N$:PRINT O$:PRINT S$: 1860 PRINT LEFT$ (C$+SPACES$,25) 1870 PRINT Z$ 1880 PRINT "******************************":PRINT 1890 PRINT:INPUT"LOOK OK ? Y=YES N=NO E=EXIT PROGRAM ";OKAY$ 1900 IF OKAY$ = "N" OR OKAY$ = "n" THEN GOTO 1170 1910 IF OKAY$ = "E" OR OKAY$ = "e" THEN END 1920 PRINT 1930 FOR I = 1 TO L 1940 PRINT#8:PRINT#8 1950 PRINT#8,N$:PRINT#8,O$:PRINT#8,S$ 1960 PRINT#8,LEFT$(C$+SPACES$,25):PRINT#8,Z$ 1970 PRINT#8:PRINT#8 1980 IF I>1 THEN GOTO 2010 1990 INPUT" IS FORM ALIGNMENT OK (Y-N) ";G$ 2000 IF G$ = "N" OR G$ = "n" THEN GOTO 1940 2010 NEXT I 2020 GOTO 1170 2030 END 2040 REM Check Printer is on 2050 PRINT:PRINT"Is printer on-line ? Y/N" 2060 k$="":WHILE k$="":k$=UPPER$(INKEY$):WEND 2070 IF k$="Y" THEN RETURN ELSE PRINT:PRINT"Switch it on then! ":GOTO 2050 2080 INPUT " Press the RETURN key when printer is ready.";Z$ 2090 GOTO 2050 2100 RETURN OBAUD MAG *** 3