home *** CD-ROM | disk | FTP | other *** search
- 2000 ' ----------------------- SORT ROUTINE ---------------------------------
- 2010 DEFINT A-Z:COMMON N,RAN$,IN$,NBR$,SRT$,S,CR$,ESC$:SRT$=RAN$+".SRT":DIM I1$(1000):DIM I1(1000):ON ERROR GOTO 10000
- 2020 I=0:MN=2:KEY 9,"":CLS:LOCATE 1,34:COLOR 0,7:PRINT" MAILIST1 ":COLOR 7,0:LOCATE 5,29:COLOR 15,0:PRINT"DO YOU WANT TO SORT BY":COLOR 7,0
- 2060 LOCATE 8,33:PRINT"1 Last name"
- 2080 LOCATE 9,33:PRINT"2 Zipcode"
- 2100 LOCATE 19,24:PRINT"Type the number of your choice:":GOSUB 11100
- 2105 IF I$=CHR$(27) THEN LOCATE 19,24:COLOR 15,0:PRINT"Loading main program.............":COLOR 7,0:CHAIN "MAILIST1.BAS",110
- 2120 IF I<1 OR I>2 THEN LOCATE 23,27:BEEP:COLOR 15,0:PRINT"PLEASE TYPE NUMBER 1 OR 2":COLOR 7,0:GOTO 2100
- 2130 IF I = 2 GOTO 2460
- 2135 LOCATE 25,1:PRINT SPACE$(30);:LOCATE 19,24:COLOR 15,0:PRINT"Sorting........Please wait......":COLOR 7,0:L=1:OPEN "I",1,IN$
- 2140 IF EOF(1) THEN CLOSE 1:GOTO 2280
- 2145 INPUT#1,I1$(L)
- 2160 I=LEN(I1$(L)):I=I-5
- 2180 I1$(L)=MID$(I1$(L),6,INSTR(I1$(L),"\")-5):I=I-15:I1$(L)=I1$(L)+STR$(L)
- 2200 L=L+1:GOTO 2140
- 2280 M=N
- 2300 M=INT(M/2):IF M=0 THEN GOTO 2700
- 2320 K=N-M:FOR L=1 TO K
- 2340 I=L
- 2360 J=I+M
- 2380 IF I1$(I)<I1$(J) THEN 2420
- 2400 SWAP SV$,I1$(I):SWAP I1$(I),I1$(J):SWAP I1$(J),SV$:I=I-M:IF I-1>=0 THEN 2360
- 2420 NEXT L:GOTO 2300
- 2440 ' ----------------------ZIPCODE SORT -------------------------
- 2460 LOCATE 25,1:PRINT SPACE$(30);:LOCATE 19,24:COLOR 15,0:PRINT"Sorting.......Please wait.......":COLOR 7,0:L=1:OPEN "I",1,IN$
- 2465 IF EOF(1) THEN CLOSE 1:GOTO 2540
- 2470 INPUT#1,I$
- 2480 I=LEN(I$):I=I-20
- 2485 I1$(L)=" "
- 2500 MID$(I1$(L),1,5)=I$:I1$(L)=I1$(L)+RIGHT$(I$,I)
- 2520 L=L+1:GOTO 2465
- 2540 M=N
- 2560 M=INT(M/2):IF M=0 THEN GOTO 2700
- 2580 K=N-M:FOR L=1 TO K
- 2600 I=L
- 2620 J=I+M
- 2640 IF I1$(I)<I1$(J) THEN 2680
- 2660 SWAP SV$,I1$(I):SWAP I1$(I),I1$(J):SWAP I1$(J),SV$:I=I-M:IF I-1>=0 THEN 2620
- 2680 NEXT L:GOTO 2560
- 2700 FOR L=1 TO N:I$=RIGHT$(I1$(L),5)
- 2702 I=INSTR(I$," "):IF I=1 THEN I=INSTR(2,I$," ")
- 2704 I1(L)=VAL(RIGHT$(I$,LEN(I$)-I))
- 2706 NEXT L
- 2719 S=1:OPEN "o",1,SRT$
- 2720 FOR L=1 TO N:PRINT#1,I1(L):NEXT L
- 2740 CLOSE 1:BEEP:LOCATE 19,24:COLOR 15,0:PRINT"Loading main program.............":COLOR 7,0:CHAIN "MAILIST1.BAS",110
- 10000 IF ERR = 71 THEN CLS ELSE GOTO 10080
- 10020 LOCATE 10,20:PRINT"DISK DRIVE NOT READY. PLEASE INSERT DATA DISK"
- 10040 LOCATE 11,20:PRINT"OR CLOSE DRIVE DOOR. PRESS ENTER TO RESUME":BEEP
- 10060 I$=INKEY$:IF I$=CHR$(13) THEN RESUME ELSE 10060
- 10080 ON ERROR GOTO 0
- 11100 LOCATE 25,1:COLOR 15,0:PRINT"Esc ";:COLOR 0,7:PRINT" RETURN TO PRIOR MENU ";:COLOR 7,0
- 11120 I$=INKEY$:IF I$="" THEN 11120
- 11140 IF VAL(I$)=0 THEN RETURN ELSE I=VAL(I$):RETURN
-