home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / busi / bushome.zip / MAILIST2.BAS < prev    next >
BASIC Source File  |  1984-10-28  |  16KB  |  366 lines

  1. 100 REM     MAILING LABEL PROGRAM FOR 'Business Mailing Labels'
  2. 200 REM     MAILING LABEL PROGRAM FOR 'Business Mailing Labels'
  3. 300 REM     Created by:
  4. 400 REM                  Alde╛n C!. Olander III  <AL>
  5. 500 REM                         WB9YYN
  6. 600 REM                     (312) 671-0441
  7. 700 REM 
  8. 800 REM       Modified by:   Paul J. Mayer, Jr.
  9. 900 REM                           WB9ZHG
  10. 1000 REM                      (312) 671-3130
  11. 1100 REM
  12. 1200 REM      Modified by:   Eugene L. Plantz             4/12/82
  13. 1300 REM                For the IBM Personal Computer
  14. 1400 REM                     (312) 843-8584
  15. 1500 REM
  16. 1550 Z$=""
  17. 1570 WIDTH 80
  18. 1600 CLEAR 10000
  19. 1700 KEY OFF:SCREEN 0,0
  20. 1730 KEY 1,"GETPUT":KEY(1) ON:ON KEY(1) GOSUB 19400
  21. 1735 KEY 2,"  Add ":KEY(2) ON:ON KEY(2) GOSUB 4500
  22. 1740 KEY 3,"Delete":KEY(3) ON:ON KEY(3) GOSUB 6400
  23. 1745 KEY 4,"PrintL":KEY(4) ON:ON KEY(4) GOSUB 9800
  24. 1750 KEY 5,"Search":KEY(5) ON:ON KEY(5) GOSUB 13700
  25. 1755 KEY 6,"Finish":KEY(6) ON:ON KEY(6) GOSUB 17700
  26. 1760 KEY 7,"------":KEY(7) ON:ON KEY(7) GOSUB 23600
  27. 1765 KEY 8,"Alpha ":KEY(8) ON:ON KEY(8) GOSUB 23800
  28. 1770 KEY 9,"Change":KEY(9) ON:ON KEY(9) GOSUB 25900
  29. 1775 KEY 10,"Roster":KEY(10) ON:ON KEY(10) GOSUB 32100
  30. 1790 KEY ON:DEF SEG:POKE 106,0
  31. 1800 DIM A$(250),A1$(250),A2$(250),A3$(250),A4$(250),A5$(250),A6$(250),A7$(250)
  32. 1900 ' ON ERROR GOTO 2000
  33. 2000 CLS:COLOR 8,7
  34. 2100 PRINT "  This program is self prompting and will ask for your"
  35. 2200 PRINT "   instructions.  The following options are available:"
  36. 2300 PRINT:COLOR 7,0
  37. 2400 PRINT "F1 - PUT OR GET LIST TO/FROM DISK"
  38. 2500 PRINT "F2 - ADD NEW NAMES TO THE LIST"
  39. 2600 PRINT "F3 - DELETE NAMES FROM THE LIST"
  40. 2700 PRINT "F4 - PRINT LABELS"
  41. 2800 PRINT "F5 - SEARCH BY LAST NAME, CITY, OR STATE AND PRINT"
  42. 2900 PRINT "F6 - FINISH"
  43. 3000 PRINT "F7 - EXCHANGE DATA DISK IN EITHER DRIVE (CLOSES FILES)"
  44. 3100 PRINT "F8 - ALPHABETIZE YOUR DATA LIST ON DISK"
  45. 3200 PRINT "F9 - CORRECT INFORMATION IN DATA FILE"
  46. 3300 PRINT "F10- PRINT ROSTER OF NAMES AND OTHER INFORMATION"
  47. 3400 FOR I=1 TO 4:PRINT :NEXT I
  48. 3450 IF  Z$="" GOTO 3450
  49. 3500 ' INPUT "WHICH OPTION DO YOU WANT? (0,1,2,3,4,5,6,7,8 OR 9) - ";N1
  50. 3600 ' ON N1 GOSUB 4500,6400,9800,13700
  51. 3700 ' IF N1=0 THEN GOSUB 19400
  52. 3800 ' IF N1=5 THEN GOTO 17700
  53. 3900 ' IF N1=6 THEN GOSUB 23600
  54. 4000 ' IF N1=7 THEN GOSUB 23800
  55. 4100 ' IF N1=8 THEN GOSUB 25900
  56. 4200 ' IF N1=9 THEN GOSUB 32100
  57. 4300 ' IF N1 >= 9 THEN COLOR 26,0:PRINT "WRONG NUMBER  - TRY AGAIN!!":COLOR 7,0:PRINT :GOTO 3500
  58. 4400 GOTO 2000
  59. 4500 CLS:COLOR 8,7
  60. 4600 PRINT "TO STOP INPUT TYPE 'NONE' FOR LAST NAME "
  61. 4700 PRINT
  62. 4800 PRINT:COLOR 7,0
  63. 4900 R=R+1
  64. 5000 REM
  65. 5100 PRINT TAB(5);R;"  ";:LINE INPUT "LAST NAME ? ";A$(R)
  66. 5200 IF A$(R)="NONE" OR A$(R)="none" THEN R=R-1:RETURN 2000
  67. 5300 PRINT TAB(5);R;"  ";:LINE INPUT "FIRST NAME, MIDDLE INITIAL? ";A2$(R)
  68. 5400 PRINT TAB(5);R;"  ";:LINE INPUT "STREET ADDRESS? ";A1$(R)
  69. 5500 PRINT TAB(5);R;"  ";:LINE INPUT "CITY? ";A3$(R)
  70. 5600 PRINT TAB(5);R;"  ";:LINE INPUT "STATE? ";A4$(R)
  71. 5700 PRINT TAB(5);R;"  ";:LINE INPUT "ZIP CODE? ";A5$(R)
  72. 5800 PRINT TAB(5);R;"  ";:LINE INPUT "HOME PHONE? ";A6$(R)
  73. 5900 PRINT TAB(5);R;"  ";:LINE INPUT "BUSINESS PHONE? ";A7$(R)
  74. 6000 PRINT:LINE INPUT"  IS THIS INFO CORRECT?  (Y OR N)   ";B$
  75. 6100 IF B$="N" OR B$="n" THEN GOSUB 25800:GOTO 5000
  76. 6200 FOR I=1 TO 4:PRINT :NEXT I
  77. 6300 GOTO 4600
  78. 6400 CLS:COLOR 8,7
  79. 6500 PRINT "     This is the DELETE part of the program.  You may      "
  80. 6600 PRINT "     locate the desired line by agency name or city.  THINK"
  81. 6700 PRINT "     before using as once DELETED the information          "
  82. 6800 PRINT "          IT CANNOT BE RECOVERED!!!!                       "
  83. 6900 COLOR 7,0
  84. 7000 FOR I=1 TO 4:PRINT :NEXT I
  85. 7100 PRINT "     0 - RETURN TO MAIN PROGRAM"
  86. 7200 PRINT "     1 - LOCATE INFORMATION FOR DELETE BY LAST NAME"
  87. 7300 PRINT "     2 - LOCATE INFORMATION FOR DELETE BY CITY"
  88. 7400 FOR I=1 TO 4:PRINT :NEXT I
  89. 7500 LINE INPUT "WHICH OPTION DO YOU WANT? (0,1, OR 2)  <0> ";N1$
  90. 7600 IF N1$="" OR N1$="0" THEN RETURN 2000
  91. 7700 IF N1$="1" OR N1$="2" THEN GOSUB 15400
  92. 7800 IF N1$="1" OR N1$="2" THEN GOTO 8000
  93. 7900 GOTO 7000
  94. 8000 PRINT :LINE INPUT "DO YOU WANT TO DELETE THIS INFORMATION? ";N$
  95. 8100 IF LEFT$(N$,1)="Y" OR LEFT$(N$,1)="y" THEN GOSUB 8300
  96. 8200 GOTO 7000
  97. 8300 FOR I=1 TO 4:PRINT :NEXT I:COLOR 8,7
  98. 8400 PRINT "WHEN YOU ENTER THE NUMBER THINK BEFORE HITTING RETURN!!"
  99. 8500 PRINT "IF YOU HAVE CHANGED YOUR MIND THEN ENTER A '0' "
  100. 8600 COLOR 7,0
  101. 8700 INPUT "WHAT IS THE NUMBER OF THE RECORD TO BE DELETED? ";X
  102. 8800 IF X=0 THEN A$="":RETURN 
  103. 8900 '
  104. 9000 COLOR 26,0:PRINT "  HOLD TIGHT! I'M WORKING ON YOUR DATA - BE PATIENT  ":COLOR 7,0
  105. 9100 A$(X)="":A1$(X)="":A2$(X)="":A3$(X)="":A4$(X)="":A5$(X)=""
  106. 9200 A6$(X)="":A7$(X)=""
  107. 9300 FOR D= X TO R
  108. 9400 A$(D)=A$(D+1):A1$(D)=A1$(D+1):A2$(D)=A2$(D+1):A3$(D)=A3$(D+1)
  109. 9500 A4$(D)=A4$(D+1):A5$(D)=A5$(D+1):A6$(D)=A6$(D+1):A7$(D)=A7$(D+1)
  110. 9600 NEXT D
  111. 9700 R=R-1:RETURN 
  112. 9800 PRINT :PRINT :PRINT :PRINT :PRINT
  113. 9900 PRINT "     0 - RETURN TO MAIN PROGRAM"
  114. 10000 PRINT "     1 - TYPE ALL LABELS IN FILE"
  115. 10100 PRINT "     2 - TYPE LABELS FOR xxxxx ZIP CODE"
  116. 10200 FOR I=1 TO 4:PRINT :NEXT I
  117. 10300 LINE INPUT "     WHICH OPTION DO YOU WANT? (0,1, OR 2) <0> ";P$
  118. 10400 IF P$="" OR P$="0" THEN PRINT  :PRINT :PRINT :PRINT :PRINT :RETURN 2000
  119. 10500 IF P$="1" THEN 10900
  120. 10600 IF P$="2" THEN 12000
  121. 10700 COLOR 26,0:PRINT "  THAT'S NOT A VALID CHOICE ! TRY AGAIN..":COLOR 7,0
  122. 10800 FOR I=1 TO 4:PRINT :NEXT I:GOTO 9900
  123. 10900 FOR I=1 TO 4:PRINT :NEXT I
  124. 11000 INPUT "  WHAT IS THE NUMBER OF LINES YOU WANT BETWEEN LABELS? ";L
  125. 11100 GOSUB 13200
  126. 11200 FOR I=1 TO R
  127. 11300 PRINT #2,"  ";A2$(I);" ";A$(I)
  128. 11400 PRINT #2,"  ";A1$(I)
  129. 11500 PRINT #2,"  ";A3$(I);", ";A4$(I);" ";A5$(I)
  130. 11600 FOR J=1 TO L:PRINT #2,:NEXT J
  131. 11700 NEXT I
  132. 11800 CLOSE #2
  133. 11900 GOTO 9900
  134. 12000 FOR I=1 TO 4:PRINT :NEXT I
  135. 12100 INPUT "  WHAT IS THE NUMBER OF LINES YOU WANT BETWEEN LABELS? ";L
  136. 12200 LINE INPUT "WHAT IS THE ZIP FOR YOUR LABELS? ";B$
  137. 12300 GOSUB 13200
  138. 12400 FOR I=1 TO R
  139. 12500 IF B$=A5$(I) THEN PRINT #2,"  ";A2$(I);" ";A$(I)
  140. 12600 IF B$=A5$(I) THEN PRINT #2,"  ";A1$(I)
  141. 12700 IF B$=A5$(I) THEN PRINT #2,"  ";A3$(I);", ";A4$(I);" ";A5$(I)
  142. 12800 IF B$=A5$(I) THEN FOR J=1 TO L:PRINT #2,:NEXT J
  143. 12900 NEXT I
  144. 13000 CLOSE #2
  145. 13100 GOTO 9900
  146. 13200 PRINT :PRINT :PRINT :PRINT :PRINT
  147. 13300 LINE INPUT "  Output to SCREEN or PRINTER ? (S or P) <S>  ";S$
  148. 13400 IF LEFT$(S$,1)="P" THEN OPEN "O",#2,"LPt1:":RETURN
  149. 13500 IF LEFT$(S$,1)="p" THEN OPEN "O",#2,"LPt1:":RETURN
  150. 13600 OPEN "O",#2,"scrn:":RETURN
  151. 13700 CLS:COLOR 8,7
  152. 13800 PRINT "     This is the search and find option.       "
  153. 13900 PRINT "     You may locate a specific LAST NAME, CITY,"
  154. 14000 PRINT "     or all those listed under a STATE.        ":COLOR 7,0
  155. 14100 PRINT 
  156. 14200 PRINT 
  157. 14300 PRINT "     0 - RETURN TO MAIN PROGRAM"
  158. 14400 PRINT "     1 - LOCATE BY LAST NAME"
  159. 14500 PRINT "     2 - LOCATE BY CITY"
  160. 14600 PRINT "     3 - LOCATE ALL IN STATE"
  161. 14700 FOR I=1 TO 4:PRINT :NEXT I
  162. 14800 LINE INPUT "WHICH OPTION DO YOU WANT? (0,1,2 OR 3)  <0> ";N1$
  163. 14900 IF N1$="" OR N1$="0" THEN PRINT :PRINT :PRINT :PRINT :PRINT :RETURN 2000
  164. 15000 IF N1$="1" THEN GOSUB 15400
  165. 15100 IF N1$="2" THEN GOSUB 15400
  166. 15200 IF N1$="3" THEN GOSUB 15400
  167. 15300 GOTO 14100
  168. 15400 CLS
  169. 15500 IF N1$="1" THEN PRINT "WHAT IS THE LAST NAME YOU ARE LOOKING FOR? ";
  170. 15600 IF N1$="2" THEN PRINT "WHAT IS THE CITY? ";
  171. 15700 IF N1$="3" THEN PRINT "WHAT IS THE STATE? ";
  172. 15800 LINE INPUT B$
  173. 15900 FOR I = 1 TO 4:PRINT :NEXT I
  174. 16000 X=1
  175. 16100 FOR I = 1 TO R
  176. 16200 IF B$=A$(I) THEN 16900
  177. 16300 IF B$=A3$(I) THEN 16900
  178. 16400 IF B$=A4$(I) THEN 16900
  179. 16500 X=X+1
  180. 16600 NEXT I
  181. 16700 IF X = I THEN COLOR 8,7:PRINT " NOT ON THIS LIST ":COLOR 7,0   ':GOTO 4170
  182. 16800 FOR I=1 TO 2000:NEXT I:RETURN
  183. 16900 PRINT 
  184. 17000 PRINT I;" ";A2$(I);" ";A$(I)
  185. 17100 PRINT A1$(I)
  186. 17200 PRINT A3$(I);", ";A4$(I);" ";A5$(I)
  187. 17300 PRINT A6$(I);" ";A7$(I)
  188. 17400 FOR P=1 TO 300:NEXT P
  189. 17500 PRINT 
  190. 17600 GOTO 16600
  191. 17700 '
  192. 17800 PRINT 
  193. 17900 FOR I=1 TO 4:PRINT :NEXT I:COLOR 8,7
  194. 18000 PRINT "REMEMBER, if you exit the program without saving ";:COLOR 7,0:PRINT" ":COLOR 8,7
  195. 18100 PRINT "your new data the disk file is the same as it was";:COLOR 7,0:PRINT" ":COLOR 8,7
  196. 18200 PRINT "when you started!  If you made CHANGES you must  ";:COLOR 7,0:PRINT" ":COLOR 8,7
  197. 18300 PRINT "SAVE THE NEW DATA!!!!                            ";:COLOR 7,0:PRINT" "
  198. 18400 COLOR 7,0:PRINT " HAVE YOU SAVED YOUR NEW DATA TO YOUR DISK FILE? "
  199. 18500 LINE INPUT "  <YES OR NO> ? ";N$
  200. 18600 IF LEFT$(N$,1)="N" OR LEFT$(N$,1)="n" THEN E=1:GOSUB 19400:GOTO 18800
  201. 18700 IF LEFT$(N$,1)<>"Y" AND LEFT$(N$,1)<>"y" THEN GOTO 17700
  202. 18800 CLOSE #1
  203. 18900 CLOSE #2
  204. 19000 COLOR 8,7:PRINT :PRINT :PRINT "  IF YOU GOOFED AND DID NOT SAVE YOUR DATA YOU MAY RESTART THE PROGRAM"
  205. 19100 PRINT "  BY TYPING 'GOTO 2000' <CR> THEN 'CONTINUE' <CR> AND THE PROGRAM"
  206. 19200 PRINT "  WILL RESTART WITH YOUR DATA INTACT!!!":COLOR 26,0:PRINT:COLOR 7,0
  207. 19300 END 
  208. 19400 CLS
  209. 19410 E=0
  210. 19500 C$=CHR$(34)
  211. 19600 PRINT "     0 - RETURN TO MAIN PROGRAM"
  212. 19700 PRINT "     1 - GET LIST FROM DISK FILE"
  213. 19800 PRINT "     2 - PUT LIST ON DISK":PRINT 
  214. 19900 COLOR 8,7
  215. 20000 PRINT "     NOTE: If you PUT your files to the disk and have"
  216. 20100 PRINT "     not previously gotten all info from the disk you"
  217. 20200 PRINT "     will save only the info in the computer and will"
  218. 20300 PRINT "     ERASE your disk file.......THINK FIRST.         ":PRINT:COLOR 7,0
  219. 20400 LINE INPUT "     WHICH OPTION DO YOU WANT? (0,1, OR 2) <0> ";N$
  220. 20500 IF N$="" OR N$="0" THEN IF E=1 THEN RETURN 18800 ELSE RETURN 2000
  221. 20600 IF N$="1" THEN GOSUB 23200
  222. 20700 IF N$="2" THEN GOSUB 23200
  223. 20800 IF N$="1" THEN 21100
  224. 20900 IF N$="2" THEN 22200
  225. 21000 PRINT :PRINT :PRINT :GOTO 19600
  226. 21100 '
  227. 21200 COLOR 26,0:PRINT TAB(10);" HOLD ON WHILE I GET YOUR DATA ! ":COLOR 7,0
  228. 21300 ON ERROR GOTO 23710
  229. 21400 OPEN "I",#1,D$
  230. 21450 ON ERROR GOTO 2000
  231. 21500 INPUT #1,R
  232. 21600 FOR I=1 TO R
  233. 21700 INPUT #1,A$(I),A1$(I),A2$(I),A3$(I),A4$(I),A5$(I),A6$(I),A7$(I)
  234. 21800 NEXT I
  235. 21900 CLOSE #1
  236. 22000 FOR X=1 TO 8:PRINT:NEXT X
  237. 22100 IF E=1 THEN RETURN 18800 ELSE RETURN 2000
  238. 22200 '
  239. 22300 COLOR 26,0:PRINT TAB(10);" HOLD ON I'M PUTTING YOUR DATA AWAY ":COLOR 7,0
  240. 22400 '
  241. 22500 OPEN "O",#1,D$
  242. 22600 PRINT #1,R
  243. 22700 FOR I=1 TO R
  244. 22800 PRINT #1,C$;A$(I);C$;",";C$;A1$(I);C$;",";C$;A2$(I);C$;",";C$;A3$(I);C$;",";C$;A4$(I);C$;",";C$;A5$(I);C$;",";C$;A6$(I);C$;",";C$;A7$(I);C$
  245. 22900 NEXT I
  246. 23000 CLOSE #1
  247. 23100 IF E=1 THEN RETURN 18800 ELSE RETURN 2000
  248. 23200 PRINT:PRINT:
  249. 23300 LINE INPUT "  WHAT IS THE NAME OF YOUR DATA FILE? <ie MAIL.DAT> ";D$
  250. 23400 IF D$="" THEN LET D$="MAIL.DAT"
  251. 23500 RETURN 
  252. 23600 RESET
  253. 23700 RETURN 2000
  254. 23710 IF ERR=53 THEN PRINT:PRINT:COLOR 26,0:PRINT TAB(20);"Input File Not Found":COLOR 7,0:PRINT:PRINT:RESUME 20400
  255. 23800 CLS
  256. 23805 COLOR 26,0
  257. 23810 PRINT "WARNING:";:COLOR 8,7:PRINT"     This section will alphabetize a file read in   "
  258. 23820 PRINT "             from disk. BUT it wipes out any file in memory."
  259. 23830 PRINT "             Therefore, if you have changed any data in the "
  260. 23840 PRINT "             file in memory and did not save it, it will be "
  261. 23850 PRINT "             LOST. To continue, type <CR>, to exit type in  "
  262. 23860 PRINT "             ESC.                                           "
  263. 23870 COLOR 7,0
  264. 23875 A$=INKEY$:IF LEN(A$)=0 THEN GOTO 23875
  265. 23878 IF A$=CHR$(13) THEN RETURN 23890:IF A$=CHR$(27) THEN RETURN 2000
  266. 23880 RETURN 2000
  267. 23890 CLEAR (15000):DIM A$(200):I%=1
  268. 23900 CLS:COLOR 8,7
  269. 24050 PRINT "This section of the program will alphabetize your"
  270. 24100 PRINT "data file.  You will be asked for the file to be "
  271. 24200 PRINT "sorted 'eg. MAIL.DAT' and the output file name   "
  272. 24300 PRINT "which you must give a different name to such as  "
  273. 24400 PRINT "eg. 'ALPH.DAT'.   You must use function 1 to load"
  274. 24500 PRINT "the newly sorted file or even the old file.      ":COLOR 7,0
  275. 24600 PRINT
  276. 24700 PRINT
  277. 24800 INPUT "SEQ FILE NAME TO BE SORTED.. ";P$
  278. 24805 IF P$="" THEN GOTO 1600
  279. 24810 INPUT "OUTPUT FILE NAME... ";T$
  280. 24812 ON ERROR GOTO 25810
  281. 24815 OPEN "I",1,P$
  282. 24817 ON ERROR GOTO 2000
  283. 24818 OPEN "O",2,T$
  284. 25000 IF EOF(1) THEN 25100 ELSE LINE INPUT#1,A$(I%):I%=I%+1:GOTO 25000
  285. 25100 I%=I%-1:C%=I%:B%=I%
  286. 25200 C%=INT(C%/2):PRINT C%:IF C%=0 THEN 25700 ELSE D%=1:E%=B%-C%
  287. 25300 F%=D%
  288. 25400 G%=F%+C%:IF A$(F%)<=A$(G%) THEN 25600
  289. 25500 SWAP A$(F%),A$(G%):F%=F%-C%:IF F%<1 THEN 25600 ELSE 25400
  290. 25600 D%=D%+1:IF D%>E% THEN 25200 ELSE 25300
  291. 25700 FOR X%=1 TO I%:PRINT #2,A$(X%):NEXT X%:CLOSE:GOTO 1600
  292. 25800 FOR I=1 TO 6:PRINT:NEXT I:RETURN 2000
  293. 25810 IF ERR=53 THEN PRINT:PRINT:COLOR 26,0:PRINT TAB(20);"Input File Not Found":COLOR 7,0:RESUME 24600
  294. 25900 REM
  295. 26000 REM ** CORRECTION ROUTINE **
  296. 26100 REM
  297. 26200 FOR X=1 TO 6:PRINT:NEXT X
  298. 26300 PRINT "YOU CAN SEARCH BY LAST NAME OR CITY"
  299. 26400 PRINT "TO FIND ENTRY TO BE CORRECTED.":PRINT :PRINT 
  300. 26500 PRINT "0 - RETURN TO MAIN MENU"
  301. 26600 PRINT "1 - SEARCH BY LAST NAME"
  302. 26700 PRINT "2 - SEARCH BY CITY "
  303. 26800 PRINT :INPUT "WHICH OPTION DO YOU WANT?  <0,1, OR 2>  <0>  ";N1$
  304. 26900 IF N1$="" OR N1$="0" THEN RETURN 2000
  305. 27000 IF N1$="1" THEN GOSUB 15400
  306. 27100 IF N1$="2" THEN GOSUB 15400
  307. 27200 INPUT "WHAT IS THE NUMBER OF THE RECORD TO BE CHANGED?  (0 to exit)";X
  308. 27300 J=X
  309. 27350 IF X=0 THEN RETURN 2000
  310. 27400 GOTO 27700
  311. 27500 IF N1$=0 THEN RETURN 2000
  312. 27600 GOTO 26100
  313. 27700 REM MAKE ENTRY CORRECTION
  314. 27800 FOR X=1 TO 6:PRINT:NEXT X
  315. 27900 COLOR 8,7:PRINT "Make Corrections on your data. If no change hit CR.":COLOR 7,0
  316. 28000 PRINT "OLD LAST NAME IS - ";A$(J)
  317. 28100 LINE INPUT "NEW LAST NAME - ";H$(J)
  318. 28200 IF H$(J)="" THEN H$(J)=A$(J)
  319. 28300 PRINT "OLD FIRST NAME AND MIDDLE INITIAL IS - ";A2$(J)
  320. 28400 LINE INPUT "NEW FIRST NAME AND MIDDLE INITIAL - ";H2$(J)
  321. 28500 IF H2$(J)=""THEN H2$(J)=A2$(J)
  322. 28600 PRINT "OLD STREET ADDRESS IS - ";A1$(J)
  323. 28700 LINE INPUT "NEW STREET ADDRESS IS - ";H1$(J)
  324. 28800 IF H1$(J)="" THEN H1$(J)=A1$(J)
  325. 28900 PRINT "OLD CITY - ";A3$(J)
  326. 29000 LINE INPUT "NEW CITY - ";H3$(J)
  327. 29100 IF H3$(J)="" THEN H3$(J)=A3$(J)
  328. 29200 PRINT "OLD STATE - ";A4$(J)
  329. 29300 LINE INPUT "NEW STATE - ";H4$(J)
  330. 29400 IF H4$(J)="" THEN H4$(J)=A4$(J)
  331. 29500 PRINT "OLD ZIP CODE - ";A5$(J)
  332. 29600 LINE INPUT "NEW ZIP CODE - ";H5$(J)
  333. 29700 IF H5$(J)="" THEN H5$(J)=A5$(J)
  334. 29800 PRINT "OLD HOME PHONE - ";A6$(J)
  335. 29900 LINE INPUT "NEW HOME PHONE - ";H6$(J)
  336. 30000 IF H6$(J)="" THEN H6$(J)=A6$(J)
  337. 30100 PRINT "OLD BUSINESS PHONE - ";A7$(J)
  338. 30200 LINE INPUT "NEW BUSINESS PHONE -";H7$(J)
  339. 30300 IF H7$(J)="" THEN H7$(J)=A7$(J)
  340. 30400 FOR X=1 TO 6:PRINT:NEXT X
  341. 30500 PRINT TAB(10)H$(J):PRINT TAB(10)H2$(J)
  342. 30600 PRINT TAB(10)H1$(J):PRINT TAB(10)H3$(J)
  343. 30700 PRINT TAB(10)H4$(J):PRINT TAB(10)H5$(J):PRINT 
  344. 30800 PRINT TAB(10)H6$(J):PRINT TAB(10)H7$(J) :PRINT
  345. 30900 LINE INPUT "IS THIS CORRECT (Y OR N)  <Y>  ";X2$
  346. 31000 FOR X=1 TO 6:PRINT:NEXT X
  347. 31100 IF X2$="n" OR X2$="N" THEN 27700
  348. 31200 GOSUB 32000
  349. 31300 REM STORE NEW DATA
  350. 31400 OPEN "O",1,D$
  351. 31500 PRINT #1,R
  352. 31600 FOR I=1 TO R
  353. 31700 PRINT #1,C$;A$(I);C$;",";C$;A1$(I);C$;",";C$;A2$(I);C$;",";C$;A3$(I);C$;",";C$;A4$(I);C$;","C$;A5$(I);C$;",";C$;A6$(I);C$;","C$;A7$(I);C$
  354. 31800 NEXT I
  355. 31900 CLOSE #1:RETURN 2000
  356. 32000 A$(J)=H$(J):A1$(J)=H1$(J):A2$(J)=H2$(J):A3$(J)=H3$(J):A4$(J)=H4$(J):A5$(J)=H5$(J):A6$(J)=H6$(J):A7$(J)=H7$(J):GOTO 26100
  357. 32100 PRINT :PRINT :PRINT :PRINT :PRINT
  358. 32200 OPEN "O",#2,"lpt1:"           ' AT:
  359. 32300 WIDTH #2,132
  360. 32400 PRINT #2,"=======NAME====================STREET ADDRESS==========CITY==========STATE==========ZIP====HOME PHONE===BUSINESS PHONE=="
  361. 32500 FOR I=1 TO R
  362. 32600 PRINT #2," ";A$(I);", ";A2$(I);TAB(30);" ";A1$(I);TAB(52);" ";A3$(I);TAB(70);" ";A4$(I);TAB(83);" ";A5$(I);TAB(91);" ";A6$(I);TAB(105);" ";A7$(I)
  363. 32700 NEXT I
  364. 32800 CLOSE
  365. 32900 RETURN 2000
  366. I);TAB(70);" ";A4$(I);TAB(83);" ";A5$(I);TA