home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a040 / 2.ddi / SHRWARE4.ARC / MSALABE.INC < prev    next >
Encoding:
Text File  |  1988-06-03  |  5.8 KB  |  278 lines

  1. <<* MSALABE.INC *>>
  2.  
  3. <<procedure GenLabelBody>>
  4. <<begin>>
  5. PARAMETERS CHOICE_Y
  6. PRIVATE filename,savrecnum,rowPROMPT
  7. rowPROMPT = 23
  8. savrecnum = RECNO()
  9. * ---MAIN LOOP
  10. DO WHILE .T.
  11. DO CASE
  12. CASE CHOICE_Y = 1
  13. <<GenColor( 0,'SCREEN' )>>
  14. * --- CREATE STATUS BOX
  15. @ 1,49 CLEAR TO 6,75
  16. @ 1,49 TO 6,75
  17. @ 1,59 SAY " STATUS "
  18. @ 2,50 SAY "       FILE:"
  19. @ 3,50 SAY "      INDEX:"
  20. @ 4,50 SAY "   FILTERED:"
  21. @ 5,50 SAY "DESTINATION:"
  22. SAVE SCREEN TO STATUSSCR
  23. * ---Display Label forms.
  24. @ 24,0 CLEAR
  25. @ 24,0 SAY 'Loading directory...'
  26. * ---MAKE DIRECTORY AND LOAD INTO MENU
  27. * ---FIND FIRST ENTRY
  28. STORE SYS(2000,{"}{fileprefix}_*.LBL{"}) TO MSG1
  29. IF LEN(MSG1) <> 0
  30.  STORE 2 TO COUNT
  31.  STORE "MSG2" TO MSG
  32.  DO WHILE .T. 
  33.  STORE SYS(2000,{"}{fileprefix}_*.LBL{"},1) TO &MSG
  34.  IF LEN(&MSG) = 0
  35.  EXIT
  36.  ENDIF
  37.  STORE COUNT + 1 TO COUNT
  38.  STORE "MSG"+LTRIM(STR(COUNT)) TO MSG
  39.  ENDDO
  40.  * ---display 
  41.  @ 24,0 CLEAR
  42.  @ 24,0 SAY 'Select Report File.'
  43.  menuchoice = 0
  44.  DO {fileprefix}_MENU WITH 4,25,COUNT-1,12
  45.  @ 23,0 SAY "         "
  46.  IF menuchoice = 0
  47.  EXIT
  48.  ELSE
  49.  STORE "MSG"+LTRIM(STR(menuchoice)) TO MSG
  50.  STORE &MSG TO filename
  51.  ENDIF 
  52. ELSE
  53.  * ---NO FILES
  54.  @ 24,0 CLEAR
  55.  @ 24,0 SAY 'NO LBL Files found.  Press any key to continue.'
  56.  STORE INKEY(0) TO STOP
  57.  EXIT
  58. ENDIF
  59.  
  60. CASE CHOICE_Y = 2
  61. * ---CREATE LABEL
  62. STORE SPACE(1) TO filename
  63.  
  64. CASE CHOICE_Y = 3
  65. * --- ADD YOUR OWN
  66.  EXIT
  67.  
  68. CASE CHOICE_Y = 4
  69. * --- ADD YOUR OWN
  70.  EXIT
  71. ENDCASE  && CHOICE_Y
  72.  
  73.  
  74.  
  75. * --- CHECK CONDITIONS AND RUN LABELS
  76.  
  77. IF CHOICE_Y = 1 .OR. CHOICE_Y = 2
  78. * ---If the file does not exist, create it or exit.
  79. @ 24,0 CLEAR
  80.   ?? SYS(2002,1)
  81. IF .NOT. FILE( filename )
  82. filename = "    "
  83. @  24, 0 SAY {"}Enter LABEL FORM filename: {fileprefix}_    .LBL{"}
  84. @  24,32 GET filename PICTURE "@!"
  85. READ
  86. * ---Remove the file extension.
  87. filename = UPPER( filename + "." )
  88. filename = TRIM( SUBSTR( filename,1,AT(".",filename)-1 ) )
  89. IF "" = filename
  90.    EXIT
  91. ENDIF
  92. filename = {"}{fileprefix}_{"} + filename + ".LBL"
  93. IF FILE( filename )
  94. STORE SPACE(1) TO CHECK
  95. @ 24,0 CLEAR
  96. @ 24,0 SAY 'File '+filename+' exists.  Do you wish to overwrite? (Y/N)';
  97.  GET CHECK PICT '!' VALID CHECK$'YN'
  98. READ
  99. IF CHECK = 'N'
  100. EXIT
  101. ENDIF
  102. ENDIF
  103.    CREATE LABEL &filename
  104.    EXIT
  105. ENDIF
  106. RESTORE SCREEN FROM STATUSSCR
  107. * --- PLACE NAME IN STATUS BOX
  108. @ 2,63 SAY filename
  109. SAVE SCREEN TO STATUSSCR
  110. * --- SELECT INDEX
  111. ndxchoice = ' '
  112. <<select all databases>>
  113. <<if ndxtotal = 0>>
  114.    DO SayLine WITH rowPROMPT,"*** NO INDEX FILE IN USE"
  115.    WAIT
  116. <<elsif ismultindx>>
  117.    DO {fileprefix}_NDXS WITH rowPROMPT,ndxchoice
  118. <<endif>>
  119. RESTORE SCREEN FROM STATUSSCR
  120. * ---UPDATE STATUS
  121. @ 3,63 SAY ndxchoice
  122. SAVE SCREEN TO STATUSSCR
  123. *
  124. * ---Get the FOR <exp>.
  125. expr = ""
  126. notes = ""
  127. choice = " "
  128. @ 24,0 CLEAR
  129. @ 24,0 SAY "Specify a CONDITION on the output? (y/n)" GET choice PICTURE "!"
  130. READ
  131. IF choice = "Y"
  132.   <<select database 8>>  <<*Is SELECT H being used?*>>
  133.   <<if dbfnam>>          <<*Yes, then use old <expr> system...*>>
  134.    DO {fileprefix}_EXPR WITH expr
  135.   <<else>>               <<*No, use new and improved...*>>
  136.    DO {fileprefix}_COND WITH expr,notes
  137.   <<endif>>
  138.    IF "" <> TRIM( expr )
  139.       * ---Check for valid LOGICAL expression.
  140.       IF TYPE( expr ) <> "L"
  141.          expr = ""
  142.       ENDIF
  143.    ENDIF
  144. ENDIF
  145. RESTORE SCREEN FROM STATUSSCR
  146. * --- UP DATE STATUS
  147. IF "" <> TRIM( expr )
  148.  @ 4,63 SAY "Yes"
  149. ELSE
  150.  @ 4,63 SAY "No"
  151. ENDIF 
  152. * ---Screen or printer selection.
  153. menuchoice = 0
  154. MSG1 = "Screen"
  155. MSG2 = "Printer"
  156. MSG3 = "Abort"
  157. DO {fileprefix}_MENU WITH 6,35,3,8
  158. ?? CHR(7)
  159.  
  160. * ---Print the Label.
  161. DO CASE
  162. CASE menuchoice = 3
  163.    EXIT
  164. CASE menuchoice = 2
  165. * ---UPDATE STATUS
  166. @ 5,63 SAY "Printer"
  167. * ---CHECK STATUS OF PRINTER
  168. ?? CHR(7)
  169. @ 24,0 CLEAR
  170. @ 24,0 SAY 'Please check printer and press any key to begin or '+;
  171. '<A> to Abort.'
  172. key = 0
  173. DO WHILE KEY = 0 .OR. SYS(13) = 'OFFLINE'
  174. KEY = 0
  175. DO WHILE KEY = 0
  176.  KEY = INKEY()
  177. ENDDO
  178.  IF CHR(KEY) $ "aA"
  179.   EXIT
  180.  ENDIF
  181. ENDDO  
  182. IF CHR(KEY) $ "aA"
  183.  * --- EXIT FROM MAIN LOOP
  184.  EXIT
  185. ENDIF
  186. * ---printer is ready check if special fount needed
  187. menuchoice = 0
  188. MSG1 = "Draft"
  189. MSG2 = "Letter Quality"
  190. MSG3 = "Condensed"
  191. MSG4 = "Expanded"
  192. MSG5 = "Abort"
  193. DO {fileprefix}_MENU WITH 7,45,5,14
  194. ?? CHR(7)
  195. * ---Print the Label.
  196.    @ 24,0 CLEAR
  197.    @ 24,0 SAY "Printing Labels..."
  198.    SET ESCAPE ON
  199.    SET CONSOLE OFF
  200. SET PRINT ON
  201. DO CASE
  202.   CASE menuchoice = 1
  203.    IF INST_L_OFF <> SPACE(30)
  204.    ?? &INST_L_OFF
  205.    ENDIF
  206.   CASE menuchoice = 2
  207.    IF INST_L_ON <> SPACE(30)
  208.    ?? &INST_L_ON
  209.    ENDIF
  210.   CASE menuchoice = 3
  211.    IF INST_C_ON <> SPACE(30)
  212.    ?? &INST_C_ON
  213.    ENDIF
  214.   CASE menuchoice = 4
  215.    IF INST_E_ON <> SPACE(30)
  216.    ?? &INST_E_ON
  217.    ENDIF
  218.   CASE menuchoice = 5
  219.    SET PRINT OFF
  220.    EXIT
  221. ENDCASE
  222. SET PRINT OFF
  223.    IF "" <> TRIM( expr )
  224.       LABEL FORM &filename FOR &expr TO PRINT
  225.    ELSE
  226.       LABEL FORM &filename  TO PRINT
  227.    ENDIF
  228.    EJECT
  229.    * --- reset printer
  230.    SET PRINT ON
  231.    DO CASE
  232.      CASE menuchoice = 1
  233.       IF INST_L_OFF <> SPACE(30)
  234.       ?? &INST_L_OFF
  235.       ENDIF
  236.      CASE menuchoice = 2
  237.       IF INST_L_OFF <> SPACE(30)
  238.       ?? &INST_L_OFF
  239.       ENDIF
  240.      CASE menuchoice = 3
  241.       IF INST_C_OFF <> SPACE(30)
  242.       ?? &INST_C_OFF
  243.       ENDIF
  244.      CASE menuchoice = 4
  245.       IF INST_E_OFF <> SPACE(30)
  246.       ?? &INST_E_OFF
  247.       ENDIF
  248.    ENDCASE
  249.    SET PRINT OFF
  250.    SET CONSOLE ON
  251.    SET ESCAPE OFF
  252.    EXIT
  253. OTHERWISE
  254.  * ---output to screen
  255.   <<GenColor( 0,'SCREEN' )>>
  256.    CLEAR
  257.    SET ESCAPE ON
  258.    IF "" <> TRIM( expr )
  259.       LABEL FORM &filename FOR &expr
  260.    ELSE
  261.       LABEL FORM &filename
  262.    ENDIF
  263.    SET ESCAPE OFF
  264.    WAIT
  265.    EXIT
  266. ENDCASE
  267. ENDIF  &&CHOICE = 1 .OR. 2
  268.  
  269. ENDDO
  270. IF savrecnum > 0 .AND. LASTREC <> 0
  271.    GOTO savrecnum
  272. ENDIF
  273.   ?? SYS(2002)
  274.  
  275. <<end>> <<*GenLabelBody*>>
  276.  
  277. <<* EOF: MSALABE.INC *>>
  278.