home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a046 / 5.img / TEMPLATE / SSBLABE.INC < prev    next >
Encoding:
Text File  |  1992-04-01  |  5.8 KB  |  279 lines

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