home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug105.arc / MAILMEN.LQR / PRINTCAT.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  7KB  |  270 lines

  1. * PRINTCAT.PRG PROGRAM FOR VIEWING AND PRINTING MAILING LIST ENTRIES COPYRIGHT
  2. * NOVEMBER 1983 BY PHILIP K. PERLMAN
  3. SET TALK OFF
  4. STORE T TO BEVEL
  5. DO WHILE BEVEL
  6. ERASE
  7. STORE ' ' TO ANS1
  8. @ 10,5 say "Do you wish to print a list of friends or business (F or B) ?"
  9. @ 10,75 GET ANS1
  10. READ
  11. CLEAR GETS
  12.      IF !(ANS1) = 'F' .OR. !(ANS1) = 'B'
  13.      STORE F TO BEVEL
  14. ELSE
  15. ENDIF
  16. ENDDO
  17.   IF !(ANS1) = 'F'
  18.      STORE T TO VIEW
  19.      DO WHILE VIEW
  20.      STORE ' ' TO VIEW1
  21.      ERASE
  22.      @ 10,5 SAY "Press 'P' to Print the Results"
  23.      @ 12,5 SAY "Press 'V' to View the Results On Screen"
  24.      @ 12,75 GET VIEW1
  25.      READ
  26.      CLEAR GETS
  27.      IF !(VIEW1)= 'P'
  28.      SET PRINT ON
  29.      STORE 60 TO N
  30.      ? CHR(15)
  31.      STORE F TO VIEW
  32.      ELSE
  33.      IF !(VIEW1) = 'V'
  34.      STORE 11 TO N
  35.      STORE F TO VIEW
  36.      ELSE
  37.      ENDIF
  38.      ENDIF
  39.      ENDDO
  40.      ERASE
  41.      STORE 0 TO INDEX2
  42.      USE &DBF1 INDEX &NDX1
  43.      erase
  44.      GO TOP
  45.      STORE T TO TRUE
  46.      DO WHILE TRUE
  47.           IF !(VIEW1) = 'P'
  48. ? 'NAME','                                    ','|', 'COMPANY', '            ';
  49.    ,'         ','|', 'OFFICE TEL. ','|', 'HOME TEL.'
  50. ? '====','                                    ','|', '=======', '            ';
  51.    ,'         ','|', '=========== ','|', '========='
  52.  
  53.            ENDIF
  54.           DO WHILE .NOT. EOF .AND. INDEX2 < N
  55.                IF FRIEND <> ' ' 
  56.      ? LAST, FIRST,'|', COMPANY,'|', TEL:WRK,'|', TEL:HM
  57.                STORE INDEX2 +1 TO INDEX2
  58.                ENDIF
  59.                SKIP
  60.           ENDDO
  61.                     IF !(VIEW1)= 'P' .AND. INDEX2 >= N
  62.                          EJECT
  63.                          STORE 0 TO INDEX2
  64.                     ENDIF
  65.                     IF !(VIEW1)= 'V'
  66.                          WAIT
  67.                          IF INDEX2 >= N
  68.                               STORE 0 TO INDEX2
  69.                          ENDIF
  70.                     ENDIF
  71.                     IF EOF
  72.                          STORE F TO TRUE
  73.                     ENDIF
  74.      ENDDO
  75.      EJECT
  76.      ? CHR(18)
  77.      SET PRINT OFF
  78.      RETURN
  79. ENDIF
  80. IF !(ANS1) = 'B'
  81. STORE T TO RIGHT
  82. DO WHILE RIGHT
  83. STORE ' ' TO P
  84. ERASE
  85. @ 10,5 SAY "Press 'A' To View / Print All Categories"
  86. @ 12,5 SAy "Press 'S' to View / Print Selected categories"
  87. @ 12,70 get P
  88. READ
  89. CLEAR GETS
  90. IF !(P) = 'A' .OR. !(P) = 'S'
  91.      STORE F TO RIGHT
  92. ELSE
  93. ENDIF
  94. ENDDO
  95. IF !(P) = 'A'
  96.      ERASE
  97.      STORE T TO VIEW
  98.      DO WHILE VIEW
  99.      STORE ' ' TO VIEW1
  100.      ERASE
  101.      @ 10,5 SAY "Press 'P' to Print the Results"
  102.      @ 12,5 SAY "Press 'V' to View the Results Onscreen"
  103.      @ 12,75 GET VIEW1
  104.      READ
  105.      CLEAR GETS
  106.      IF !(VIEW1)= 'P'
  107.      STORE 60 TO N
  108.      SET PRINT ON
  109.      ? CHR(15)
  110.      STORE F TO VIEW
  111.      ELSE
  112.      IF !(VIEW1) = 'V'
  113.      STORE 11 TO N
  114.      STORE F TO VIEW
  115.      ELSE
  116.      ENDIF
  117.      ENDIF
  118.      ENDDO
  119.      STORE 0 TO INDEX2
  120.      erase
  121.      USE &DBF1 INDEX &NDX2
  122.      GO TOP
  123.      STORE T TO TRUE
  124.      DO WHILE TRUE
  125.         IF !(VIEW1) = 'P'
  126. ? 'COMPANY','                      ','|', 'NAME', '                          ';
  127.   ,'         ','|','OFFICE TEL. ','|', 'HOME TEL.'
  128. ? '=======','                      ','|', '====', '                          ';
  129.   ,'         ','|','=========== ','|', '========='
  130.         ENDIF
  131.       DO WHILE .NOT. EOF .AND. INDEX2 < N
  132.           IF BUS:XMAS <> ' '
  133. ? COMPANY,'|', FIRST, LAST,'|', TEL:WRK,'|', TEL:HM
  134.                STORE INDEX2 +1 TO INDEX2
  135.           ENDIF
  136.           SKIP
  137.           ENDDO
  138.                     IF !(VIEW1) = 'P' .AND. INDEX2 >= N
  139.                          EJECT
  140.                          STORE 0 TO INDEX2
  141.                     ENDIF
  142.                     IF !(VIEW1) = 'V'
  143.                          WAIT
  144.                          IF INDEX2 >= N
  145.                               STORE 0 TO INDEX2
  146.                          ENDIF
  147.                     ENDIF
  148.                     IF EOF
  149.                          STORE F TO TRUE
  150.                     ENDIF
  151.      ENDDO
  152.      EJECT
  153.      ? CHR(18)
  154.      SET PRINT OFF
  155.      RETURN
  156. ENDIF
  157. IF !(P) = 'S'
  158. STORE T TO CONTINUE
  159. DO WHILE CONTINUE
  160. SET PRINT OFF
  161. STORE T TO LEVEL
  162. DO WHILE LEVEL
  163. STORE ' ' TO ANS
  164. STORE ' ' TO CAT
  165. ERASE
  166. ?
  167. ?
  168. ?
  169. ?
  170. ACCEPT "What Priority Level Are You Searching (1,2, OR 3) ?" TO ANS
  171. ?
  172. ?
  173. ACCEPT "What Category Are You Looking For ?" TO CAT
  174. IF ANS = '1' .OR. ANS = '2' .OR. ANS = '3'
  175. STORE 'PROF'-ANS TO PROF
  176. STORE DRV1-':'-'PROF'-ANS TO MNDX
  177. STORE F TO LEVEL
  178. ELSE
  179. ENDIF
  180. ENDDO
  181. ERASE
  182. STORE !(CAT) TO CAT
  183. STORE T TO VIEW
  184. DO WHILE VIEW
  185.      STORE ' ' TO VIEW1
  186.      ERASE
  187.      @ 10,5 SAY "Press 'P' to Print the Results"
  188.      @ 12,5 SAY "Press 'V' to View the Results On Screen"
  189.      @ 12,75 GET VIEW1
  190.      READ
  191.      CLEAR GETS
  192.      IF !(VIEW1)= 'P'
  193.      STORE 60 TO N
  194.      SET PRINT ON
  195.      ? CHR(15)
  196.      STORE F TO VIEW
  197.      ELSE
  198.      IF !(VIEW1) = 'V'
  199.      STORE 11 TO N
  200.      STORE F TO VIEW
  201.      ELSE
  202.      ENDIF
  203.      ENDIF
  204.      ENDDO
  205. ERASE
  206. USE &DBF1 INDEX &MNDX
  207. FIND &CAT
  208. ERASE
  209. STORE 0 TO INDEX
  210. STORE T TO TRUE
  211. DO WHILE TRUE
  212. ? "&CAT"
  213. ? "------------------------------"
  214. IF !(VIEW1) = 'P'
  215. ? 'COMPANY','                      ','|', 'NAME', '                          ';
  216.   ,'         ','|','OFFICE TEL. ','|', 'HOME TEL.'
  217. ? '=======','                      ','|', '====', '                          ';
  218.   ,'         ','|','=========== ','|', '========='
  219. ENDIF
  220.      DO WHILE .NOT. EOF .AND. &PROF = '&CAT' .AND. INDEX < N 
  221. ? COMPANY,'|', FIRST, LAST,'|', TEL:WRK,'|', TEL:HM
  222.           STORE INDEX +1 TO INDEX
  223.           SKIP
  224.      ENDDO
  225.                IF !(VIEW1) = 'P' .AND. INDEX >= N
  226.                     EJECT
  227.                     STORE 0 TO INDEX
  228.                ENDIF
  229.                IF !(VIEW1) = 'V'
  230.                     WAIT
  231.                     IF INDEX >= N
  232.                          STORE 0 TO INDEX
  233.                     ENDIF
  234.                ENDIF
  235.                IF EOF
  236.                     STORE F TO TRUE
  237.                ENDIF
  238.                IF &PROF <> '&CAT'
  239.                     STORE F TO TRUE
  240.                ENDIF
  241. ENDDO
  242. ERASE
  243. STORE ' ' TO CONT
  244. @ 10,5 SAY 'Do you wish to continue ?'
  245. @ 12,5 SAY "Press 'N' to Return to the Menu"
  246. @ 14,5 SAY 'Press any other key to continue'
  247. @ 14,40 GET CONT
  248. READ
  249. CLEAR GETS
  250. IF !(CONT) = 'N'
  251. EJECT
  252. ? CHR(18)
  253. SET PRINT OFF
  254. STORE F TO CONTINUE
  255. RETURN
  256. ELSE
  257. ENDDO
  258. ENDIF
  259. ENDIFP) = 'A' .OR. !(P) = 'S'
  260.      STORE F TO RIGHT
  261. ELSE
  262. ENDIF
  263. ENDDO
  264. IF !(P) = 'A'
  265.      ERASE
  266.      STORE T TO VIEW
  267.      DO WHILE VIEW
  268.      STORE ' ' TO VIEW1
  269.      ERASE
  270.      @ 10,5 SAY "Press 'P' to Print the