home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a087 / 5.ddi / OFFICES.SP_ / OFFICES.bin
Encoding:
Text File  |  1994-02-02  |  17.8 KB  |  712 lines

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 01/26/94             OFFICES.SPR               16:32:47 
  4. *       *                                                         
  5. *       *********************************************************
  6. *       *                                                         
  7. *       * Author's Name                                           
  8. *       *                                                         
  9. *       * Copyright (c) 1994 Company Name                         
  10. *       * Address                                                 
  11. *       * City,     Zip                                           
  12. *       *                                                         
  13. *       * Description:                                            
  14. *       * This program was automatically generated by GENSCRN.    
  15. *       *                                                         
  16. *       *********************************************************
  17.  
  18.  
  19. #REGION 0
  20. REGIONAL m.currarea, m.talkstat, m.compstat
  21.  
  22. IF SET("TALK") = "ON"
  23.     SET TALK OFF
  24.     m.talkstat = "ON"
  25. ELSE
  26.     m.talkstat = "OFF"
  27. ENDIF
  28. m.compstat = SET("COMPATIBLE")
  29. SET COMPATIBLE FOXPLUS
  30.  
  31. m.rborder = SET("READBORDER")
  32. SET READBORDER ON
  33.  
  34. m.currarea = SELECT()
  35.  
  36.  
  37. *       *********************************************************
  38. *       *                                                         
  39. *       *     S9566467/Windows Databases, Indexes, Relations      
  40. *       *                                                         
  41. *       *********************************************************
  42. *
  43.  
  44. IF USED("offices")
  45.     SELECT offices
  46.     SET ORDER TO TAG "_qml0kymc9"
  47. ELSE
  48.     SELECT 0
  49.     USE (LOCFILE("offices.dbf","DBF","Where is offices?"));
  50.         AGAIN ALIAS offices ;
  51.         ORDER TAG "_qml0kymc9"
  52. ENDIF
  53.  
  54.  
  55. *       *********************************************************
  56. *       *                                                         
  57. *       *               Windows Window definitions                
  58. *       *                                                         
  59. *       *********************************************************
  60. *
  61.  
  62. IF NOT WEXIST("_qn00zgpx3")
  63.     DEFINE WINDOW _qn00zgpx3 ;
  64.         AT  0.000, 0.000  ;
  65.         SIZE 21.876,62.500 ;
  66.         TITLE "Offices" ;
  67.         FONT "ms sans serif", 10 ;
  68.         STYLE "B" ;
  69.         FLOAT ;
  70.         CLOSE ;
  71.         MINIMIZE ;
  72.         COLOR RGB(,,,192,192,192)
  73.     MOVE WINDOW _qn00zgpx3 CENTER
  74. ENDIF
  75.  
  76.  
  77. *       *********************************************************
  78. *       *                                                         
  79. *       *         OFFICES/Windows Setup Code - SECTION 2          
  80. *       *                                                         
  81. *       *********************************************************
  82. *
  83.  
  84. #REGION 1
  85.  
  86.  
  87. #DEFINE C_DBFEMPTY    'Database is empty, add a record?'
  88. #DEFINE C_EDITS            'Please finish your edits.'
  89. #DEFINE C_TOPFILE        'Top of file.'
  90. #DEFINE C_ENDFILE        'End of file.'
  91. #DEFINE C_BRTITLE        'Locate Record'
  92. #DEFINE C_NOLOCK        'Sorry, could not lock record -- try again later.'
  93. #DEFINE C_ECANCEL        'Edits Canceled.'
  94. #DEFINE C_DELREC        'Delete selected record?'
  95. #DEFINE C_NOFEAT        'Feature not available yet.'
  96. #DEFINE C_NOWIZ            'Wizard application is not available.'
  97. #DEFINE C_MAKEREPO        'Creating report with ReportWizard.'
  98. #DEFINE C_NOREPO        'Could not create report.'
  99.  
  100. MOVE WINDOW '_qn00zgpx3' CENTER
  101. PRIVATE isediting,isadding,wzolddelete,wzolderror,wzalias,tempcurs
  102. m.isediting=.F.
  103. m.isadding=.F.
  104. m.wzolddelete=SET('DELETE')
  105. SET DELETED ON
  106. m.wzalias=SELECT()
  107. m.tempcurs=SYS(2015)  &&used if General field
  108.  
  109. IF RECCOUNT()=0
  110.   IF fox_alert(C_DBFEMPTY)
  111.     APPEND BLANK
  112.   ENDIF
  113. ENDIF
  114. GOTO TOP
  115. SCATTER MEMVAR MEMO
  116. m.wzolderror=ON('error')
  117. ON ERROR DO wizerrorhandler
  118.  
  119. SET READBORDER OFF
  120.  
  121.  
  122. *       *********************************************************
  123. *       *                                                         
  124. *       *              OFFICES/Windows Screen Layout              
  125. *       *                                                         
  126. *       *********************************************************
  127. *
  128.  
  129. #REGION 1
  130. IF WVISIBLE("_qn00zgpx3")
  131.     ACTIVATE WINDOW _qn00zgpx3 SAME
  132. ELSE
  133.     ACTIVATE WINDOW _qn00zgpx3 NOSHOW
  134. ENDIF
  135. @ 0.000,0.125 TO 2.313,62.500 ;
  136.     PATTERN 1 ;
  137.     PEN 1, 8 ;
  138.     COLOR RGB(0,0,128,0,0,128)
  139. @ 0.313,3.000 SAY "Offices"  ;
  140.     FONT "MS Sans Serif", 14 ;
  141.     STYLE "BT" ;
  142.     COLOR RGB(192,192,192,192,192,192)
  143. @ 0.813,47.500 SAY "Date:"  ;
  144.     FONT "MS Sans Serif", 8 ;
  145.     STYLE "BT" ;
  146.     COLOR RGB(192,192,192,192,192,192)
  147. @ 0.813,52.250 SAY date() ;
  148.     SIZE 1.000,11.200 ;
  149.     FONT "MS Sans Serif", 8 ;
  150.     STYLE "T" ;
  151.     COLOR RGB(192,192,192,192,192,192)
  152. @ 3.000,3.000 TO 4.813,6.500 ;
  153.     PATTERN 1 ;
  154.     PEN 1, 8 ;
  155.     COLOR RGB(,,,255,255,255)
  156. @ 3.938,3.250 GET m.ono ;
  157.     SIZE 1.000,2.000 ;
  158.     DEFAULT " " ;
  159.     FONT "MS Sans Serif", 8 ;
  160.     STYLE "B" ;
  161.     PICTURE "@K X" ;
  162.     WHEN isediting ;
  163.     COLOR ,RGB(,,,255,255,255)
  164. @ 3.063,3.250 SAY "Ono:" ;
  165.     SIZE 1.000,8.600 ;
  166.     FONT "MS Sans Serif", 8 ;
  167.     STYLE "T" ;
  168.     COLOR RGB(0,0,255,255,255,255)
  169. @ 4.750,3.000 TO 6.563,12.375 ;
  170.     PATTERN 1 ;
  171.     PEN 1, 8 ;
  172.     COLOR RGB(,,,255,255,255)
  173. @ 5.688,3.250 GET m.ytdsales ;
  174.     SIZE 1.000,11.667 ;
  175.     DEFAULT " " ;
  176.     FONT "MS Sans Serif", 8 ;
  177.     STYLE "B" ;
  178.     PICTURE "@K 999,999.99" ;
  179.     WHEN isediting ;
  180.     COLOR ,RGB(,,,255,255,255)
  181. @ 4.813,3.250 SAY "Ytdsales:" ;
  182.     SIZE 1.000,8.600 ;
  183.     FONT "MS Sans Serif", 8 ;
  184.     STYLE "T" ;
  185.     COLOR RGB(0,0,255,255,255,255)
  186. @ 6.500,3.000 TO 8.313,11.125 ;
  187.     PATTERN 1 ;
  188.     PEN 1, 8 ;
  189.     COLOR RGB(,,,255,255,255)
  190. @ 7.438,3.250 GET m.zmin ;
  191.     SIZE 1.000,10.000 ;
  192.     DEFAULT " " ;
  193.     FONT "MS Sans Serif", 8 ;
  194.     STYLE "B" ;
  195.     PICTURE "@K XXXXX" ;
  196.     WHEN isediting ;
  197.     COLOR ,RGB(,,,255,255,255)
  198. @ 6.563,3.250 SAY "Zmin:" ;
  199.     SIZE 1.000,8.600 ;
  200.     FONT "MS Sans Serif", 8 ;
  201.     STYLE "T" ;
  202.     COLOR RGB(0,0,255,255,255,255)
  203. @ 8.250,3.000 TO 10.063,11.125 ;
  204.     PATTERN 1 ;
  205.     PEN 1, 8 ;
  206.     COLOR RGB(,,,255,255,255)
  207. @ 9.188,3.250 GET m.zmax ;
  208.     SIZE 1.000,10.000 ;
  209.     DEFAULT " " ;
  210.     FONT "MS Sans Serif", 8 ;
  211.     STYLE "B" ;
  212.     PICTURE "@K XXXXX" ;
  213.     WHEN isediting ;
  214.     COLOR ,RGB(,,,255,255,255)
  215. @ 8.313,3.250 SAY "Zmax:" ;
  216.     SIZE 1.000,8.600 ;
  217.     FONT "MS Sans Serif", 8 ;
  218.     STYLE "T" ;
  219.     COLOR RGB(0,0,255,255,255,255)
  220. @ 10.000,3.000 TO 11.813,38.625 ;
  221.     PATTERN 1 ;
  222.     PEN 1, 8 ;
  223.     COLOR RGB(,,,255,255,255)
  224. @ 10.938,3.250 GET m.address ;
  225.     SIZE 1.000,46.667 ;
  226.     DEFAULT " " ;
  227.     FONT "MS Sans Serif", 8 ;
  228.     STYLE "B" ;
  229.     PICTURE "@K XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ;
  230.     WHEN isediting ;
  231.     COLOR ,RGB(,,,255,255,255)
  232. @ 10.063,3.250 SAY "Address:" ;
  233.     SIZE 1.000,8.600 ;
  234.     FONT "MS Sans Serif", 8 ;
  235.     STYLE "T" ;
  236.     COLOR RGB(0,0,255,255,255,255)
  237. @ 11.750,3.000 TO 13.563,18.625 ;
  238.     PATTERN 1 ;
  239.     PEN 1, 8 ;
  240.     COLOR RGB(,,,255,255,255)
  241. @ 12.688,3.250 GET m.city ;
  242.     SIZE 1.000,20.000 ;
  243.     DEFAULT " " ;
  244.     FONT "MS Sans Serif", 8 ;
  245.     STYLE "B" ;
  246.     PICTURE "@K XXXXXXXXXXXXXXX" ;
  247.     WHEN isediting ;
  248.     COLOR ,RGB(,,,255,255,255)
  249. @ 11.813,3.250 SAY "City:" ;
  250.     SIZE 1.000,8.600 ;
  251.     FONT "MS Sans Serif", 8 ;
  252.     STYLE "T" ;
  253.     COLOR RGB(0,0,255,255,255,255)
  254. @ 13.500,3.000 TO 15.313,7.125 ;
  255.     PATTERN 1 ;
  256.     PEN 1, 8 ;
  257.     COLOR RGB(,,,255,255,255)
  258. @ 14.438,3.250 GET m.state ;
  259.     SIZE 1.000,4.000 ;
  260.     DEFAULT " " ;
  261.     FONT "MS Sans Serif", 8 ;
  262.     STYLE "B" ;
  263.     PICTURE "@K XX" ;
  264.     WHEN isediting ;
  265.     COLOR ,RGB(,,,255,255,255)
  266. @ 13.563,3.250 SAY "State:" ;
  267.     SIZE 1.000,8.600 ;
  268.     FONT "MS Sans Serif", 8 ;
  269.     STYLE "T" ;
  270.     COLOR RGB(0,0,255,255,255,255)
  271. @ 15.250,3.000 TO 17.063,11.125 ;
  272.     PATTERN 1 ;
  273.     PEN 1, 8 ;
  274.     COLOR RGB(,,,255,255,255)
  275. @ 16.188,3.250 GET m.zip ;
  276.     SIZE 1.000,10.000 ;
  277.     DEFAULT " " ;
  278.     FONT "MS Sans Serif", 8 ;
  279.     STYLE "B" ;
  280.     PICTURE "@K XXXXX" ;
  281.     WHEN isediting ;
  282.     COLOR ,RGB(,,,255,255,255)
  283. @ 15.313,3.250 SAY "Zip:" ;
  284.     SIZE 1.000,8.600 ;
  285.     FONT "MS Sans Serif", 8 ;
  286.     STYLE "T" ;
  287.     COLOR RGB(0,0,255,255,255,255)
  288. @ 17.000,3.000 TO 18.813,17.125 ;
  289.     PATTERN 1 ;
  290.     PEN 1, 8 ;
  291.     COLOR RGB(,,,255,255,255)
  292. @ 17.938,3.250 GET m.phone ;
  293.     SIZE 1.000,18.000 ;
  294.     DEFAULT " " ;
  295.     FONT "MS Sans Serif", 8 ;
  296.     STYLE "B" ;
  297.     PICTURE "@K XXXXXXXXXXXX" ;
  298.     WHEN isediting ;
  299.     COLOR ,RGB(,,,255,255,255)
  300. @ 17.063,3.250 SAY "Phone:" ;
  301.     SIZE 1.000,8.600 ;
  302.     FONT "MS Sans Serif", 8 ;
  303.     STYLE "T" ;
  304.     COLOR RGB(0,0,255,255,255,255)
  305. @ 18.813,0.000 TO 19.626,1.250 ;
  306.     PEN 1, 8 ;
  307.     STYLE "T" ;
  308.     COLOR RGB(192,192,192,,,,)
  309. @ 19.563,0.125 TO 21.876,62.500 ;
  310.     PATTERN 1 ;
  311.     PEN 1, 8 ;
  312.     COLOR RGB(0,0,128,0,0,128)
  313. @ 20.063,1.500 GET m.top_btn ;
  314.     PICTURE "@*HN \<Top" ;
  315.     SIZE 1.769,7.833,0.667 ;
  316.     DEFAULT 1 ;
  317.     FONT "MS Sans Serif", 8 ;
  318.     STYLE "B" ;
  319.     VALID btn_val('TOP') ;
  320.     MESSAGE 'Go to first record.'
  321. @ 20.063,7.500 GET m.prev_btn ;
  322.     PICTURE "@*HN \<Prev" ;
  323.     SIZE 1.769,7.833,0.667 ;
  324.     DEFAULT 1 ;
  325.     FONT "MS Sans Serif", 8 ;
  326.     STYLE "B" ;
  327.     VALID btn_val('PREV') ;
  328.     MESSAGE 'Go to previous record.'
  329. @ 20.063,13.500 GET m.next_btn ;
  330.     PICTURE "@*HN \<Next" ;
  331.     SIZE 1.769,7.833,0.667 ;
  332.     DEFAULT 1 ;
  333.     FONT "MS Sans Serif", 8 ;
  334.     STYLE "B" ;
  335.     VALID btn_val('NEXT') ;
  336.     MESSAGE 'Go to next record.'
  337. @ 20.063,19.500 GET m.end_btn ;
  338.     PICTURE "@*HN \<End" ;
  339.     SIZE 1.769,7.833,0.667 ;
  340.     DEFAULT 1 ;
  341.     FONT "MS Sans Serif", 8 ;
  342.     STYLE "B" ;
  343.     VALID btn_val('END') ;
  344.     MESSAGE 'Go to last record.'
  345. @ 20.063,25.500 GET m.loc_btn ;
  346.     PICTURE "@*HN \<Locate" ;
  347.     SIZE 1.769,7.833,0.667 ;
  348.     DEFAULT 1 ;
  349.     FONT "MS Sans Serif", 8 ;
  350.     STYLE "B" ;
  351.     VALID btn_val('LOCATE') ;
  352.     MESSAGE 'Locate a record.'
  353. @ 20.063,31.500 GET m.add_btn ;
  354.     PICTURE "@*HN \<Add" ;
  355.     SIZE 1.769,7.833,0.667 ;
  356.     DEFAULT 1 ;
  357.     FONT "MS Sans Serif", 8 ;
  358.     STYLE "B" ;
  359.     VALID btn_val('ADD') ;
  360.     MESSAGE 'Add a new record.'
  361. @ 20.063,37.500 GET m.edit_btn ;
  362.     PICTURE "@*HN Ed\<it" ;
  363.     SIZE 1.769,7.833,0.667 ;
  364.     DEFAULT 1 ;
  365.     FONT "MS Sans Serif", 8 ;
  366.     STYLE "B" ;
  367.     VALID btn_val('EDIT') ;
  368.     MESSAGE 'Edit current record.'
  369. @ 20.063,43.500 GET m.del_btn ;
  370.     PICTURE "@*HN \<Delete" ;
  371.     SIZE 1.769,7.833,0.667 ;
  372.     DEFAULT 1 ;
  373.     FONT "MS Sans Serif", 8 ;
  374.     STYLE "B" ;
  375.     VALID btn_val('DELETE') ;
  376.     MESSAGE 'Delete current record.'
  377. @ 20.063,49.500 GET m.prnt_btn ;
  378.     PICTURE "@*HN P\<rint" ;
  379.     SIZE 1.769,7.833,0.667 ;
  380.     DEFAULT 1 ;
  381.     FONT "MS Sans Serif", 8 ;
  382.     STYLE "B" ;
  383.     VALID btn_val('PRINT') ;
  384.     MESSAGE 'Print report.'
  385. @ 20.063,55.500 GET m.exit_btn ;
  386.     PICTURE "@*HN \<Close" ;
  387.     SIZE 1.769,7.667,0.667 ;
  388.     DEFAULT 1 ;
  389.     FONT "MS Sans Serif", 8 ;
  390.     STYLE "B" ;
  391.     VALID btn_val('EXIT') ;
  392.     MESSAGE 'Close screen.'
  393.  
  394. IF NOT WVISIBLE("_qn00zgpx3")
  395.     ACTIVATE WINDOW _qn00zgpx3
  396. ENDIF
  397.  
  398.  
  399. *       *********************************************************
  400. *       *                                                         
  401. *       *    WindowsREAD contains clauses from SCREEN s9566467    
  402. *       *                                                         
  403. *       *********************************************************
  404. *
  405.  
  406. READ CYCLE ;
  407.     ACTIVATE READACT() ;
  408.     DEACTIVATE READDEAC() ;
  409.     NOLOCK
  410.  
  411. RELEASE WINDOW _qn00zgpx3
  412.  
  413. *       *********************************************************
  414. *       *                                                         
  415. *       *                Windows Closing Databases                
  416. *       *                                                         
  417. *       *********************************************************
  418. *
  419.  
  420. IF USED("offices")
  421.     SELECT offices
  422.     USE
  423. ENDIF
  424.  
  425. SELECT (m.currarea)
  426.  
  427.  
  428. #REGION 0
  429.  
  430. SET READBORDER &rborder
  431.  
  432. IF m.talkstat = "ON"
  433.     SET TALK ON
  434. ENDIF
  435. IF m.compstat = "ON"
  436.     SET COMPATIBLE ON
  437. ENDIF
  438.  
  439.  
  440. *       *********************************************************
  441. *       *                                                         
  442. *       *              OFFICES/Windows Cleanup Code               
  443. *       *                                                         
  444. *       *********************************************************
  445. *
  446.  
  447. #REGION 1
  448. SET DELETED &wzolddelete
  449. ON ERROR &wzolderror
  450.  
  451. ****Procedures****
  452.  
  453.  
  454. *       *********************************************************
  455. *       *                                                         
  456. *       *  OFFICES/Windows Supporting Procedures and Functions    
  457. *       *                                                         
  458. *       *********************************************************
  459. *
  460.  
  461. #REGION 1
  462. PROCEDURE readdeac
  463.   IF isediting
  464.     ACTIVATE WINDOW (WLAST())
  465.     WAIT WINDOW C_EDITS NOWAIT
  466.   ENDIF
  467.   IF !WVISIBLE(WOUTPUT())
  468.     CLEAR READ
  469.     RETURN .T.
  470.   ENDIF
  471. RETURN .F.
  472.  
  473. PROCEDURE readact
  474.   IF !isediting
  475.       SELECT (m.wzalias)
  476.       SHOW GETS
  477.   ENDIF
  478. RETURN
  479.  
  480. PROCEDURE fox_alert
  481.     PARAMETER wzalrtmess
  482.     PRIVATE alrtbtn
  483.     m.alrtbtn=2
  484.     DEFINE WINDOW _qec1ij2t7 AT 0,0 SIZE 8,50 ;
  485.       FONT "MS Sans Serif",10 STYLE 'B' ;
  486.       FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()
  487.     MOVE WINDOW _qec1ij2t7 CENTER
  488.     ACTIVATE WINDOW _qec1ij2t7 NOSHOW
  489.     @ 2,(50-txtwidth(wzalrtmess))/2 SAY wzalrtmess;
  490.       FONT "MS Sans Serif", 10 STYLE "B"
  491.     @ 6,18 GET m.alrtbtn ;
  492.       PICTURE "@*HT \<OK;\?\!\<Cancel" ;
  493.       SIZE 1.769,8.667,1.333 ;
  494.       FONT "MS Sans Serif", 8 STYLE "B"
  495.     ACTIVATE WINDOW _qec1ij2t7
  496.     READ CYCLE MODAL
  497.     RELEASE WINDOW _qec1ij2t7
  498. RETURN m.alrtbtn=1
  499.  
  500.  
  501. PROCEDURE BTN_VAL
  502.     PARAMETER m.btnname
  503.     DO CASE
  504.     CASE  m.btnname='TOP'
  505.         GO TOP
  506.         WAIT WINDOW C_TOPFILE NOWAIT
  507.     CASE  m.btnname='PREV'
  508.         IF !BOF()
  509.             SKIP -1
  510.          ENDIF
  511.          IF BOF()
  512.             WAIT WINDOW C_TOPFILE NOWAIT
  513.             GO TOP
  514.         ENDIF
  515.     CASE  m.btnname='NEXT'
  516.         IF !EOF()
  517.             SKIP 1
  518.         ENDIF
  519.         IF EOF()
  520.             WAIT WINDOW C_ENDFILE NOWAIT
  521.             GO BOTTOM
  522.         ENDIF
  523.     CASE  m.btnname='END'
  524.         GO BOTTOM
  525.         WAIT WINDOW C_ENDFILE NOWAIT
  526.     CASE  m.btnname='LOCATE'
  527.         DEFINE WINDOW wzlocate FROM 1,1 TO 15,35;
  528.             SYSTEM GROW CLOSE ZOOM FLOAT
  529.         MOVE WINDOW wzlocate CENTER
  530.         BROWSE WINDOW wzlocate NOEDIT NODELETE NOMENU ;
  531.             TITLE C_BRTITLE
  532.         RELEASE WINDOW wzlocate
  533.     CASE  m.btnname='ADD'  AND !isediting &&add record
  534.         isediting=.T.
  535.         isadding=.T.
  536.         =edithand('ADD')
  537.         _curobj=1
  538.         DO refresh
  539.         SHOW GETS
  540.         RETURN
  541.     CASE  m.btnname='EDIT'  AND !isediting &&edit record
  542.         IF EOF() OR BOF()
  543.             WAIT WINDOW C_ENDFILE NOWAIT
  544.             RETURN
  545.         ENDIF
  546.         IF RLOCK()
  547.             isediting=.T.
  548.             _curobj=1
  549.             DO refresh
  550.             RETURN
  551.         ELSE
  552.             WAIT WINDOW C_NOLOCK
  553.         ENDIF
  554.     CASE m.btnname='EDIT'  AND isediting &&save record
  555.         IF isadding
  556.             =edithand('SAVE')
  557.         ELSE
  558.             GATHER MEMVAR MEMO
  559.             UNLOCK
  560.         ENDIF
  561.         isediting=.F.
  562.         isadding=.F.
  563.         DO refresh
  564.     CASE m.btnname='DELETE'  AND isediting     &&cancel record
  565.         IF isadding
  566.             =edithand('CANCEL')
  567.         ENDIF
  568.         isediting=.F.
  569.         isadding=.F.
  570.         WAIT WINDOW C_ECANCEL NOWAIT
  571.         DO refresh
  572.     CASE m.btnname='DELETE'
  573.         IF EOF() OR BOF()
  574.             WAIT WINDOW C_ENDFILE NOWAIT
  575.             RETURN
  576.         ENDIF
  577.         IF fox_alert(C_DELREC)
  578.             DELETE
  579.             IF !EOF()
  580.                 SKIP 1
  581.             ENDIF
  582.             IF EOF()
  583.                 WAIT WINDOW C_ENDFILE NOWAIT
  584.                 GO BOTTOM
  585.             ENDIF
  586.         ENDIF
  587.     CASE m.btnname='PRINT'
  588.       PRIVATE sOldError,wizfname,saverec
  589.       PRIVATE prnt_btn,p_recs,p_output,pr_out,pr_record
  590.       STORE 1 TO p_recs,p_output
  591.       STORE 0 TO prnt_btn
  592.       STORE RECNO() TO saverec
  593.       m.sOldError=ON('error')
  594.       DO pdialog
  595.       IF m.prnt_btn = 2
  596.         RETURN
  597.       ENDIF
  598.       IF !FILE(ALIAS()+'.FRX')
  599.           m.wizfname=SYS(2004)+'WIZARDS\'+'WIZARD.APP'
  600.           IF !FILE(m.wizfname)
  601.             ON ERROR *
  602.             m.wizfname=LOCFILE('WIZARD.APP','APP','Locate WIZARD.APP:')
  603.             ON ERROR &sOldError
  604.             IF !'WIZARD.APP'$UPPER(m.wizfname)
  605.                   WAIT WINDOW C_NOWIZ
  606.                   RETURN
  607.             ENDIF
  608.           ENDIF
  609.          WAIT WINDOW C_MAKEREPO NOWAIT
  610.           DO (m.wizfname) WITH '','WZ_QREPO','NOSCRN;VERTICAL'
  611.          WAIT CLEAR
  612.           IF !FILE(ALIAS()+'.FRX')  &&wizard could not create report
  613.              WAIT WINDOW C_NOREPO
  614.              RETURN
  615.           ENDIF
  616.       ENDIF
  617.     
  618.         m.pr_out=IIF(m.p_output=1,'TO PRINT NOCONSOLE','PREVIEW')
  619.       m.pr_record=IIF(m.p_recs=1,'NEXT 1','ALL')
  620.       ON ERROR *
  621.         REPORT FORM (ALIAS()) &pr_out &pr_record
  622.       ON ERROR &sOldError
  623.       GO m.saverec
  624.  
  625.     CASE m.btnname='EXIT'
  626.         m.bailout=.T.    &&this is needed if used with FoxApp
  627.         CLEAR READ
  628.         RETURN
  629.     ENDCASE
  630.     SCATTER MEMVAR MEMO
  631.     SHOW GETS
  632. RETURN
  633.  
  634. PROCEDURE REFRESH
  635.   IF isediting
  636.     SHOW GET top_btn DISABLE
  637.     SHOW GET prev_btn DISABLE
  638.     SHOW GET next_btn DISABLE
  639.     SHOW GET end_btn DISABLE
  640.     SHOW GET loc_btn DISABLE
  641.     SHOW GET add_btn DISABLE
  642.     SHOW GET del_btn DISABLE
  643.     SHOW GET exit_btn DISABLE
  644.     SHOW GET prnt_btn DISABLE
  645.     
  646.     SHOW GET edit_btn,1 PROMPT "\<Save"
  647.     SHOW GET del_btn,1 PROMPT "\<Cancel"
  648.   ELSE
  649.     SHOW GET edit_btn,1 PROMPT "\<Edit"
  650.     SHOW GET del_btn,1 PROMPT "\<Delete"
  651.     SHOW GETS ENABLE
  652.   ENDIF
  653. RETURN
  654.  
  655.  
  656. PROCEDURE pdialog
  657.     DEFINE WINDOW _qjn12zbvh ;
  658.         AT  0.000, 0.000  ;
  659.         SIZE 13.231,54.800 ;
  660.         TITLE "Microsoft FoxPro" ;
  661.         FONT "MS Sans Serif", 8 ;
  662.         FLOAT NOCLOSE MINIMIZE SYSTEM
  663.     MOVE WINDOW _qjn12zbvh CENTER
  664.     ACTIVATE WINDOW _qjn12zbvh NOSHOW
  665.     @ 2.846,33.600 SAY "Output:"  ;
  666.         FONT "MS Sans Serif", 8 ;
  667.         STYLE "BT"
  668.     @ 2.846,4.800 SAY "Print:"  ;
  669.         FONT "MS Sans Serif", 8 ;
  670.         STYLE "BT"
  671.     @ 4.692,7.200 GET m.p_recs ;
  672.         PICTURE "@*RVN \<Current Record;\<All Records" ;
  673.         SIZE 1.308,18.500,0.308 ;
  674.         DEFAULT 1 ;
  675.         FONT "MS Sans Serif", 8 ;
  676.         STYLE "BT"
  677.     @ 4.692,36.000 GET m.p_output ;
  678.         PICTURE "@*RVN \<Printer;Pre\<view" ;
  679.         SIZE 1.308,12.000,0.308 ;
  680.         DEFAULT 1 ;
  681.         FONT "MS Sans Serif", 8 ;
  682.         STYLE "BT"
  683.     @ 10.154,16.600 GET m.prnt_btn ;
  684.         PICTURE "@*HT \<Print;\<Cancel" ;
  685.         SIZE 1.769,8.667,0.667 ;
  686.         DEFAULT 1 ;
  687.         FONT "MS Sans Serif", 8 ;
  688.         STYLE "B"
  689.     ACTIVATE WINDOW _qjn12zbvh
  690.     READ CYCLE MODAL
  691.     RELEASE WINDOW _qjn12zbvh
  692. RETURN
  693.  
  694. PROCEDURE wizerrorhandler
  695. * This very simple error handler is primarily intended
  696. * to trap for General field OLE errors which may occur
  697. * during editing from the MODIFY GENERAL window.
  698. WAIT WINDOW message()
  699. RETURN
  700.  
  701. PROCEDURE edithand
  702.     PARAMETER m.paction
  703.     * procedure handles edits
  704.     DO CASE
  705.     CASE m.paction = 'ADD'
  706.         SCATTER MEMVAR MEMO BLANK
  707.     CASE m.paction = 'SAVE'
  708.         INSERT INTO (ALIAS()) FROM MEMVAR
  709.     CASE m.paction = 'CANCEL'
  710.         * nothing here
  711.     ENDCASE
  712. RETURN