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

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 01/26/94            INVOICES.SPR               16:33:35 
  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. *       *     S9614641/Windows Databases, Indexes, Relations      
  40. *       *                                                         
  41. *       *********************************************************
  42. *
  43.  
  44. IF USED("invoices")
  45.     SELECT invoices
  46.     SET ORDER TO TAG "_qml0km38e"
  47. ELSE
  48.     SELECT 0
  49.     USE (LOCFILE("invoices.dbf","DBF","Where is invoices?"));
  50.         AGAIN ALIAS invoices ;
  51.         ORDER TAG "_qml0km38e"
  52. ENDIF
  53.  
  54.  
  55. *       *********************************************************
  56. *       *                                                         
  57. *       *               Windows Window definitions                
  58. *       *                                                         
  59. *       *********************************************************
  60. *
  61.  
  62. IF NOT WEXIST("_qn00zhr1p")
  63.     DEFINE WINDOW _qn00zhr1p ;
  64.         AT  0.000, 0.000  ;
  65.         SIZE 13.751,62.500 ;
  66.         TITLE "Invoices" ;
  67.         FONT "ms sans serif", 10 ;
  68.         STYLE "B" ;
  69.         FLOAT ;
  70.         CLOSE ;
  71.         MINIMIZE ;
  72.         COLOR RGB(,,,192,192,192)
  73.     MOVE WINDOW _qn00zhr1p CENTER
  74. ENDIF
  75.  
  76.  
  77. *       *********************************************************
  78. *       *                                                         
  79. *       *         INVOICES/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 '_qn00zhr1p' 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.  
  120. *       *********************************************************
  121. *       *                                                         
  122. *       *             INVOICES/Windows Screen Layout              
  123. *       *                                                         
  124. *       *********************************************************
  125. *
  126.  
  127. #REGION 1
  128. IF WVISIBLE("_qn00zhr1p")
  129.     ACTIVATE WINDOW _qn00zhr1p SAME
  130. ELSE
  131.     ACTIVATE WINDOW _qn00zhr1p NOSHOW
  132. ENDIF
  133. @ 0.313,3.000 SAY "Invoices"  ;
  134.     FONT "MS Sans Serif", 14 ;
  135.     STYLE "BT"
  136. @ 2.125,0.000 TO 2.125,62.500 ;
  137.     PEN 4, 8 ;
  138.     STYLE "1"
  139. @ 0.813,48.000 SAY "Date:"  ;
  140.     FONT "MS Sans Serif", 8 ;
  141.     STYLE "BT"
  142. @ 0.813,52.750 SAY date() ;
  143.     SIZE 1.000,11.200 ;
  144.     FONT "MS Sans Serif", 8
  145. @ 3.063,3.250 SAY "Ino:" ;
  146.     SIZE 1.000,9.667 ;
  147.     FONT "MS Sans Serif", 8 ;
  148.     STYLE "BT" ;
  149.     PICTURE "@J" ;
  150.     COLOR RGB(,,,255,255,255)
  151. @ 3.250,12.875 TO 4.125,17.250 ;
  152.     PATTERN 1 ;
  153.     PEN 1, 8 ;
  154.     COLOR RGB(128,128,128,128,128,128)
  155. @ 3.063,12.625 GET m.ino ;
  156.     SIZE 1.000,6.000 ;
  157.     DEFAULT " " ;
  158.     FONT "MS Sans Serif", 8 ;
  159.     PICTURE "@K 9,999" ;
  160.     WHEN isediting ;
  161.     COLOR ,RGB(,,,255,255,255)
  162. @ 4.563,3.250 SAY "Cno:" ;
  163.     SIZE 1.000,9.667 ;
  164.     FONT "MS Sans Serif", 8 ;
  165.     STYLE "BT" ;
  166.     PICTURE "@J" ;
  167.     COLOR RGB(,,,255,255,255)
  168. @ 4.750,12.875 TO 5.625,20.375 ;
  169.     PATTERN 1 ;
  170.     PEN 1, 8 ;
  171.     COLOR RGB(128,128,128,128,128,128)
  172. @ 4.563,12.625 GET m.cno ;
  173.     SIZE 1.000,11.000 ;
  174.     DEFAULT " " ;
  175.     FONT "MS Sans Serif", 8 ;
  176.     PICTURE "@K XXXXX" ;
  177.     WHEN isediting ;
  178.     COLOR ,RGB(,,,255,255,255)
  179. @ 6.063,3.250 SAY "Idate:" ;
  180.     SIZE 1.000,9.667 ;
  181.     FONT "MS Sans Serif", 8 ;
  182.     STYLE "BT" ;
  183.     PICTURE "@J" ;
  184.     COLOR RGB(,,,255,255,255)
  185. @ 6.250,12.875 TO 7.125,19.250 ;
  186.     PATTERN 1 ;
  187.     PEN 1, 8 ;
  188.     COLOR RGB(128,128,128,128,128,128)
  189. @ 6.063,12.625 GET m.idate ;
  190.     SIZE 1.000,9.200 ;
  191.     DEFAULT " " ;
  192.     FONT "MS Sans Serif", 8 ;
  193.     PICTURE "@K" ;
  194.     WHEN isediting ;
  195.     COLOR ,RGB(,,,255,255,255)
  196. @ 7.563,3.250 SAY "Itotal:" ;
  197.     SIZE 1.000,9.667 ;
  198.     FONT "MS Sans Serif", 8 ;
  199.     STYLE "BT" ;
  200.     PICTURE "@J" ;
  201.     COLOR RGB(,,,255,255,255)
  202. @ 7.750,12.875 TO 8.625,20.250 ;
  203.     PATTERN 1 ;
  204.     PEN 1, 8 ;
  205.     COLOR RGB(128,128,128,128,128,128)
  206. @ 7.563,12.625 GET m.itotal ;
  207.     SIZE 1.000,10.800 ;
  208.     DEFAULT " " ;
  209.     FONT "MS Sans Serif", 8 ;
  210.     PICTURE "@K 99,999.99" ;
  211.     WHEN isediting ;
  212.     COLOR ,RGB(,,,255,255,255)
  213. @ 9.063,3.250 SAY "Salesman:" ;
  214.     SIZE 1.000,9.667 ;
  215.     FONT "MS Sans Serif", 8 ;
  216.     STYLE "BT" ;
  217.     PICTURE "@J" ;
  218.     COLOR RGB(,,,255,255,255)
  219. @ 9.250,12.875 TO 10.125,17.625 ;
  220.     PATTERN 1 ;
  221.     PEN 1, 8 ;
  222.     COLOR RGB(128,128,128,128,128,128)
  223. @ 9.063,12.625 GET m.salesman ;
  224.     SIZE 1.000,6.600 ;
  225.     DEFAULT " " ;
  226.     FONT "MS Sans Serif", 8 ;
  227.     PICTURE "@K XXX" ;
  228.     WHEN isediting ;
  229.     COLOR ,RGB(,,,255,255,255)
  230. @ 10.563,0.000 TO 10.563,62.500 ;
  231.     PEN 4, 8 ;
  232.     STYLE "1"
  233. @ 11.563,1.500 GET m.top_btn ;
  234.     PICTURE "@*HN \<Top" ;
  235.     SIZE 1.769,7.833,0.667 ;
  236.     DEFAULT 1 ;
  237.     FONT "MS Sans Serif", 8 ;
  238.     STYLE "B" ;
  239.     VALID btn_val('TOP') ;
  240.     MESSAGE 'Go to first record.'
  241. @ 11.563,7.500 GET m.prev_btn ;
  242.     PICTURE "@*HN \<Prev" ;
  243.     SIZE 1.769,7.833,0.667 ;
  244.     DEFAULT 1 ;
  245.     FONT "MS Sans Serif", 8 ;
  246.     STYLE "B" ;
  247.     VALID btn_val('PREV') ;
  248.     MESSAGE 'Go to previous record.'
  249. @ 11.563,13.500 GET m.next_btn ;
  250.     PICTURE "@*HN \<Next" ;
  251.     SIZE 1.769,7.833,0.667 ;
  252.     DEFAULT 1 ;
  253.     FONT "MS Sans Serif", 8 ;
  254.     STYLE "B" ;
  255.     VALID btn_val('NEXT') ;
  256.     MESSAGE 'Go to next record.'
  257. @ 11.563,19.500 GET m.end_btn ;
  258.     PICTURE "@*HN \<End" ;
  259.     SIZE 1.769,7.833,0.667 ;
  260.     DEFAULT 1 ;
  261.     FONT "MS Sans Serif", 8 ;
  262.     STYLE "B" ;
  263.     VALID btn_val('END') ;
  264.     MESSAGE 'Go to last record.'
  265. @ 11.563,25.500 GET m.loc_btn ;
  266.     PICTURE "@*HN \<Locate" ;
  267.     SIZE 1.769,7.833,0.667 ;
  268.     DEFAULT 1 ;
  269.     FONT "MS Sans Serif", 8 ;
  270.     STYLE "B" ;
  271.     VALID btn_val('LOCATE') ;
  272.     MESSAGE 'Locate a record.'
  273. @ 11.563,31.500 GET m.add_btn ;
  274.     PICTURE "@*HN \<Add" ;
  275.     SIZE 1.769,7.833,0.667 ;
  276.     DEFAULT 1 ;
  277.     FONT "MS Sans Serif", 8 ;
  278.     STYLE "B" ;
  279.     VALID btn_val('ADD') ;
  280.     MESSAGE 'Add a new record.'
  281. @ 11.563,37.500 GET m.edit_btn ;
  282.     PICTURE "@*HN Ed\<it" ;
  283.     SIZE 1.769,7.833,0.667 ;
  284.     DEFAULT 1 ;
  285.     FONT "MS Sans Serif", 8 ;
  286.     STYLE "B" ;
  287.     VALID btn_val('EDIT') ;
  288.     MESSAGE 'Edit current record.'
  289. @ 11.563,43.500 GET m.del_btn ;
  290.     PICTURE "@*HN \<Delete" ;
  291.     SIZE 1.769,7.833,0.667 ;
  292.     DEFAULT 1 ;
  293.     FONT "MS Sans Serif", 8 ;
  294.     STYLE "B" ;
  295.     VALID btn_val('DELETE') ;
  296.     MESSAGE 'Delete current record.'
  297. @ 11.563,49.500 GET m.prnt_btn ;
  298.     PICTURE "@*HN P\<rint" ;
  299.     SIZE 1.769,7.833,0.667 ;
  300.     DEFAULT 1 ;
  301.     FONT "MS Sans Serif", 8 ;
  302.     STYLE "B" ;
  303.     VALID btn_val('PRINT') ;
  304.     MESSAGE 'Print report.'
  305. @ 11.563,55.500 GET m.exit_btn ;
  306.     PICTURE "@*HN \<Close" ;
  307.     SIZE 1.769,7.667,0.667 ;
  308.     DEFAULT 1 ;
  309.     FONT "MS Sans Serif", 8 ;
  310.     STYLE "B" ;
  311.     VALID btn_val('EXIT') ;
  312.     MESSAGE 'Close screen.'
  313.  
  314. IF NOT WVISIBLE("_qn00zhr1p")
  315.     ACTIVATE WINDOW _qn00zhr1p
  316. ENDIF
  317.  
  318.  
  319. *       *********************************************************
  320. *       *                                                         
  321. *       *    WindowsREAD contains clauses from SCREEN s9614641    
  322. *       *                                                         
  323. *       *********************************************************
  324. *
  325.  
  326. READ CYCLE ;
  327.     ACTIVATE READACT() ;
  328.     DEACTIVATE READDEAC() ;
  329.     NOLOCK
  330.  
  331. RELEASE WINDOW _qn00zhr1p
  332.  
  333. *       *********************************************************
  334. *       *                                                         
  335. *       *                Windows Closing Databases                
  336. *       *                                                         
  337. *       *********************************************************
  338. *
  339.  
  340. IF USED("invoices")
  341.     SELECT invoices
  342.     USE
  343. ENDIF
  344.  
  345. SELECT (m.currarea)
  346.  
  347.  
  348. #REGION 0
  349.  
  350. SET READBORDER &rborder
  351.  
  352. IF m.talkstat = "ON"
  353.     SET TALK ON
  354. ENDIF
  355. IF m.compstat = "ON"
  356.     SET COMPATIBLE ON
  357. ENDIF
  358.  
  359.  
  360. *       *********************************************************
  361. *       *                                                         
  362. *       *              INVOICES/Windows Cleanup Code              
  363. *       *                                                         
  364. *       *********************************************************
  365. *
  366.  
  367. #REGION 1
  368. SET DELETED &wzolddelete
  369. ON ERROR &wzolderror
  370.  
  371. ****Procedures****
  372.  
  373.  
  374. *       *********************************************************
  375. *       *                                                         
  376. *       *  INVOICES/Windows Supporting Procedures and Functions   
  377. *       *                                                         
  378. *       *********************************************************
  379. *
  380.  
  381. #REGION 1
  382. PROCEDURE readdeac
  383.   IF isediting
  384.     ACTIVATE WINDOW (WLAST())
  385.     WAIT WINDOW C_EDITS NOWAIT
  386.   ENDIF
  387.   IF !WVISIBLE(WOUTPUT())
  388.     CLEAR READ
  389.     RETURN .T.
  390.   ENDIF
  391. RETURN .F.
  392.  
  393. PROCEDURE readact
  394.   IF !isediting
  395.       SELECT (m.wzalias)
  396.       SHOW GETS
  397.   ENDIF
  398. RETURN
  399.  
  400. PROCEDURE fox_alert
  401.     PARAMETER wzalrtmess
  402.     PRIVATE alrtbtn
  403.     m.alrtbtn=2
  404.     DEFINE WINDOW _qec1ij2t7 AT 0,0 SIZE 8,50 ;
  405.       FONT "MS Sans Serif",10 STYLE 'B' ;
  406.       FLOAT NOCLOSE NOMINIMIZE DOUBLE TITLE WTITLE()
  407.     MOVE WINDOW _qec1ij2t7 CENTER
  408.     ACTIVATE WINDOW _qec1ij2t7 NOSHOW
  409.     @ 2,(50-txtwidth(wzalrtmess))/2 SAY wzalrtmess;
  410.       FONT "MS Sans Serif", 10 STYLE "B"
  411.     @ 6,18 GET m.alrtbtn ;
  412.       PICTURE "@*HT \<OK;\?\!\<Cancel" ;
  413.       SIZE 1.769,8.667,1.333 ;
  414.       FONT "MS Sans Serif", 8 STYLE "B"
  415.     ACTIVATE WINDOW _qec1ij2t7
  416.     READ CYCLE MODAL
  417.     RELEASE WINDOW _qec1ij2t7
  418. RETURN m.alrtbtn=1
  419.  
  420.  
  421. PROCEDURE BTN_VAL
  422.     PARAMETER m.btnname
  423.     DO CASE
  424.     CASE  m.btnname='TOP'
  425.         GO TOP
  426.         WAIT WINDOW C_TOPFILE NOWAIT
  427.     CASE  m.btnname='PREV'
  428.         IF !BOF()
  429.             SKIP -1
  430.          ENDIF
  431.          IF BOF()
  432.             WAIT WINDOW C_TOPFILE NOWAIT
  433.             GO TOP
  434.         ENDIF
  435.     CASE  m.btnname='NEXT'
  436.         IF !EOF()
  437.             SKIP 1
  438.         ENDIF
  439.         IF EOF()
  440.             WAIT WINDOW C_ENDFILE NOWAIT
  441.             GO BOTTOM
  442.         ENDIF
  443.     CASE  m.btnname='END'
  444.         GO BOTTOM
  445.         WAIT WINDOW C_ENDFILE NOWAIT
  446.     CASE  m.btnname='LOCATE'
  447.         DEFINE WINDOW wzlocate FROM 1,1 TO 15,35;
  448.             SYSTEM GROW CLOSE ZOOM FLOAT
  449.         MOVE WINDOW wzlocate CENTER
  450.         BROWSE WINDOW wzlocate NOEDIT NODELETE NOMENU ;
  451.             TITLE C_BRTITLE
  452.         RELEASE WINDOW wzlocate
  453.     CASE  m.btnname='ADD'  AND !isediting &&add record
  454.         isediting=.T.
  455.         isadding=.T.
  456.         =edithand('ADD')
  457.         _curobj=1
  458.         DO refresh
  459.         SHOW GETS
  460.         RETURN
  461.     CASE  m.btnname='EDIT'  AND !isediting &&edit record
  462.         IF EOF() OR BOF()
  463.             WAIT WINDOW C_ENDFILE NOWAIT
  464.             RETURN
  465.         ENDIF
  466.         IF RLOCK()
  467.             isediting=.T.
  468.             _curobj=1
  469.             DO refresh
  470.             RETURN
  471.         ELSE
  472.             WAIT WINDOW C_NOLOCK
  473.         ENDIF
  474.     CASE m.btnname='EDIT'  AND isediting &&save record
  475.         IF isadding
  476.             =edithand('SAVE')
  477.         ELSE
  478.             GATHER MEMVAR MEMO
  479.             UNLOCK
  480.         ENDIF
  481.         isediting=.F.
  482.         isadding=.F.
  483.         DO refresh
  484.     CASE m.btnname='DELETE'  AND isediting     &&cancel record
  485.         IF isadding
  486.             =edithand('CANCEL')
  487.         ENDIF
  488.         isediting=.F.
  489.         isadding=.F.
  490.         WAIT WINDOW C_ECANCEL NOWAIT
  491.         DO refresh
  492.     CASE m.btnname='DELETE'
  493.         IF EOF() OR BOF()
  494.             WAIT WINDOW C_ENDFILE NOWAIT
  495.             RETURN
  496.         ENDIF
  497.         IF fox_alert(C_DELREC)
  498.             DELETE
  499.             IF !EOF()
  500.                 SKIP 1
  501.             ENDIF
  502.             IF EOF()
  503.                 WAIT WINDOW C_ENDFILE NOWAIT
  504.                 GO BOTTOM
  505.             ENDIF
  506.         ENDIF
  507.     CASE m.btnname='PRINT'
  508.       PRIVATE sOldError,wizfname,saverec
  509.       PRIVATE prnt_btn,p_recs,p_output,pr_out,pr_record
  510.       STORE 1 TO p_recs,p_output
  511.       STORE 0 TO prnt_btn
  512.       STORE RECNO() TO saverec
  513.       m.sOldError=ON('error')
  514.       DO pdialog
  515.       IF m.prnt_btn = 2
  516.         RETURN
  517.       ENDIF
  518.       IF !FILE(ALIAS()+'.FRX')
  519.           m.wizfname=SYS(2004)+'WIZARDS\'+'WIZARD.APP'
  520.           IF !FILE(m.wizfname)
  521.             ON ERROR *
  522.             m.wizfname=LOCFILE('WIZARD.APP','APP','Locate WIZARD.APP:')
  523.             ON ERROR &sOldError
  524.             IF !'WIZARD.APP'$UPPER(m.wizfname)
  525.                   WAIT WINDOW C_NOWIZ
  526.                   RETURN
  527.             ENDIF
  528.           ENDIF
  529.          WAIT WINDOW C_MAKEREPO NOWAIT
  530.           DO (m.wizfname) WITH '','WZ_QREPO','NOSCRN;VERTICAL'
  531.          WAIT CLEAR
  532.           IF !FILE(ALIAS()+'.FRX')  &&wizard could not create report
  533.              WAIT WINDOW C_NOREPO
  534.              RETURN
  535.           ENDIF
  536.       ENDIF
  537.     
  538.         m.pr_out=IIF(m.p_output=1,'TO PRINT NOCONSOLE','PREVIEW')
  539.       m.pr_record=IIF(m.p_recs=1,'NEXT 1','ALL')
  540.       ON ERROR *
  541.         REPORT FORM (ALIAS()) &pr_out &pr_record
  542.       ON ERROR &sOldError
  543.       GO m.saverec
  544.  
  545.     CASE m.btnname='EXIT'
  546.         m.bailout=.T.    &&this is needed if used with FoxApp
  547.         CLEAR READ
  548.         RETURN
  549.     ENDCASE
  550.     SCATTER MEMVAR MEMO
  551.     SHOW GETS
  552. RETURN
  553.  
  554. PROCEDURE REFRESH
  555.   IF isediting
  556.     SHOW GET top_btn DISABLE
  557.     SHOW GET prev_btn DISABLE
  558.     SHOW GET next_btn DISABLE
  559.     SHOW GET end_btn DISABLE
  560.     SHOW GET loc_btn DISABLE
  561.     SHOW GET add_btn DISABLE
  562.     SHOW GET del_btn DISABLE
  563.     SHOW GET exit_btn DISABLE
  564.     SHOW GET prnt_btn DISABLE
  565.     
  566.     SHOW GET edit_btn,1 PROMPT "\<Save"
  567.     SHOW GET del_btn,1 PROMPT "\<Cancel"
  568.   ELSE
  569.     SHOW GET edit_btn,1 PROMPT "\<Edit"
  570.     SHOW GET del_btn,1 PROMPT "\<Delete"
  571.     SHOW GETS ENABLE
  572.   ENDIF
  573. RETURN
  574.  
  575.  
  576. PROCEDURE pdialog
  577.     DEFINE WINDOW _qjn12zbvh ;
  578.         AT  0.000, 0.000  ;
  579.         SIZE 13.231,54.800 ;
  580.         TITLE "Microsoft FoxPro" ;
  581.         FONT "MS Sans Serif", 8 ;
  582.         FLOAT NOCLOSE MINIMIZE SYSTEM
  583.     MOVE WINDOW _qjn12zbvh CENTER
  584.     ACTIVATE WINDOW _qjn12zbvh NOSHOW
  585.     @ 2.846,33.600 SAY "Output:"  ;
  586.         FONT "MS Sans Serif", 8 ;
  587.         STYLE "BT"
  588.     @ 2.846,4.800 SAY "Print:"  ;
  589.         FONT "MS Sans Serif", 8 ;
  590.         STYLE "BT"
  591.     @ 4.692,7.200 GET m.p_recs ;
  592.         PICTURE "@*RVN \<Current Record;\<All Records" ;
  593.         SIZE 1.308,18.500,0.308 ;
  594.         DEFAULT 1 ;
  595.         FONT "MS Sans Serif", 8 ;
  596.         STYLE "BT"
  597.     @ 4.692,36.000 GET m.p_output ;
  598.         PICTURE "@*RVN \<Printer;Pre\<view" ;
  599.         SIZE 1.308,12.000,0.308 ;
  600.         DEFAULT 1 ;
  601.         FONT "MS Sans Serif", 8 ;
  602.         STYLE "BT"
  603.     @ 10.154,16.600 GET m.prnt_btn ;
  604.         PICTURE "@*HT \<Print;\<Cancel" ;
  605.         SIZE 1.769,8.667,0.667 ;
  606.         DEFAULT 1 ;
  607.         FONT "MS Sans Serif", 8 ;
  608.         STYLE "B"
  609.     ACTIVATE WINDOW _qjn12zbvh
  610.     READ CYCLE MODAL
  611.     RELEASE WINDOW _qjn12zbvh
  612. RETURN
  613.  
  614. PROCEDURE wizerrorhandler
  615. * This very simple error handler is primarily intended
  616. * to trap for General field OLE errors which may occur
  617. * during editing from the MODIFY GENERAL window.
  618. WAIT WINDOW message()
  619. RETURN
  620.  
  621. PROCEDURE edithand
  622.     PARAMETER m.paction
  623.     * procedure handles edits
  624.     DO CASE
  625.     CASE m.paction = 'ADD'
  626.         SCATTER MEMVAR MEMO BLANK
  627.     CASE m.paction = 'SAVE'
  628.         INSERT INTO (ALIAS()) FROM MEMVAR
  629.     CASE m.paction = 'CANCEL'
  630.         * nothing here
  631.     ENDCASE
  632. RETURN