home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1982-03-17 | 2.4 KB | 103 lines |
- 10 COMMON PGRDATA(),LINPTR%(),NLINES%,MAXLEN,LINBUF$(),TOPROG$,TOFILE$
- 20 MAXLEN=11
- 30 TOPROG$="b:labprint"
- 40 TOFILE$=""
- 50 DIM PGRDATA(5)
- 60 SCREEN 0,1
- 70 PGRDATA(1)=UP
- 80 PGRDATA(2)=ENVEL
- 90 DIM LINBUF$(1000)
- 100 DIM LINPTR%(1000)
- 110 COLOR 15,9,4
- 120 RECNUM = 4
- 130 OPEN "B:maillist.REE" AS #1 LEN=128
- 140 FIELD #1,9 AS ZIPCODE$, 30 AS NAM$,30 AS ADD1$,30 AS ADD2$, 29 AS CITYST$
- 150 ON ERROR GOTO 460
- 160 CLS
- 170 PRINT " "
- 180 PRINT " SELECT LABELS TO BE PRINTED"
- 190 PRINT " "
- 200 PRINT " "
- 210 INPUT " SEARCH FOR ==>";SEARCH$
- 220 GOSUB 540
- 230 RECNUM% = RECNUM% + 1
- 240 IF RECNUM% < 5 THEN RECNUM% = 5
- 250 GET #1, RECNUM%
- 260 ZIP# = CVD(ZIPCODE$)
- 270 IF ZIP# = 0 THEN 460
- 280 IF ZIP# = 1E+09 THEN 230
- 290 X=INSTR(NAM$,SEARCH$)
- 300 IF X = 0 THEN 310 ELSE 410
- 310 X=INSTR(ADD1$,SEARCH$)
- 320 IF X = 0 THEN 330 ELSE 410
- 330 X=INSTR(ADD2$,SEARCH$)
- 340 IF X = 0 THEN 350 ELSE 410
- 350 X=INSTR(CITYST$,SEARCH$)
- 360 IF X = 0 THEN 370 ELSE 410
- 370 X=INSTR(STR$(ZIP#),SEARCH$)
- 380 IF ZIP# = 1E+09 THEN 230
- 390 IF ZIP# = 0 THEN 460
- 400 IF X = 0 THEN 230
- 410 LPTRSUB%=LPTRSUB%+1
- 420 NLINES%=NLINES%+1
- 430 ON SORTSWITCH GOSUB 830,870,890,910
- 440 LINPTR%(LPTRSUB%)=NLINES%
- 450 GOTO 230
- 460 CLOSE #1
- 470 IF SORTSWITCH <> 4 GOTO 500
- 480 PRINT " SORTING BYPASSED"
- 490 CHAIN "b:labprint"
- 500 PRINT " Place SORT diskette in drive a"
- 510 INPUT " Press RETURN when ready";RESPONSE$
- 520 IF RESPONSE$ = "bypass" THEN 480
- 530 CHAIN "a:qsort"
- 540 CLS
- 550 PRINT " "
- 560 PRINT " SELECT SORT OPTIONS"
- 570 PRINT " "
- 580 PRINT " "
- 590 PRINT " A - LAST NAME"
- 600 PRINT " B - CITY/ST"
- 610 PRINT " C - ZIP CODE"
- 620 PRINT " D - NO SORT DESIRED"
- 630 PRINT " Esc - EXIT"
- 640 PRINT " "
- 650 PRINT " "
- 660 PRINT " Enter letter of desired option"
- 670 K$=INKEY$:IF K$="" THEN 670
- 680 IF K$="A" OR K$="a" THEN 740
- 690 IF K$="B" OR K$="b" THEN 760
- 700 IF K$="C" OR K$="c" THEN 780
- 710 IF K$="D" OR K$="d" THEN 800
- 720 IF K$=CHR$(27) THEN 820
- 730 GOTO 670
- 740 SORTSWITCH=1
- 750 RETURN
- 760 SORTSWITCH=2
- 770 RETURN
- 780 SORTSWITCH=3
- 790 RETURN
- 800 SORTSWITCH=4
- 810 RETURN
- 820 CHAIN "b:labmail
- 830 LNW$=NAM$
- 831 FOND%=0
- 832 FOR SCAN% = 1 TO 30:IF FOND% = 1 THEN 835
- 833 LC$ = MID$(LNW$,SCAN%,2)
- 834 IF LC$ = " " THEN FOND% = 1: LNAME$ = LEFT$(LNW$,SCAN%-1)
- 835 NEXT
- 837 FOND%=0
- 838 FOR SCAN%=LEN(LNAME$) TO 1 STEP -1
- 839 IF FOND% = 1 THEN 843
- 840 LC$=MID$(LNAME$,SCAN%,1)
- 841 IF LC$ = " " THEN FOND%=1: LNAMOUT$ = MID$(LNAME$,SCAN%+1)
- 843 NEXT
- 850 LINBUF$(LPTRSUB%) = LNAMOUT$+MKI$(RECNUM%)
- 860 RETURN
- 870 LNW$=CITYST$
- 880 GOTO 831
- 890 LINBUF$(LPTRSUB%) = STR$(ZIP#)+" "+MKI$(RECNUM%)
- 900 RETURN
- 910 LINBUF$(LPTRSUB%)=" "+MKI$(RECNUM%)
- 920 RETURN
-