home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug104.arc / DBLABELS.LQR / LABEL.CMD next >
OS/2 REXX Batch file  |  1979-12-31  |  5KB  |  245 lines

  1. * LABEL 9/21/83  WHD VER 1
  2. SET TALK OFF
  3. RELEASE
  4. SET EJECT OFF
  5. SET FORMAT TO PRINT
  6. ERASE
  7. ? "Welcome to DuBay's Marvelous Label Maker"
  8. ?
  9. ?
  10. ?
  11. ?
  12. STORE 0 TO FI0
  13. INPUT "HOW MANY FILES TO PRINT OUT (1-9)? " TO FINUM
  14. ?
  15. ? "PLEASE ENTER THE FILENAME(S) IN THE ORDER TO BE PRINTED"
  16. ?
  17. DO WHILE FI0 < FINUM
  18.       STORE "NAM" + STR(FI0+1,1) TO FNAME
  19.       STORE "FILE NUMBER "+STR(FI0+1,1) TO QUERY
  20.       ACCEPT "&QUERY" TO &FNAME
  21.       STORE FI0+1 TO FI0
  22. ENDDO
  23. ERASE
  24. ?
  25. ?
  26. ACCEPT "CONDITIONAL PRINTOUT (Y/N)? " TO CP
  27. IF CP = "Y"
  28.       ?
  29.       ACCEPT "ENTER THE NAME OF THE FIELD TO BE TESTED" TO TESTFLD
  30.       ?
  31.       INPUT "HOW MANY TESTS TO BE APPLIED TO THE FIELD (1-9)" TO TESTNUM
  32.       ?
  33.       STORE 0 TO T1
  34.       ? "ENTER THE TESTS TO BE APPLIED"
  35.       ?
  36.       DO WHILE T1 < TESTNUM
  37.              STORE "TEST"+STR(T1+1,1) TO TEST
  38.              STORE "ENTER TEST #"+STR(T1+1,1) TO QUERY
  39.              ACCEPT "&QUERY" TO &TEST
  40.              STORE T1 + 1 TO T1
  41.       ENDDO
  42.       ?
  43.       ?
  44.       INPUT  "SELECT (1) OR DESELECT (2) THE RECORD" TO SC
  45. ENDIF
  46. ERASE
  47. ?
  48. ?
  49. ?
  50. ?
  51. ?
  52. INPUT "HOW MANY LABELS PER LINE (1-4)?" TO ACROSS
  53. ?
  54. IF ACROSS > 1
  55.       INPUT "TAB FOR SECOND LABEL?" TO TAB2
  56.       IF ACROSS > 2
  57.           ?
  58.           INPUT "TAB FOR THIRD LABEL?" TO TAB3
  59.           IF ACROSS > 3
  60.                 ?
  61.                 INPUT "TAB FOR FOURTH LABEL?" TO TAB4
  62.           ENDIF
  63.      ENDIF
  64. ENDIF
  65. ?
  66. INPUT "VERTICAL SPACES BETWEEN LABELS?" TO VERT
  67. ERASE
  68. ?
  69. ?
  70. ?
  71. ? "PLEASE WAIT"
  72. ?
  73. ?
  74. STORE 0 TO NUMBER
  75. STORE 0 TO C3
  76. STORE 0 TO FI0
  77. STORE 0 TO LINE
  78. * MAIN LOOP  -  do all files
  79. DO WHILE FI0 < FINUM
  80. * GET FILE
  81. STORE "NAM" + STR(FI0+1,1) TO FNAME
  82. USE &&FNAME
  83. * NOT YET EOF LOOP
  84. DO WHILE .NOT. EOF
  85.  
  86. STORE C3 TO C2
  87. * FORMAT RECORDS AND LINES LOOP
  88. DO WHILE .NOT. EOF .AND. C2<ACROSS
  89. * SKIP RECORDS MARKED FOR DELETION
  90. IF *
  91.      SKIP
  92.      LOOP
  93. ENDIF
  94. * TEST RECORDS FOR CONDITIONS
  95. IF CP = "Y"
  96.       STORE &TESTFLD TO &TESTFLD
  97.       STORE 0 TO T1
  98.       STORE f TO T2
  99.       DO WHILE .NOT. T2 .AND. T1 < TESTNUM
  100.             STORE "TEST" + STR(T1+1,1) TO TEST
  101.             IF @ ('&&TEST','&&TESTFLD') >0
  102.                 STORE t TO T2
  103.                 LOOP
  104.             ENDIF
  105.             STORE T1 + 1 TO T1
  106.       ENDDO
  107.       IF .NOT. T2 .AND. SC=1
  108.              SKIP
  109.              LOOP
  110.       ENDI
  111.       IF T2 .AND. SC=2
  112.             SKIP
  113.             LOOP
  114.       ENDIF
  115. ENDIF
  116. *  SWITCH FIRST AND LAST NAMES
  117. STORE @ (',',NAME) TO POS
  118. IF POS <> 0
  119.       STORE TRIM(NAME) TO NA
  120.       STORE LEN(NA) TO LEN
  121.       STORE $(NA,1,POS-1) TO LAST
  122.       STORE $(NA,POS+2,LEN-(POS+1)) TO FIRST
  123.       STORE FIRST+' '+LAST TO NA
  124. ELSE
  125.     STORE NAME TO NA
  126. ENDIF
  127. * REMOVE BLANK LINES IN FIRST AND SECOND FIELDS
  128. IF COMPANY = '  '
  129.    STORE NA TO CO
  130.    STORE '  ' TO NA
  131. ELSE
  132.     STORE COMPANY TO CO
  133. ENDIF
  134. IF STREET = '  '
  135.    STORE CO TO ST
  136.  
  137.    STORE '  ' TO NA
  138. ELSE
  139.     STORE STREET TO ST
  140. ENDIF
  141. IF C2=0
  142.      STORE NA TO NAME1
  143.      STORE CO TO COMPANY1
  144.      STORE ST TO STREET1
  145.      IF LEN(TRIM(ZIP))<4
  146.            STORE '  ' TO ZIP
  147.      ENDIF
  148.      STORE TRIM(CITY)+', '+TRIM(STATE)+'  '+TRIM(ZIP) TO LINE1
  149. ENDIF
  150. IF C2=1 .AND. .NOT. EOF
  151.      STORE NA TO NAME2
  152.      STORE CO TO COMPANY2
  153.      STORE ST TO STREET2
  154.      IF LEN(TRIM(ZIP))<4
  155.             STORE '  ' TO ZIP
  156.      ENDIF
  157.      STORE TRIM(CITY)+', '+TRIM(STATE)+'  '+TRIM(ZIP) TO LINE2
  158. ENDIF
  159. IF C2=2 .AND. .NOT. EOF
  160.      STORE NA TO NAME3
  161.      STORE CO TO COMPANY3
  162.      STORE ST TO STREET3
  163.      IF LEN(TRIM(ZIP))<4
  164.          STORE '  ' TO ZIP
  165.      ENDIF
  166.      STORE TRIM(CITY)+', '+TRIM(STATE)+'  '+TRIM(ZIP) TO LINE3
  167. ENDIF
  168. IF C2=3 .AND. .NOT. EOF
  169.  
  170.      STORE CO TO COMPANY4
  171.      STORE ST TO STREET4
  172.      IF LEN(TRIM(ZIP))<4
  173.            STORE '  ' TO ZIP
  174.      ENDIF
  175.      STORE TRIM(CITY)+', '+TRIM(STATE)+'  '+TRIM(ZIP) TO LINE4
  176. ENDIF
  177. STORE C2+1 TO C2
  178. STORE NUMBER+1 TO NUMBER
  179. SKIP
  180. ENDDO
  181. * SET LABEL POINTER
  182. IF EOF .AND. FI0+1 < FINUM .AND. C2 < ACROSS
  183.       STORE C2 TO C3
  184.       * GET OUT OF THIS LOOP AND SEE IF THERE IS ANOTHER FILE
  185.  
  186. ENDIF
  187.  
  188. *PRINT LABELS
  189. @ LINE,0 SAY NAME1
  190. IF C2 > 1
  191.         @ LINE,TAB2 SAY NAME2
  192. ENDIF
  193. IF C2 > 2
  194.         @ LINE,TAB3 SAY NAME3
  195. ENDIF
  196. IF C2 > 3
  197.       @ LINE,TAB4 SAY NAME4
  198. ENDIF
  199. @ LINE+1,0 SAY COMPANY1
  200. IF C2 > 1
  201.         @ LINE+1,TAB2 SAY COMPANY2
  202. ENDIF
  203. IF C2 > 2
  204.          @ LINE+1,TAB3 SAY COMPANY3
  205. ENDIF
  206. IF C2 > 3
  207.          @ LINE+1,TAB4 SAY COMPANY4
  208. ENDIF
  209. @ LINE+2,0 SAY STREET1
  210. IF C2 > 1
  211.          @ LINE+2,TAB2 SAY STREET2
  212. ENDIF
  213. IF C2 > 2
  214.          @ LINE+2,TAB3 SAY STREET3
  215. ENDIF
  216. IF C2 > 3
  217.         @ LINE+2,TAB4 SAY STREET4
  218. ENDIF
  219. @ LINE+3,0 SAY LINE1
  220. IF C2 >1
  221.     @ LINE+3,TAB2 SAY LI
  222.     IF C2 > 2
  223.          @ LINE+3,TAB3 SAY LINE3
  224.          IF C2 > 3
  225.               @ LINE+3,TAB4 SAY LINE3
  226.          ENDIF
  227.     ENDIF
  228. ENDIF
  229. STORE LINE+VERT+4 TO LINE
  230. STORE 0 TO C3
  231. * END OF NOT EOF LOOP
  232. ENDDO
  233. *END OF GET NEW FILE LOOP
  234. STORE FI0 +1 TO FI0
  235. ENDDO
  236. SET FORMAT TO SCREEN
  237. ? 'THERE ARE',NUMBER,'LABELS PRINTED!'
  238.  
  239.  
  240.  
  241. DO
  242. *END OF GET NEW FILE LOOP
  243. STORE FI0 +1 TO FI0
  244. ENDDO
  245. SET