home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / database / jobs20.zip / JOBUTIL.PRG < prev    next >
Text File  |  1993-06-01  |  26KB  |  1,105 lines

  1. ***************************************************************************
  2. *:
  3. *:      Program: JOBUTIL.PRG
  4. *:
  5. *:       System: Job Search - Version 2.0
  6. *:       Author: R. J. Kovach
  7. *:
  8. *:*************************************************************************
  9. *:       Copyright (C) 1993, R.J. Kovach & Assoc.    ALL RIGHTS RESERVED
  10. *:*************************************************************************
  11. *:
  12. *:Procs & Fncts: SUMMARY        Summary menu
  13. *:             : SICSEARCH      List companies for a SIC code
  14. *:             : INDSEARCH      Lists search firms for an industry code
  15. *:             : DBDIR          Database directory
  16. *:             : EXPENSES       Summarizes job hunting expenses
  17. *:             : PACKDB         Pack selected database
  18. *:             : BACKUP         Backup all database and index files
  19. *:             : CPYCOLOR       Set color while copying files
  20. *:             : CPTCOLOR       Set color for completed file copy
  21. *:             : UTILITIES      Utilities menu
  22. *:             : DISPLAY        Display setup info
  23. *:             : SETUP          Change setup
  24. *:             : DBINDX         Index all databases
  25. *:             : DBSORT         Sort all databases
  26. *:             : FIXMEMO        Repair and pack all memo (.dbt) files
  27. *:             : MRGCHCE        Select database for mail merge
  28. *:             : MAILMERGE      Export records for mail merge
  29. *:             : STOPRET        Returns to previous menu after pressing Esc
  30. *:             : NOTVALID       Not valid message
  31. *:
  32. *:      Formats:
  33. *:
  34. *:      Filters:
  35. *:             :
  36. *:         Uses: COMPANY.DBF
  37. *:             : NETWORK.DBF
  38. *:             : EXECSRCH.DBF
  39. *:             : TEMPSRCH.DBF
  40. *:             : JOBEXPEN.DBF
  41. *:             : SIC.DBF
  42. *:
  43. *:   Memo files: COMPANY.DBT
  44. *:             : NETWORK.DBT
  45. *:             : EXECSRCH.DBT
  46. *:             : TEMPSRCH.DBT
  47. *:
  48. *:      Indexes: DIVISION.NDX
  49. *:             : NETWORK.NDX
  50. *:             : EXECNAME.NDX
  51. *:             : TEMPNAME.NDX
  52. *:             : JOBEXPEN.NDX
  53. *:             : SICNO.NDX
  54. *:
  55. *: Memory Files: SETUP.MEM
  56. *:
  57. *:       Set by: JOBS.PRG
  58. *:
  59. *: Documented: 4/23/93
  60. *: Revised:    6/01/93
  61. *:*************************************************************************
  62.  
  63.  
  64. *****************
  65. PROCEDURE summary
  66. *****************
  67.  
  68. CLEAR
  69. CLEAR GETS
  70. DO WHILE .T.
  71.    CLEAR
  72.    IF monitor = 'C'
  73.       SET COLOR TO &mcolor2
  74.    ENDIF
  75.    @ 3,4 TO 13,76
  76.    @ 1,29 TO 3,53 DOUBLE
  77.    IF monitor = 'C'
  78.       SET COLOR TO &mcolor3
  79.    ENDIF
  80.    @ 2,5 SAY DATE()
  81.    @ 2,68 SAY TIME()
  82.    IF monitor = 'C'
  83.       SET COLOR TO &mcolor2
  84.    ENDIF
  85.    @ 2,33 SAY 'S U M M A R I E S'
  86.    IF monitor = 'C'
  87.       SET COLOR TO &mcolor
  88.    ENDIF
  89.    @ 5,30 SAY '1> Search by SIC Code'
  90.    @ 7,30 SAY '2> Search by Industry'
  91.    @ 9,30 SAY '3> Database Directory'
  92.    @11,30 SAY '4> Job Hunting Expenses'
  93.    IF monitor = 'C'
  94.       SET COLOR TO &mcolor5
  95.    ENDIF
  96.    @ 15,0 SAY ' '
  97.    WAIT '                        Pick a number or type Q to Quit  ' TO choice
  98.    IF monitor = 'C'
  99.       SET COLOR TO &mcolor
  100.    ENDIF
  101.  
  102.    DO CASE
  103.       CASE choice = '1'
  104.          IF type = 'C'
  105.             DO sicsearch
  106.          ELSE
  107.             DO notvalid
  108.          ENDIF
  109.       CASE choice = '2'
  110.          IF type = 'E'
  111.             DO indsearch
  112.          ELSE
  113.             IF type = 'T'
  114.                DO indsearch
  115.             ELSE
  116.                DO notvalid
  117.             ENDIF
  118.          ENDIF
  119.       CASE choice = '3'
  120.          DO dbdir
  121.       CASE choice = '4'
  122.          DO expenses
  123.       CASE UPPER(choice) = 'Q'
  124.          RETURN
  125.    ENDCASE
  126. ENDDO
  127.  
  128.  
  129. *******************
  130. PROCEDURE sicsearch
  131. *******************
  132.  
  133. CLEAR GETS
  134. SELECT 6
  135. USE sic INDEX sicno
  136. SELECT 1
  137. USE company INDEX division
  138. CLEAR
  139. STORE ' ' to sic
  140. @ 13,5 SAY ' '
  141. ACCEPT '          Enter the SIC code to search for or type Q to quit:  ' TO sic
  142. CLEAR
  143. @ 0,33 SAY 'SIC code: '+ sic
  144. @ 1, 5 SAY ' '
  145. LIST division, city, state, sales, employees FOR code1=sic .OR. code2=sic .OR. code3=sic .OR. code4=sic OFF
  146. WAIT
  147. RETURN
  148.  
  149.  
  150. *******************
  151. PROCEDURE indsearch
  152. *******************
  153.  
  154. CLEAR GETS
  155. SELECT 6
  156. IF type = 'E'
  157.    SELECT 3
  158.    USE execsrch INDEX execname
  159. ELSE
  160.    SELECT 4
  161.    USE tempsrch INDEX tempname
  162. ENDIF
  163. CLEAR
  164. STORE ' ' to sic
  165. @ 13,5 SAY ' '
  166. ACCEPT '        Enter the Industry code to search for or type Q to quit:  ' TO sic
  167. CLEAR
  168. @ 0,30 SAY 'Industry: '+ sic
  169. @ 1, 5 SAY ' '
  170. LIST name, city, state for indus1=sic .OR. indus2=sic .OR. indus3=sic .OR. indus4=sic OFF
  171. WAIT
  172. RETURN
  173.  
  174.  
  175. ***************
  176. PROCEDURE dbdir
  177. ***************
  178.  
  179. CLEAR GETS
  180. CLEAR
  181. @ 5,5 SAY ' '
  182. DIR
  183. WAIT
  184. RETURN
  185.  
  186.  
  187. ******************
  188. PROCEDURE expenses
  189. ******************
  190.  
  191. CLEAR GETS
  192. SELECT 5
  193. STORE 0 TO jobtot
  194. STORE 0 TO jobtot1
  195. USE jobexpen INDEX jobexpen
  196. CLEAR
  197. @ 1,28 TO 3,51
  198. @ 2,30 SAY 'Job Hunting Expenses'
  199. @ 4,43 SAY 'Type'
  200. @ 6,20 SAY 'Lodging                  L'
  201. SUM amount FOR type = 'L' TO jobtot
  202. @ 6,50 SAY jobtot PICTURE "99,999.99"
  203. @ 8,20 SAY 'Meals                    M'
  204. SUM amount FOR type = 'M' TO jobtot
  205. @ 8,50 SAY jobtot PICTURE "99,999.99"
  206. @10,20 SAY 'Auto Expenses            A'
  207. SUM amount FOR type = 'A' TO jobtot
  208. @10,50 SAY jobtot PICTURE "99,999.99"
  209. @12,20 SAY 'Auto mileage             A'
  210. SUM miles FOR type = 'A' TO jobtot
  211. @12,50 SAY jobtot * monimile PICTURE "99,999.99"
  212. @14,20 SAY 'Transportation           T'
  213. SUM amount FOR type = 'T' TO jobtot
  214. @14,50 SAY jobtot PICTURE "99,999.99"
  215. @16,20 SAY 'Postage & Stationery     P'
  216. SUM amount FOR type = 'P' TO jobtot
  217. @16,50 SAY jobtot PICTURE "99,999.99"
  218. @18,20 SAY 'All Other                O'
  219. SUM amount FOR type = 'O' TO jobtot
  220. @18,50 SAY jobtot PICTURE "99,999.99"
  221. @19,49 SAY '___________'
  222. @21,30 SAY 'T O T A L'
  223. SUM amount TO jobtot
  224. SUM miles TO jobtot1
  225. @21,50 SAY jobtot + (jobtot1 * monimile) PICTURE "99,999.99"
  226. @23,0
  227. WAIT
  228.  
  229.  
  230. ****************
  231. PROCEDURE packdb
  232. ****************
  233.  
  234. CLEAR GETS
  235. STORE ' ' TO enter
  236. CLEAR
  237. IF monitor = 'C'
  238.    SET COLOR TO &mcolor2
  239. ENDIF
  240. @3,4 TO 17,76
  241. @1,26 TO 3,54 DOUBLE
  242. @2,29 SAY 'F I L E   P A C K I N G'
  243. IF monitor = 'C'
  244.    SET COLOR TO &mcolor
  245. ENDIF
  246. @6,7 SAY 'C A U T I O N :  This operation will permanently remove records'
  247. @10,24 SAY 'marked for deletion from the active database.'
  248. @14,24 SAY 'Press P to continue, or Q to quit. ' GET enter
  249. READ
  250. IF UPPER(enter) <> 'P'
  251.    RETURN
  252. ELSE
  253.    SET TALK ON
  254.    SET STATUS ON
  255.    IF type = 'C'
  256.       SELECT 1
  257.       USE company INDEX division
  258.    ELSE
  259.       IF type = 'N'
  260.          SELECT 2
  261.          USE network INDEX network
  262.       ELSE
  263.          IF type = 'E'
  264.             SELECT 3
  265.             USE execsrch INDEX execname
  266.          ELSE
  267.             IF type = 'T'
  268.                SELECT 4
  269.                USE tempsrch INDEX tempname
  270.             ELSE
  271.                SELECT 5
  272.                USE jobexpen INDEX jobexpen
  273.             ENDIF
  274.          ENDIF
  275.       ENDIF
  276.    ENDIF
  277.    CLEAR
  278.    PACK
  279.    WAIT
  280.    SET TALK OFF
  281.    SET STATUS OFF
  282.    RETURN
  283. ENDIF
  284.  
  285.  
  286. ****************
  287. PROCEDURE backup
  288. ****************
  289.  
  290. CLEAR GETS
  291. CLEAR
  292. STORE ' ' TO enter
  293. CLEAR
  294. IF monitor = 'C'
  295.    SET COLOR TO &mcolor2
  296. ENDIF
  297. @3,0 TO 22,79
  298. @1,26 TO 3,54 DOUBLE
  299. @2,30 SAY 'F I L E   B A C K U P'
  300. IF monitor = 'C'
  301.    SET COLOR TO &mcolor
  302. ENDIF
  303. @5,4 SAY 'Place a formatted disk in drive A and press B when ready or Q to Quit' GET enter
  304. READ
  305. IF UPPER(enter) <> 'B'
  306.    RETURN
  307. ELSE
  308.    DO cpycolor
  309.    @ 5,4 SAY '                                                                       '
  310.    @ 6,23 SAY 'Backup in process, do not interrupt.'
  311.    IF monitor = 'C'
  312.       SET COLOR TO &mcolor
  313.    ELSE
  314.       SET COLOR TO &mono
  315.    ENDIF
  316.    CLOSE DATABASES
  317.    @ 9, 3 SAY 'COMPANY.DBF'
  318.    @11, 3 SAY 'NETWORK.DBF'
  319.    @13, 3 SAY 'EXECSRCH.DBF'
  320.    @15, 3 SAY 'TEMPSRCH.DBF'
  321.    @17, 3 SAY 'SIC.DBF'
  322.    @19, 3 SAY 'JOBEXPEN.DBF'
  323.    IF monidb = 'F'
  324.       @ 9,29 SAY 'COMPANY.FPT'
  325.       @11,29 SAY 'NETWORK.FPT'
  326.       @13,29 SAY 'EXECSRCH.FPT'
  327.       @15,29 SAY 'TEMPSRCH.FPT'
  328.       @ 9,55 SAY 'DIVISION.IDX'
  329.       @11,55 SAY 'NETWORK.IDX'
  330.       @13,55 SAY 'EXECNAME.IDX'
  331.       @15,55 SAY 'TEMPNAME.IDX'
  332.       @17,55 SAY 'SICNO.IDX'
  333.       @19,55 SAY 'JOBEXPEN.IDX'
  334.    ELSE
  335.       @ 9,29 SAY 'COMPANY.DBT'
  336.       @11,29 SAY 'NETWORK.DBT'
  337.       @13,29 SAY 'EXECSRCH.DBT'
  338.       @15,29 SAY 'TEMPSRCH.DBT'
  339.       @ 9,55 SAY 'DIVISION.NDX'
  340.       @11,55 SAY 'NETWORK.NDX'
  341.       @13,55 SAY 'EXECNAME.NDX'
  342.       @15,55 SAY 'TEMPNAME.NDX'
  343.       @17,55 SAY 'SICNO.NDX'
  344.       @19,55 SAY 'JOBEXPEN.NDX'
  345.    ENDIF
  346.    DO cpycolor
  347.    @ 9,16 SAY 'Copying'
  348.    @23, 0
  349.    COPY FILE company.dbf TO A:company.dbf
  350.    DO cptcolor
  351.    @ 9,16 SAY 'Completed'
  352.    DO cpycolor
  353.    @11,16 SAY 'Copying'
  354.    @23, 0
  355.    COPY FILE network.dbf TO A:network.dbf
  356.    DO cptcolor
  357.    @11,16 SAY 'Completed'
  358.    DO cpycolor
  359.    @13,16 SAY 'Copying'
  360.    @23, 0
  361.    COPY FILE execsrch.dbf TO A:execsrch.dbf
  362.    DO cptcolor
  363.    @13,16 SAY 'Completed'
  364.    DO cpycolor
  365.    @15,16 SAY 'Copying'
  366.    @23, 0
  367.    COPY FILE tempsrch.dbf TO A:tempsrch.dbf
  368.    DO cptcolor
  369.    @15,16 SAY 'Completed'
  370.    DO cpycolor
  371.    @17,16 SAY 'Copying'
  372.    @23, 0
  373.    COPY FILE sic.dbf TO A:sic.dbf
  374.    DO cptcolor
  375.    @17,16 SAY 'Completed'
  376.    DO cpycolor
  377.    @19,16 SAY 'Copying'
  378.    @23, 0
  379.    COPY FILE jobexpen.dbf TO A:jobexpen.dbf
  380.    DO cptcolor
  381.    @19,16 SAY 'Completed'
  382.    DO cpycolor
  383.    @ 9,42 SAY 'Copying'
  384.    @23, 0
  385.    IF monidb = 'F'
  386.       COPY FILE company.fpt TO A:company.fpt
  387.       DO cptcolor
  388.       @ 9,42 SAY 'Completed'
  389.       DO cpycolor
  390.       @11,42 SAY 'Copying'
  391.       @23, 0
  392.       COPY FILE network.fpt TO A:network.fpt
  393.       DO cptcolor
  394.       @11,42 SAY 'Completed'
  395.       DO cpycolor
  396.       @13,42 SAY 'Copying'
  397.       @23, 0
  398.       COPY FILE execsrch.fpt TO A:execsrch.fpt
  399.       DO cptcolor
  400.       @13,42 SAY 'Completed'
  401.       DO cpycolor
  402.       @15,42 SAY 'Copying'
  403.       @23, 0
  404.       COPY FILE tempsrch.fpt TO A:tempsrch.fpt
  405.       DO cptcolor
  406.       @15,42 SAY 'Completed'
  407.       DO cpycolor
  408.       @ 9,68 SAY 'Copying'
  409.       @23, 0
  410.       COPY FILE division.idx TO A:division.idx
  411.       DO cptcolor
  412.       @ 9,68 SAY 'Completed'
  413.       DO cpycolor
  414.       @11,68 SAY 'Copying'
  415.       @23, 0
  416.       COPY FILE network.idx TO A:network.idx
  417.       DO cptcolor
  418.       @11,68 SAY 'Completed'
  419.       DO cpycolor
  420.       @13,68 SAY 'Copying'
  421.       @23, 0
  422.       COPY FILE execname.idx TO A:execname.idx
  423.       DO cptcolor
  424.       @13,68 SAY 'Completed'
  425.       DO cpycolor
  426.       @15,68 SAY 'Copying'
  427.       @23, 0
  428.       COPY FILE tempname.idx TO A:tempname.idx
  429.       DO cptcolor
  430.       @15,68 SAY 'Completed'
  431.       DO cpycolor
  432.       @17,68 SAY 'Copying'
  433.       @23, 0
  434.       COPY FILE sicno.idx TO A:sicno.idx
  435.       DO cptcolor
  436.       @17,68 SAY 'Completed'
  437.       DO cpycolor
  438.       @19,68 SAY 'Copying'
  439.       @23, 0
  440.       COPY FILE jobexpen.idx TO A:jobexpen.idx
  441.       DO cptcolor
  442.       @19,68 SAY 'Completed'
  443.    ELSE
  444.       COPY FILE company.dbt TO A:company.dbt
  445.       DO cptcolor
  446.       @ 9,42 SAY 'Completed'
  447.       DO cpycolor
  448.       @11,42 SAY 'Copying'
  449.       @23, 0
  450.       COPY FILE network.dbt TO A:network.dbt
  451.       DO cptcolor
  452.       @11,42 SAY 'Completed'
  453.       DO cpycolor
  454.       @13,42 SAY 'Copying'
  455.       @23, 0
  456.       COPY FILE execsrch.dbt TO A:execsrch.dbt
  457.       DO cptcolor
  458.       @13,42 SAY 'Completed'
  459.       DO cpycolor
  460.       @15,42 SAY 'Copying'
  461.       @23, 0
  462.       COPY FILE tempsrch.dbt TO A:tempsrch.dbt
  463.       DO cptcolor
  464.       @15,42 SAY 'Completed'
  465.       DO cpycolor
  466.       @ 9,68 SAY 'Copying'
  467.       @23, 0
  468.       COPY FILE division.ndx TO A:division.ndx
  469.       DO cptcolor
  470.       @ 9,68 SAY 'Completed'
  471.       DO cpycolor
  472.       @11,68 SAY 'Copying'
  473.       @23, 0
  474.       COPY FILE network.ndx TO A:network.ndx
  475.       DO cptcolor
  476.       @11,68 SAY 'Completed'
  477.       DO cpycolor
  478.       @13,68 SAY 'Copying'
  479.       @23, 0
  480.       COPY FILE execname.ndx TO A:execname.ndx
  481.       DO cptcolor
  482.       @13,68 SAY 'Completed'
  483.       DO cpycolor
  484.       @15,68 SAY 'Copying'
  485.       @23, 0
  486.       COPY FILE tempname.ndx TO A:tempname.ndx
  487.       DO cptcolor
  488.       @15,68 SAY 'Completed'
  489.       DO cpycolor
  490.       @17,68 SAY 'Copying'
  491.       @23, 0
  492.       COPY FILE sicno.ndx TO A:sicno.ndx
  493.       DO cptcolor
  494.       @17,68 SAY 'Completed'
  495.       DO cpycolor
  496.       @19,68 SAY 'Copying'
  497.       @23, 0
  498.       COPY FILE jobexpen.ndx TO A:jobexpen.ndx
  499.       DO cptcolor
  500.       @19,68 SAY 'Completed'
  501.    ENDIF
  502.    @ 6,10 SAY '                                                       '
  503.    @21,23 SAY 'File backup successfully completed.'
  504.    @23,0
  505.    IF monitor = 'C'
  506.       SET COLOR TO &mcolor2
  507.    ENDIF
  508.    WAIT '                            Press any key to continue'
  509.    IF monitor = 'C'
  510.       SET COLOR TO &mcolor
  511.    ENDIF
  512.    RETURN
  513. ENDIF
  514.  
  515.  
  516. ******************
  517. PROCEDURE cpycolor
  518. ******************
  519.  
  520. IF monitor = 'C'
  521.    IF monidb = 'F'
  522.       SET COLOR TO &mcolor3
  523.    ELSE
  524.       SET COLOR TO &mcolor7
  525.    ENDIF
  526. ELSE
  527.    SET COLOR TO &mono2
  528. ENDIF
  529. RETURN
  530.  
  531.  
  532. ******************
  533. PROCEDURE cptcolor
  534. ******************
  535.  
  536. IF monitor = 'C'
  537.    SET COLOR TO &mcolor2
  538. ELSE
  539.    SET COLOR TO &mono
  540. ENDIF
  541. RETURN
  542.  
  543.  
  544. *******************
  545. PROCEDURE utilities
  546. *******************
  547.  
  548. CLEAR
  549. CLEAR GETS
  550. DO WHILE .T.
  551.    CLEAR
  552.    IF monitor = 'C'
  553.       SET COLOR TO &mcolor2
  554.    ENDIF
  555.    @ 3,4 TO 17,76
  556.    @ 1,12 TO 3,68 DOUBLE
  557.    @ 2,19 SAY 'S E T U P   &   U T I L I T I E S   M E N U'
  558.    IF monitor = 'C'
  559.       SET COLOR TO &mcolor
  560.    ENDIF
  561.    @  5,25 SAY '1> Display Setup Data'
  562.    @  7,25 SAY '2> Change Setup Data'
  563.    @  9,25 SAY '3> Sort all Databases'
  564.    @ 11,25 SAY '4> Pack all Memo Files'
  565.    @ 13,25 SAY '5> Export Records for Mail Merge'
  566.    IF monitor = 'C'
  567.       SET COLOR TO &mcolor5
  568.    ENDIF
  569.    @ 20,0 SAY ' '
  570.    WAIT '                         Pick a number or type Q to Quit  ' TO choice
  571.    IF monitor = 'C'
  572.       SET COLOR TO &mcolor
  573.    ENDIF
  574.  
  575.    DO CASE
  576.    CASE choice = '1'
  577.       DO display
  578.    CASE choice = '2'
  579.       DO setup
  580.    CASE choice = '3'
  581.       DO dbsort
  582.    CASE choice = '4'
  583.       DO fixmemo
  584.    CASE choice = '5'
  585.       DO mrgchce
  586.       DO mailmerge
  587.    CASE UPPER(choice) = 'Q'
  588.       RETURN
  589.  
  590.    ENDCASE
  591. ENDDO
  592.  
  593.  
  594. *****************
  595. PROCEDURE display
  596. *****************
  597.  
  598. CLEAR
  599. @1,29 TO 3,51 DOUBLE
  600. @2,31 SAY 'S E T U P   D A T A'
  601. @ 8,21 SAY 'Color or Monochrome monitor    =   ' + monitor
  602. @10,21 SAY 'Epson, IBM or Laserjet printer =   ' + moniprnt
  603. @12,21 SAY 'dBASE III or Foxpro version    =   ' + monidb
  604. @14,21 SAY 'Mileage rate used on expenses  =  $'
  605. @14,56 SAY monimile PICTURE "9.99"
  606. @18,14 SAY ' '
  607. WAIT '                            Press any key to continue'
  608. RETURN
  609.  
  610.  
  611. ***************
  612. PROCEDURE setup
  613. ***************
  614.  
  615. CLEAR TYPEAHEAD
  616. STORE ' ' TO msg
  617. SET COLOR TO &mono
  618. CLEAR
  619. STORE ' ' TO enter
  620. @1,26 TO 3,54 DOUBLE
  621. @2,28 SAY 'I N I T I A L   S E T U P'
  622. STORE 'CM' TO msg
  623. @ 9,23 SAY 'Color or Monochrome monitor (C/M)? ' GET enter PICTURE '!'
  624. READ SAVE
  625. DO WHILE .NOT. enter $ msg
  626.    ?? CHR(7)
  627.    READ SAVE
  628. ENDDO
  629. STORE enter TO monitor
  630. CLEAR
  631. STORE ' ' TO enter
  632. @1,26 TO 3,54 DOUBLE
  633. @2,28 SAY 'I N I T I A L   S E T U P'
  634. STORE 'EIL' TO msg
  635. @ 9,9 SAY 'Epson, IBM printer or Hewlett Packard Laserjet (E/I/L)? ' GET enter PICTURE '!'
  636. READ SAVE
  637. DO WHILE .NOT. enter $ msg
  638.    ?? CHR(7)
  639.    READ SAVE
  640. ENDDO
  641. STORE enter TO moniprnt
  642. CLEAR
  643. STORE ' ' TO enter
  644. @1,26 TO 3,54 DOUBLE
  645. @2,28 SAY 'I N I T I A L   S E T U P'
  646. STORE 'DF' TO msg
  647. @ 9,8 SAY 'What database are you using; dBASE III or Foxpro (D/F)? ' GET enter PICTURE '!'
  648. READ SAVE
  649. DO WHILE .NOT. enter $ msg
  650.    ?? CHR(7)
  651.    READ SAVE
  652. ENDDO
  653. STORE enter TO monidb
  654. CLEAR
  655. STORE 0 TO monimile
  656. @1,26 TO 3,54 DOUBLE
  657. @2,28 SAY 'I N I T I A L   S E T U P'
  658. @ 9,10 SAY 'Enter the mileage rate   $' GET monimile PICTURE "9.99"
  659. READ SAVE
  660. STORE DATE() TO monidate
  661.  
  662. SAVE ALL LIKE moni* TO setup
  663. CLEAR
  664. RETURN
  665.  
  666.  
  667. ****************
  668. PROCEDURE dbindx
  669. ****************
  670.  
  671. CLEAR
  672. @11,30 SAY 'Please wait. . . . . .'
  673. SELECT 1
  674. USE company INDEX division
  675. REINDEX
  676. SELECT 2
  677. USE network INDEX network
  678. REINDEX
  679. SELECT 3
  680. USE execsrch INDEX execname
  681. REINDEX
  682. SELECT 4
  683. USE tempsrch INDEX tempname
  684. REINDEX
  685. SELECT 5
  686. USE jobexpen INDEX jobexpen
  687. REINDEX
  688. SELECT 6
  689. USE sic INDEX sicno
  690. REINDEX
  691. CLOSE DATABASES
  692. @11,30 SAY '                                       '
  693. @15,20 SAY 'Files have been successfully reindexed.'
  694. @20,10 SAY ' '
  695. IF monitor = 'C'
  696.    SET COLOR TO &mcolor2
  697. ENDIF
  698. WAIT '                         Press any key to continue'
  699. IF monitor = 'C'
  700.    SET COLOR TO &mcolor
  701. ENDIF
  702. RETURN
  703.  
  704.  
  705. ****************
  706. PROCEDURE dbsort
  707. ****************
  708.  
  709. CLEAR GETS
  710. CLEAR
  711. STORE ' ' TO enter
  712. CLEAR
  713. IF monitor = 'C'
  714.    SET COLOR TO &mcolor2
  715. ENDIF
  716. @3,4 TO 17,76
  717. @1,26 TO 3,54 DOUBLE
  718. @2,30 SAY 'F I L E   R E S O R T'
  719. IF monitor = 'C'
  720.    SET COLOR TO &mcolor
  721. ENDIF
  722. @6,8 SAY 'Make sure that the data files have been backed up prior to resort.'
  723. @8,25 SAY 'Press S when ready or Q to Quit' GET enter
  724. READ
  725. IF UPPER(enter) <> 'S'
  726.    RETURN
  727. ELSE
  728.    IF DISKSPACE() < 1000000
  729.       @ 12, 8 SAY 'You must have at least 1 megabyte of free space on the disk'
  730.       @ 13, 8 SAY 'to resort the data files.  Currently the disk has free space'
  731.       @ 14, 8 SAY 'of'
  732.       @ 14,10 SAY DISKSPACE()
  733.       @ 14,21 SAY 'bytes.  Delete unnecessary files and try again.'
  734.       @ 20,10 SAY ' '
  735.       WAIT '                           Press any key to continue'
  736.       RETURN
  737.    ENDIF
  738.    IF monitor = 'C'
  739.       SET COLOR TO &mcolor7
  740.    ELSE
  741.       SET COLOR TO &mono2
  742.    ENDIF
  743.    @13,10 SAY 'Sort is in process, do not interrupt.'
  744.    IF monitor = 'C'
  745.       SET COLOR TO &mcolor
  746.    ELSE
  747.       SET COLOR TO &mono
  748.    ENDIF
  749.    CLOSE DATABASES
  750.    SELECT 1
  751.    USE company INDEX division
  752.    IF RECCOUNT() > 1
  753.       SORT TO comp ON division, company
  754.       CLOSE DATABASES
  755.       ERASE company.dbf
  756.       RENAME comp.dbf TO company.dbf
  757.       IF monidb = 'F'
  758.          ERASE company.fpt
  759.          RENAME comp.fpt TO company.fpt
  760.       ELSE
  761.          ERASE company.dbt
  762.          RENAME comp.dbt TO company.dbt
  763.       ENDIF
  764.       USE company INDEX division
  765.       REINDEX
  766.       CLOSE DATABASES
  767.    ENDIF
  768.    SELECT 2
  769.    USE network INDEX network
  770.    IF RECCOUNT() > 1
  771.       SORT TO net ON last, first
  772.       CLOSE DATABASES
  773.       ERASE network.dbf
  774.       RENAME net.dbf TO network.dbf
  775.       IF monidb = 'F'
  776.          ERASE network.fpt
  777.          RENAME net.fpt TO network.fpt
  778.       ELSE
  779.          ERASE network.dbt
  780.          RENAME net.dbt TO network.dbt
  781.       ENDIF
  782.       USE network INDEX network
  783.       REINDEX
  784.       CLOSE DATABASES
  785.    ENDIF
  786.    SELECT 3
  787.    USE execsrch INDEX execname
  788.    IF RECCOUNT() > 1
  789.       SORT TO exec ON name
  790.       CLOSE DATABASES
  791.       ERASE execsrch.dbf
  792.       RENAME exec.dbf TO execsrch.dbf
  793.       IF monidb = 'F'
  794.          ERASE execsrch.fpt
  795.          RENAME exec.fpt TO execsrch.fpt
  796.       ELSE
  797.          ERASE execsrch.dbt
  798.          RENAME exec.dbt TO execsrch.dbt
  799.       ENDIF
  800.       USE execsrch INDEX execname
  801.       REINDEX
  802.       CLOSE DATABASES
  803.    ENDIF
  804.    SELECT 4
  805.    USE tempsrch INDEX tempname
  806.    IF RECCOUNT() > 1
  807.       SORT TO temp ON name
  808.       CLOSE DATABASES
  809.       ERASE tempsrch.dbf
  810.       RENAME temp.dbf TO tempsrch.dbf
  811.       IF monidb = 'F'
  812.          ERASE tempsrch.fpt
  813.          RENAME temp.fpt TO tempsrch.fpt
  814.       ELSE
  815.          ERASE tempsrch.dbt
  816.          RENAME temp.dbt TO tempsrch.dbt
  817.       ENDIF
  818.       USE tempsrch INDEX tempname
  819.       REINDEX
  820.       CLOSE DATABASES
  821.    ENDIF
  822.    SELECT 5
  823.    USE jobexpen INDEX jobexpen
  824.    IF RECCOUNT() > 1
  825.       SORT TO job2 ON date
  826.       CLOSE DATABASES
  827.       ERASE jobexpen.dbf
  828.       RENAME job2.dbf TO jobexpen.dbf
  829.       USE jobexpen INDEX jobexpen
  830.       REINDEX
  831.       CLOSE DATABASES
  832.    ENDIF
  833.    SELECT 6
  834.    USE sic INDEX sicno
  835.    IF RECCOUNT() > 1
  836.       SORT TO sic2 ON sic
  837.       CLOSE DATABASES
  838.       ERASE sic.dbf
  839.       RENAME sic2.dbf TO sic.dbf
  840.       USE sic INDEX sicno
  841.       REINDEX
  842.       CLOSE DATABASES
  843.    ENDIF
  844.  
  845.    @13,10 SAY '                                      '
  846.    @15,10 SAY 'File sort successfully completed.'
  847.    @20,10 SAY ' '
  848.    IF monitor = 'C'
  849.       SET COLOR TO &mcolor2
  850.    ENDIF
  851.    WAIT '                    Press any key to continue'
  852.    IF monitor = 'C'
  853.       SET COLOR TO &mcolor
  854.    ENDIF
  855.    RETURN
  856. ENDIF
  857.  
  858.  
  859. *****************
  860. PROCEDURE fixmemo
  861. *****************
  862.  
  863. CLEAR GETS
  864. CLEAR
  865. STORE ' ' TO enter
  866. CLEAR
  867. IF monitor = 'C'
  868.    SET COLOR TO &mcolor2
  869. ENDIF
  870. @3,4 TO 17,76
  871. @1,25 TO 3,55 DOUBLE
  872. @2,27 SAY 'M E M O   F I L E   P A C K'
  873. IF monitor = 'C'
  874.    SET COLOR TO &mcolor
  875. ENDIF
  876. @6,13 SAY 'Make sure that the data files have been backed up prior'
  877. @8,13 SAY 'to pack of memo files.'
  878. @10,25 SAY 'Press R when ready or Q to Quit' GET enter
  879. READ
  880. IF UPPER(enter) <> 'R'
  881.    RETURN
  882. ELSE
  883.    IF DISKSPACE() < 1000000
  884.       @ 12, 8 SAY 'You must have at least 1 megabyte of free space on the disk'
  885.       @ 13, 8 SAY 'to repair the memo files.  Currently the disk has free space'
  886.       @ 14, 8 SAY 'of'
  887.       @ 14,10 SAY DISKSPACE()
  888.       @ 14,21 SAY 'bytes.  Delete unnecessary files and try again.'
  889.       @ 20,10 SAY ' '
  890.       WAIT '                           Press any key to continue'
  891.       RETURN
  892.    ENDIF
  893.    IF monitor = 'C'
  894.       SET COLOR TO &mcolor7
  895.    ELSE
  896.       SET COLOR TO &mono2
  897.    ENDIF
  898.    @13,10 SAY 'Repair and pack is in process, do not interrupt.'
  899.    IF monitor = 'C'
  900.       SET COLOR TO &mcolor
  901.    ELSE
  902.       SET COLOR TO &mono
  903.    ENDIF
  904.    CLOSE DATABASES
  905.    SET TALK ON
  906.    SET STATUS ON
  907.    IF monidb = 'F'
  908.       SELECT 1
  909.       USE company INDEX division
  910.       COPY TO comp
  911.       CLOSE DATABASES
  912.       ERASE company.dbf
  913.       ERASE company.fpt
  914.       RENAME comp.dbf TO company.dbf
  915.       RENAME comp.fpt TO company.fpt
  916.       USE company INDEX division
  917.       REINDEX
  918.       SELECT 2
  919.       USE network INDEX network
  920.       COPY TO net
  921.       CLOSE DATABASES
  922.       ERASE network.dbf
  923.       ERASE network.fpt
  924.       RENAME net.dbf TO network.dbf
  925.       RENAME net.fpt TO network.fpt
  926.       USE network INDEX network
  927.       REINDEX
  928.       CLOSE DATABASES
  929.       SELECT 3
  930.       USE execsrch INDEX execname
  931.       COPY TO exec
  932.       CLOSE DATABASES
  933.       ERASE execsrch.dbf
  934.       ERASE execsrch.fpt
  935.       RENAME exec.dbf TO execsrch.dbf
  936.       RENAME exec.fpt TO execsrch.fpt
  937.       USE execsrch INDEX execname
  938.       REINDEX
  939.       CLOSE DATABASES
  940.       SELECT 4
  941.       USE tempsrch INDEX tempname
  942.       COPY TO temp
  943.       CLOSE DATABASES
  944.       ERASE tempsrch.dbf
  945.       ERASE tempsrch.fpt
  946.       RENAME temp.dbf TO tempsrch.dbf
  947.       RENAME temp.fpt TO tempsrch.fpt
  948.       USE tempsrch INDEX tempname
  949.       REINDEX
  950.       CLOSE DATABASES
  951.    ELSE
  952.       SELECT 1
  953.       USE company INDEX division
  954.       COPY TO comp
  955.       CLOSE DATABASES
  956.       ERASE company.dbf
  957.       ERASE company.dbt
  958.       RENAME comp.dbf TO company.dbf
  959.       RENAME comp.dbt TO company.dbt
  960.       USE company INDEX division
  961.       REINDEX
  962.       SELECT 2
  963.       USE network INDEX network
  964.       COPY TO net
  965.       CLOSE DATABASES
  966.       ERASE network.dbf
  967.       ERASE network.dbt
  968.       RENAME net.dbf TO network.dbf
  969.       RENAME net.dbt TO network.dbt
  970.       USE network INDEX network
  971.       REINDEX
  972.       CLOSE DATABASES
  973.       SELECT 3
  974.       USE execsrch INDEX execname
  975.       COPY TO exec
  976.       CLOSE DATABASES
  977.       ERASE execsrch.dbf
  978.       ERASE execsrch.dbt
  979.       RENAME exec.dbf TO execsrch.dbf
  980.       RENAME exec.dbt TO execsrch.dbt
  981.       USE execsrch INDEX execname
  982.       REINDEX
  983.       CLOSE DATABASES
  984.       SELECT 4
  985.       USE tempsrch INDEX tempname
  986.       COPY TO temp
  987.       CLOSE DATABASES
  988.       ERASE tempsrch.dbf
  989.       ERASE tempsrch.dbt
  990.       RENAME temp.dbf TO tempsrch.dbf
  991.       RENAME temp.dbt TO tempsrch.dbt
  992.       USE tempsrch INDEX tempname
  993.       REINDEX
  994.       CLOSE DATABASES
  995.    ENDIF
  996.    SET TALK OFF
  997.    SET STATUS OFF
  998.    RETURN
  999. ENDIF
  1000.  
  1001.  
  1002. *****************
  1003. PROCEDURE mrgchce
  1004. *****************
  1005.  
  1006. DO WHILE .T.
  1007.    CLEAR
  1008.    CLOSE DATABASES
  1009.    @ 4,19 SAY 'Choose Database:'
  1010.    @ 7,23 SAY 'C> Company Database'
  1011.    @10,23 SAY 'E> Executive Search Firm Database'
  1012.    @13,23 SAY 'N> Network Database'
  1013.    @16,23 SAY 'T> Temporary Placement Firm Database'
  1014.    @19,0 SAY ' '
  1015.    WAIT '                   Choose C, E, N or T  ' TO choice
  1016.    DO CASE
  1017.    CASE UPPER(choice) = 'C'
  1018.       STORE 'C' TO type2
  1019.       RETURN
  1020.    CASE UPPER(choice) = 'N'
  1021.       STORE 'N' TO type2
  1022.       RETURN
  1023.    CASE UPPER(choice) = 'E'
  1024.       STORE 'E' TO type2
  1025.       RETURN
  1026.    CASE UPPER(choice) = 'T'
  1027.       STORE 'T' TO type2
  1028.       RETURN
  1029.    ENDCASE
  1030. ENDDO
  1031.  
  1032.  
  1033. *******************
  1034. PROCEDURE mailmerge
  1035. *******************
  1036.  
  1037. CLEAR GETS
  1038. CLEAR
  1039. IF type2 = 'C'
  1040.    SELECT 1
  1041.    USE company INDEX division
  1042.    @ 6,31 SAY 'Company Database:'
  1043. ENDIF
  1044. IF type2 = 'E'
  1045.    SELECT 3
  1046.    USE execsrch INDEX execname
  1047.    @ 6,24 SAY 'Executive Search Firm Database:'
  1048. ENDIF
  1049. IF type2 = 'N'
  1050.    SELECT 2
  1051.    USE network INDEX network
  1052.    @ 6,31 SAY 'Network Database:'
  1053. ENDIF
  1054. IF type2 = 'T'
  1055.    SELECT 4
  1056.    USE tempsrch INDEX tempname
  1057.    @6,22 SAY 'Temporary Placement Firm Database:'
  1058. ENDIF
  1059. STORE ' ' TO fname
  1060. @  8,17 SAY 'Records with no date in the ' + CHR(34) + 'Init Cont' + CHR(34) + ' field'
  1061. IF type2 = 'C'
  1062.    @  9,23 SAY 'and Y in the ' + CHR(34) + 'Direct Mail' + CHR(34) + ' field'
  1063.    @ 10,23 SAY 'will be exported to MERGLIST.DBF'
  1064. ELSE
  1065.    @  9,23 SAY 'will be exported to MERGLIST.DBF'
  1066. ENDIF
  1067. @ 13,25 SAY 'Press <Enter> to continue  ' GET fname
  1068. READ
  1069. IF type2 = 'C'
  1070.    COPY TO merglist FOR init_cont = CTOD('  /  /  ') .AND. dir_mail = 'Y'
  1071. ELSE
  1072.    COPY TO merglist FOR init_cont = CTOD('  /  /  ')
  1073. ENDIF
  1074. @ 13,0
  1075. SELECT 7
  1076. USE merglist
  1077. @ 13,12 SAY STR(RECCOUNT()) + ' records exported to MERGLIST.DBF'
  1078. @ 17,0
  1079. WAIT '                         Press any key to continue... '
  1080. CLOSE DATABASES
  1081. RETURN
  1082.  
  1083.  
  1084. *****************
  1085. PROCEDURE stopret
  1086. *****************
  1087.  
  1088. CLOSE FORMAT
  1089. RETURN TO MASTER
  1090.  
  1091.  
  1092. ******************
  1093. PROCEDURE notvalid
  1094. ******************
  1095.  
  1096. CLEAR
  1097. @ 10,18 SAY 'This function is not valid for this database.'
  1098. @ 15,14 SAY ' '
  1099. WAIT
  1100. RETURN
  1101.  
  1102.  
  1103. *: EOF: JOBUTIL.PRG
  1104.  
  1105.