home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a087 / 4.ddi / PRTOPTS.PR_ / PRTOPTS.bin
Encoding:
Text File  |  1994-02-02  |  26.2 KB  |  829 lines

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 10/22/93             PRTOPTS.PRG               15:19:25 
  4. *       *                                                         
  5. *       *********************************************************
  6. *       *                                                         
  7. *       * Walter J. Kennamer                                      
  8. *       *                                                         
  9. *       * Copyright (c) 1993 Microsoft Corp.                      
  10. *       * One Microsoft Way                                       
  11. *       * Redmond, WA  98027                                      
  12. *       *                                                         
  13. *       * Description:                                            
  14. *       * This program was automatically generated by GENSCRN.    
  15. *       *                                                         
  16. *       *********************************************************
  17.  
  18. DO CASE
  19. CASE _MAC
  20.  
  21.     
  22.     #REGION 0
  23.     REGIONAL m.currarea, m.talkstat, m.compstat
  24.     
  25.     IF SET("TALK") = "ON"
  26.         SET TALK OFF
  27.         m.talkstat = "ON"
  28.     ELSE
  29.         m.talkstat = "OFF"
  30.     ENDIF
  31.     m.compstat = SET("COMPATIBLE")
  32.     SET COMPATIBLE FOXPLUS
  33.     
  34.     m.rborder = SET("READBORDER")
  35.     SET READBORDER ON
  36.     
  37.     m.currarea = SELECT()
  38.     
  39.     
  40.     *       *********************************************************
  41.     *       *                                                         
  42.     *       *              Macintosh Window definitions               
  43.     *       *                                                         
  44.     *       *********************************************************
  45.     *
  46.     
  47.     IF NOT WEXIST("_qka0wucha")
  48.         DEFINE WINDOW _qka0wucha ;
  49.             AT  0.000, 0.000  ;
  50.             SIZE 17.615,43.000 ;
  51.             TITLE "Print Options" ;
  52.             FONT "Geneva", 10 ;
  53.             FLOAT ;
  54.             NOCLOSE ;
  55.             SHADOW ;
  56.             DOUBLE
  57.         MOVE WINDOW _qka0wucha CENTER
  58.     ENDIF
  59.     
  60.     
  61.     *       *********************************************************
  62.     *       *                                                         
  63.     *       *        PRTOPTS/Macintosh Setup Code - SECTION 2         
  64.     *       *                                                         
  65.     *       *********************************************************
  66.     *
  67.     
  68.     #REGION 1
  69.     
  70.     skipvar = .T.
  71.     stemname = makealias(juststem(dbfname))
  72.     SELECT (stemname)
  73.     createrb = 0
  74.     reptrb   = 3
  75.     layoutrb = 0
  76.     pdrivr   = 0
  77.     lastpd   = 1
  78.     
  79.     *       *********************************************************
  80.     *       *                                                         
  81.     *       *             PRTOPTS/Macintosh Screen Layout             
  82.     *       *                                                         
  83.     *       *********************************************************
  84.     *
  85.     
  86.     #REGION 1
  87.     IF WVISIBLE("_qka0wucha")
  88.         ACTIVATE WINDOW _qka0wucha SAME
  89.     ELSE
  90.         ACTIVATE WINDOW _qka0wucha NOSHOW
  91.     ENDIF
  92.     @ 9.385,7.000 GET pdrivrb ;
  93.         PICTURE "@*RVN3 Use current printer driver;Use report printer driver;Use no printer driver" ;
  94.         SIZE 1.308,26.167,0.000 ;
  95.         DEFAULT 1 ;
  96.         FONT "Geneva", 10 ;
  97.         STYLE "T"
  98.     @ 5.385,3.000 GET m.reptrb ;
  99.         PICTURE "@*RVN3 \<Modify report;Printer \<setup;\<Print report" ;
  100.         SIZE 1.308,15.333,0.000 ;
  101.         DEFAULT 1 ;
  102.         FONT "Geneva", 10 ;
  103.         STYLE "T" ;
  104.         VALID _qka0wueqb()
  105.     @ 14.846,7.000 GET okcancl ;
  106.         PICTURE "@*HN3 \!OK;\?Cancel" ;
  107.         SIZE 1.462,11.000,4.000 ;
  108.         DEFAULT 1 ;
  109.         FONT "Geneva", 10 ;
  110.         STYLE "B" ;
  111.         VALID _qka0wuf7w()
  112.     @ 1.077,3.000 GET createrb ;
  113.         PICTURE "@*RVN3 C\<reate report" ;
  114.         SIZE 1.308,15.000,0.000 ;
  115.         DEFAULT 1 ;
  116.         FONT "Geneva", 10 ;
  117.         STYLE "T" ;
  118.         VALID _qka0wufvz()
  119.     @ 2.615,7.000 GET layoutrb ;
  120.         PICTURE "@*RVN3 Form layout;Columnar layout" ;
  121.         SIZE 1.308,17.333,0.000 ;
  122.         DEFAULT 1 ;
  123.         FONT "Geneva", 10 ;
  124.         STYLE "T" ;
  125.         DISABLE
  126.     
  127.     IF NOT WVISIBLE("_qka0wucha")
  128.         ACTIVATE WINDOW _qka0wucha
  129.     ENDIF
  130.     
  131.     
  132.     *       *********************************************************
  133.     *       *                                                         
  134.     *       *   MacintoshREAD contains clauses from SCREEN prtopts    
  135.     *       *                                                         
  136.     *       *********************************************************
  137.     *
  138.     
  139.     READ CYCLE ;
  140.         SHOW _qka0wugbp() ;
  141.         MODAL
  142.     
  143.     RELEASE WINDOW _qka0wucha
  144.     SELECT (m.currarea)
  145.     
  146.     
  147.     #REGION 0
  148.     
  149.     SET READBORDER &rborder
  150.     
  151.     IF m.talkstat = "ON"
  152.         SET TALK ON
  153.     ENDIF
  154.     IF m.compstat = "ON"
  155.         SET COMPATIBLE ON
  156.     ENDIF
  157.     
  158.     
  159.     *       *********************************************************
  160.     *       *                                                         
  161.     *       *             PRTOPTS/Macintosh Cleanup Code              
  162.     *       *                                                         
  163.     *       *********************************************************
  164.     *
  165.     
  166.     #REGION 1
  167.     skipvar = .F.
  168.     
  169.  
  170. CASE _WINDOWS
  171.  
  172.     
  173.     #REGION 0
  174.     REGIONAL m.currarea, m.talkstat, m.compstat
  175.     
  176.     IF SET("TALK") = "ON"
  177.         SET TALK OFF
  178.         m.talkstat = "ON"
  179.     ELSE
  180.         m.talkstat = "OFF"
  181.     ENDIF
  182.     m.compstat = SET("COMPATIBLE")
  183.     SET COMPATIBLE FOXPLUS
  184.     
  185.     m.rborder = SET("READBORDER")
  186.     SET READBORDER ON
  187.     
  188.     m.currarea = SELECT()
  189.     
  190.     
  191.     *       *********************************************************
  192.     *       *                                                         
  193.     *       *               Windows Window definitions                
  194.     *       *                                                         
  195.     *       *********************************************************
  196.     *
  197.     
  198.     IF NOT WEXIST("_qka0wuh0p")
  199.         DEFINE WINDOW _qka0wuh0p ;
  200.             AT  0.000, 0.000  ;
  201.             SIZE 17.615,43.000 ;
  202.             TITLE "Print Options" ;
  203.             FONT "MS Sans Serif", 8 ;
  204.             STYLE "B" ;
  205.             FLOAT ;
  206.             NOCLOSE ;
  207.             SHADOW ;
  208.             NOMINIMIZE ;
  209.             DOUBLE
  210.         MOVE WINDOW _qka0wuh0p CENTER
  211.     ENDIF
  212.     
  213.     
  214.     *       *********************************************************
  215.     *       *                                                         
  216.     *       *         PRTOPTS/Windows Setup Code - SECTION 2          
  217.     *       *                                                         
  218.     *       *********************************************************
  219.     *
  220.     
  221.     #REGION 1
  222.     
  223.     skipvar = .T.
  224.     stemname = juststem(dbfname)
  225.     SELECT &stemname
  226.     createrb = 0
  227.     reptrb   = 3
  228.     layoutrb = 0
  229.     pdrivr   = 0
  230.     lastpd   = 1
  231.     
  232.     *       *********************************************************
  233.     *       *                                                         
  234.     *       *              PRTOPTS/Windows Screen Layout              
  235.     *       *                                                         
  236.     *       *********************************************************
  237.     *
  238.     
  239.     #REGION 1
  240.     IF WVISIBLE("_qka0wuh0p")
  241.         ACTIVATE WINDOW _qka0wuh0p SAME
  242.     ELSE
  243.         ACTIVATE WINDOW _qka0wuh0p NOSHOW
  244.     ENDIF
  245.     @ 9.385,7.000 GET pdrivrb ;
  246.         PICTURE "@*RVN Use current printer driver;Use report printer driver;Use no printer driver" ;
  247.         SIZE 1.308,28.167,0.000 ;
  248.         DEFAULT 1 ;
  249.         FONT "MS Sans Serif", 8 ;
  250.         STYLE "B"
  251.     @ 5.385,3.000 GET reptrb ;
  252.         PICTURE "@*RVN \<Modify report;Printer \<setup;\<Print report" ;
  253.         SIZE 1.308,16.833,0.000 ;
  254.         DEFAULT 1 ;
  255.         FONT "MS Sans Serif", 8 ;
  256.         STYLE "B" ;
  257.         VALID _qka0wuhv9()
  258.     @ 14.846,7.000 GET okcancl ;
  259.         PICTURE "@*HN \!OK;\?Cancel" ;
  260.         SIZE 1.769,11.000,4.000 ;
  261.         DEFAULT 1 ;
  262.         FONT "MS Sans Serif", 8 ;
  263.         STYLE "B" ;
  264.         VALID _qka0wuice()
  265.     @ 1.077,3.000 GET createrb ;
  266.         PICTURE "@*RVN C\<reate report" ;
  267.         SIZE 1.308,16.833,0.000 ;
  268.         DEFAULT 1 ;
  269.         FONT "MS Sans Serif", 8 ;
  270.         STYLE "B" ;
  271.         VALID _qka0wuj0h()
  272.     @ 2.615,7.000 GET layoutrb ;
  273.         PICTURE "@*RVN Form layout;Columnar layout" ;
  274.         SIZE 1.308,19.500,0.000 ;
  275.         DEFAULT 1 ;
  276.         FONT "MS Sans Serif", 8 ;
  277.         STYLE "B" ;
  278.         DISABLE
  279.     
  280.     IF NOT WVISIBLE("_qka0wuh0p")
  281.         ACTIVATE WINDOW _qka0wuh0p
  282.     ENDIF
  283.     
  284.     
  285.     *       *********************************************************
  286.     *       *                                                         
  287.     *       *    WindowsREAD contains clauses from SCREEN prtopts     
  288.     *       *                                                         
  289.     *       *********************************************************
  290.     *
  291.     
  292.     READ CYCLE ;
  293.         SHOW _qka0wujet() ;
  294.         MODAL
  295.     
  296.     RELEASE WINDOW _qka0wuh0p
  297.     SELECT (m.currarea)
  298.     
  299.     
  300.     #REGION 0
  301.     
  302.     SET READBORDER &rborder
  303.     
  304.     IF m.talkstat = "ON"
  305.         SET TALK ON
  306.     ENDIF
  307.     IF m.compstat = "ON"
  308.         SET COMPATIBLE ON
  309.     ENDIF
  310.     
  311.     
  312.     *       *********************************************************
  313.     *       *                                                         
  314.     *       *              PRTOPTS/Windows Cleanup Code               
  315.     *       *                                                         
  316.     *       *********************************************************
  317.     *
  318.     
  319.     #REGION 1
  320.     skipvar = .F.
  321.     
  322.  
  323. ENDCASE
  324.  
  325.  
  326. *       *********************************************************
  327. *       *                                                         
  328. *       * _QKA0WUEQB           m.reptrb VALID                     
  329. *       *                                                         
  330. *       * Function Origin:                                        
  331. *       *                                                         
  332. *       * From Platform:       Macintosh                          
  333. *       * From Screen:         PRTOPTS,     Record Number:    3   
  334. *       * Variable:            m.reptrb                           
  335. *       * Called By:           VALID Clause                       
  336. *       * Object Type:         Radio Button                       
  337. *       * Snippet Number:      1                                  
  338. *       *                                                         
  339. *       *********************************************************
  340. *
  341. FUNCTION _qka0wueqb     &&  m.reptrb VALID
  342. #REGION 1
  343. DO CASE
  344. CASE reptrb = 1
  345.    lastpd = IIF(pdrivrb=0,lastpd,pdrivrb)
  346.    pdrivrb = 0
  347.    SHOW GET pdrivrb DISABLE
  348. CASE reptrb = 2
  349.    lastpd = IIF(pdrivrb=0,lastpd,pdrivrb)
  350.    pdrivrb = 0
  351.    SHOW GET pdrivrb DISABLE
  352. CASE reptrb = 3
  353.    pdrivrb = lastpd
  354.    SHOW GET pdrivrb ENABLE
  355. ENDCASE
  356. createrb = 0
  357. layoutrb = 0
  358. SHOW GET layoutrb DISABLE
  359. SHOW GET createrb
  360.  
  361. *       *********************************************************
  362. *       *                                                         
  363. *       * _QKA0WUF7W           okcancl VALID                      
  364. *       *                                                         
  365. *       * Function Origin:                                        
  366. *       *                                                         
  367. *       * From Platform:       Macintosh                          
  368. *       * From Screen:         PRTOPTS,     Record Number:    4   
  369. *       * Variable:            okcancl                            
  370. *       * Called By:           VALID Clause                       
  371. *       * Object Type:         Push Button                        
  372. *       * Snippet Number:      2                                  
  373. *       *                                                         
  374. *       *********************************************************
  375. *
  376. FUNCTION _qka0wuf7w     &&  okcancl VALID
  377. #REGION 1
  378. IF okcancl = 1
  379.    DO CASE
  380.    CASE createrb = 1
  381.       m.repname = UPPER(ALLTRIM(PUTFILE('Report form','','FRX','OK')))
  382.       IF !EMPTY(m.repname)
  383.          IF layoutrb = 1
  384.             CREATE REPORT (m.repname) FROM (m.dbfname) FORM
  385.          ELSE
  386.             CREATE REPORT (m.repname) FROM (m.dbfname) COLUMN
  387.          ENDIF
  388.          MODIFY REPORT (m.repname)
  389.       ENDIF
  390.    CASE reptrb = 1
  391.       MODIFY REPORT ?
  392.    CASE reptrb = 2
  393.       IF !regen
  394.          mname = 'prtsetup.prg'
  395.       ELSE
  396.          mname = 'prtsetup.spr'
  397.       ENDIF
  398.       DO (mname)
  399.    CASE reptrb = 3
  400.       DO CASE
  401.       CASE pdrivrb = 1
  402.          DO putprt WITH ""
  403.       CASE pdrivrb = 2
  404.          DO putprt WITH "PDSETUP"
  405.       CASE pdrivrb = 3
  406.          old_driver = _PDRIVER
  407.          _PDRIVER = ""
  408.          DO putprt WITH ""
  409.          _PDRIVER = old_driver
  410.       ENDCASE
  411.    ENDCASE
  412. ELSE
  413.    CLEAR READ
  414. ENDIF
  415.  
  416.  
  417.  
  418. *       *********************************************************
  419. *       *                                                         
  420. *       * _QKA0WUFVZ           createrb VALID                     
  421. *       *                                                         
  422. *       * Function Origin:                                        
  423. *       *                                                         
  424. *       * From Platform:       Macintosh                          
  425. *       * From Screen:         PRTOPTS,     Record Number:    5   
  426. *       * Variable:            createrb                           
  427. *       * Called By:           VALID Clause                       
  428. *       * Object Type:         Radio Button                       
  429. *       * Snippet Number:      3                                  
  430. *       *                                                         
  431. *       *********************************************************
  432. *
  433. FUNCTION _qka0wufvz     &&  createrb VALID
  434. #REGION 1
  435. IF createrb = 1
  436.    reptrb   = 0
  437.    pdrivrb  = 0
  438.    layoutrb = 1
  439.    SHOW GET reptrb
  440.    SHOW GET layoutrb ENABLE
  441.    SHOW GET pdrivrb  DISABLE
  442. ENDIF
  443.  
  444. *       *********************************************************
  445. *       *                                                         
  446. *       * _QKA0WUGBP           Read Level Show                    
  447. *       *                                                         
  448. *       * Function Origin:                                        
  449. *       *                                                         
  450. *       *                                                         
  451. *       * From Platform:       Macintosh                          
  452. *       * From Screen:         PRTOPTS                            
  453. *       * Called By:           READ Statement                     
  454. *       * Snippet Number:      4                                  
  455. *       *                                                         
  456. *       *********************************************************
  457. *
  458. FUNCTION _qka0wugbp     && Read Level Show
  459. PRIVATE currwind
  460. STORE WOUTPUT() TO currwind
  461. *
  462. * Show Code from screen: PRTOPTS
  463. *
  464. #REGION 1
  465. SHOW GET reptrb,2 DISABLE
  466. IF NOT EMPTY(currwind)
  467.     ACTIVATE WINDOW (currwind) SAME
  468. ENDIF
  469.  
  470. *       *********************************************************
  471. *       *                                                         
  472. *       * _QKA0WUHV9           reptrb VALID                       
  473. *       *                                                         
  474. *       * Function Origin:                                        
  475. *       *                                                         
  476. *       * From Platform:       Windows                            
  477. *       * From Screen:         PRTOPTS,     Record Number:   11   
  478. *       * Variable:            reptrb                             
  479. *       * Called By:           VALID Clause                       
  480. *       * Object Type:         Radio Button                       
  481. *       * Snippet Number:      5                                  
  482. *       *                                                         
  483. *       *********************************************************
  484. *
  485. FUNCTION _qka0wuhv9     &&  reptrb VALID
  486. #REGION 1
  487. DO CASE
  488. CASE reptrb = 1
  489.    lastpd = IIF(pdrivrb=0,lastpd,pdrivrb)
  490.    pdrivrb = 0
  491.    SHOW GET pdrivrb DISABLE
  492. CASE reptrb = 2
  493.    lastpd = IIF(pdrivrb=0,lastpd,pdrivrb)
  494.    pdrivrb = 0
  495.    SHOW GET pdrivrb DISABLE
  496. CASE reptrb = 3
  497.    pdrivrb = lastpd
  498.    SHOW GET pdrivrb ENABLE
  499. ENDCASE
  500. createrb = 0
  501. layoutrb = 0
  502. SHOW GET layoutrb DISABLE
  503. SHOW GET createrb
  504.  
  505. *       *********************************************************
  506. *       *                                                         
  507. *       * _QKA0WUICE           okcancl VALID                      
  508. *       *                                                         
  509. *       * Function Origin:                                        
  510. *       *                                                         
  511. *       * From Platform:       Windows                            
  512. *       * From Screen:         PRTOPTS,     Record Number:   12   
  513. *       * Variable:            okcancl                            
  514. *       * Called By:           VALID Clause                       
  515. *       * Object Type:         Push Button                        
  516. *       * Snippet Number:      6                                  
  517. *       *                                                         
  518. *       *********************************************************
  519. *
  520. FUNCTION _qka0wuice     &&  okcancl VALID
  521. #REGION 1
  522. IF okcancl = 1
  523.    DO CASE
  524.    CASE createrb = 1
  525.       m.repname = UPPER(ALLTRIM(PUTFILE('Report form','','FRX','OK')))
  526.       IF !EMPTY(m.repname)
  527.          IF layoutrb = 1
  528.             CREATE REPORT (m.repname) FROM (m.dbfname) FORM
  529.          ELSE
  530.             CREATE REPORT (m.repname) FROM (m.dbfname) COLUMN
  531.          ENDIF
  532.          MODIFY REPORT (m.repname)
  533.       ENDIF
  534.    CASE reptrb = 1
  535.       MODIFY REPORT ?
  536.    CASE reptrb = 2
  537.       IF !regen
  538.          mname = 'prtsetup.prg'
  539.       ELSE
  540.          mname = 'prtsetup.spr'
  541.       ENDIF
  542.       DO (mname)
  543.    CASE reptrb = 3
  544.       DO CASE
  545.       CASE pdrivrb = 1
  546.          DO putprt WITH ""
  547.       CASE pdrivrb = 2
  548.          DO putprt WITH "PDSETUP"
  549.       CASE pdrivrb = 3
  550.          old_driver = _PDRIVER
  551.          _PDRIVER = ""
  552.          DO putprt WITH ""
  553.          _PDRIVER = old_driver
  554.       ENDCASE
  555.    ENDCASE
  556. ELSE
  557.    CLEAR READ
  558. ENDIF
  559.  
  560.  
  561.  
  562. *       *********************************************************
  563. *       *                                                         
  564. *       * _QKA0WUJ0H           createrb VALID                     
  565. *       *                                                         
  566. *       * Function Origin:                                        
  567. *       *                                                         
  568. *       * From Platform:       Windows                            
  569. *       * From Screen:         PRTOPTS,     Record Number:   13   
  570. *       * Variable:            createrb                           
  571. *       * Called By:           VALID Clause                       
  572. *       * Object Type:         Radio Button                       
  573. *       * Snippet Number:      7                                  
  574. *       *                                                         
  575. *       *********************************************************
  576. *
  577. FUNCTION _qka0wuj0h     &&  createrb VALID
  578. #REGION 1
  579. IF createrb = 1
  580.    reptrb   = 0
  581.    pdrivrb  = 0
  582.    layoutrb = 1
  583.    SHOW GET reptrb
  584.    SHOW GET layoutrb ENABLE
  585.    SHOW GET pdrivrb  DISABLE
  586. ENDIF
  587.  
  588. *       *********************************************************
  589. *       *                                                         
  590. *       * _QKA0WUJET           Read Level Show                    
  591. *       *                                                         
  592. *       * Function Origin:                                        
  593. *       *                                                         
  594. *       *                                                         
  595. *       * From Platform:       Windows                            
  596. *       * From Screen:         PRTOPTS                            
  597. *       * Called By:           READ Statement                     
  598. *       * Snippet Number:      8                                  
  599. *       *                                                         
  600. *       *********************************************************
  601. *
  602. FUNCTION _qka0wujet     && Read Level Show
  603. PRIVATE currwind
  604. STORE WOUTPUT() TO currwind
  605. *
  606. * Show Code from screen: PRTOPTS
  607. *
  608. #REGION 1
  609. SHOW GET reptrb,2 DISABLE
  610. IF NOT EMPTY(currwind)
  611.     ACTIVATE WINDOW (currwind) SAME
  612. ENDIF
  613.  
  614.  
  615. *       *********************************************************
  616. *       *                                                         
  617. *       *  PRTOPTS/Windows Supporting Procedures and Functions    
  618. *       *                                                         
  619. *       *********************************************************
  620. *
  621.  
  622. #REGION 1
  623.  
  624. *       *********************************************************
  625. *       *                                                         
  626. *       *                PRTOPTS Procedure PUTPRT                 
  627. *       *                                                         
  628. *       *********************************************************
  629. *
  630.  
  631.  
  632. PROCEDURE PUTPRT
  633. PARAMETERS REPTPARM
  634. DO CASE
  635. CASE _WINDOWS
  636.     
  637.     m.repname = UPPER(ALLTRIM(GETFILE('FRX','Report form')))
  638.     m.startrec = RECNO()
  639.     IF !EMPTY(m.repname)
  640.        RELEASE m.repbut, m.repdest, m.okbut
  641.        PUBLIC m.repbut, m.repdest, m.okbut
  642.     
  643.        IF !regen
  644.           mname = 'getdest.prg'  && dialog box to get output destination
  645.        ELSE
  646.           mname = 'getdest.spr'
  647.        ENDIF
  648.        DO (mname)
  649.     
  650.        err_string = ON('ERROR')
  651.        ON ERROR DO rpterror
  652.     
  653.        IF m.okbut = 1
  654.           DO CASE
  655.           CASE m.repbut = 1  && screen
  656.              m.startwin = WONTOP()
  657.              IF FILE(m.repname)
  658.                 REPORT FORM (m.repname) PREVIEW
  659.              ELSE
  660.                 MODIFY REPORT (m.repname)
  661.                 IF FILE(m.repname)
  662.                    REPORT FORM (m.repname) PREVIEW
  663.                 ENDIF
  664.              ENDIF
  665.     
  666.           CASE m.repbut = 2  && output to printer
  667.              IF SYS(13) <> "READY"
  668.                 WAIT WINDOW "The printer is not ready."
  669.              ELSE
  670.                 IF FILE(m.repname)
  671.                    WAIT WINDOW "Printing report..." NOWAIT
  672.                    REPORT FORM (m.repname) TO PRINT PROMPT NOCONSOLE &reptparm
  673.                    WAIT WINDOW "Report printed!" NOWAIT
  674.                    =INKEY(2,"HM")
  675.                    WAIT CLEAR
  676.                 ELSE
  677.                    MODIFY REPORT (m.repname)
  678.                    IF FILE(m.repname)
  679.                       WAIT WINDOW "Printing report..." NOWAIT
  680.                       REPORT FORM (m.repname) TO PRINT PROMPT NOCONSOLE &reptparm
  681.                       WAIT WINDOW "Report printed!" NOWAIT
  682.                       =INKEY(2,"HM")
  683.                       WAIT CLEAR
  684.                    ENDIF
  685.                 ENDIF
  686.              ENDIF
  687.     
  688.           CASE m.repbut = 3  && output to file
  689.              m.repdest = ALLTRIM(m.repdest)
  690.              IF !EMPTY(m.repdest)
  691.                 m.win_string = "Printing to "+m.repdest
  692.                 WAIT WINDOW m.win_string NOWAIT
  693.                 IF FILE(m.repname)
  694.                    REPORT FORM (m.repname) TO FILE (m.repdest) NOCONSOLE
  695.                 ELSE
  696.                    MODIFY REPORT (m.repname)
  697.                    IF FILE(m.repname)
  698.                       REPORT FORM (m.repname) TO FILE (m.repdest) NOCONSOLE
  699.                    ENDIF
  700.                 ENDIF
  701.              ENDIF
  702.           ENDCASE
  703.        ENDIF
  704.     ENDIF
  705.     IF TYPE('err_string') <> 'U'
  706.        ON ERROR &err_string
  707.     ELSE
  708.        ON ERROR
  709.     ENDIF
  710.     
  711.     IF m.startrec <= RECCOUNT() AND m.startrec > 0
  712.        GOTO m.startrec   && back to starting position
  713.     ELSE
  714.        GOTO TOP
  715.     ENDIF
  716.     
  717.     *!*****************************************************************
  718.     *!
  719.     *!      Procedure: RPTERROR
  720.     *!
  721.     *!*****************************************************************
  722.     
  723. CASE _MAC
  724.     
  725.     m.repname = UPPER(ALLTRIM(GETFILE('FRX|LBX','Report or label form')))
  726.     m.startrec = RECNO()
  727.     IF !EMPTY(m.repname)
  728.        RELEASE m.repbut, m.repdest, m.okbut
  729.        PUBLIC m.repbut, m.repdest, m.okbut
  730.     
  731.        IF !regen
  732.           mname = 'getdest.prg'  && dialog box to get output destination
  733.        ELSE
  734.           mname = 'getdest.spr'
  735.        ENDIF
  736.        DO (mname)
  737.     
  738.        err_string = ON('ERROR')
  739.        ON ERROR DO rpterror
  740.     
  741.        IF m.okbut = 1
  742.           DO CASE
  743.           CASE m.repbut = 1  && screen
  744.              m.startwin = WONTOP()
  745.              IF FILE(m.repname)
  746.                 REPORT FORM (m.repname) PREVIEW
  747.              ELSE
  748.                 MODIFY REPORT (m.repname)
  749.                 IF FILE(m.repname)
  750.                    REPORT FORM (m.repname) PREVIEW
  751.                 ENDIF
  752.              ENDIF
  753.     
  754.           CASE m.repbut = 2  && output to printer
  755.              IF SYS(13) <> "READY"
  756.                 WAIT WINDOW "The printer is not ready."
  757.              ELSE
  758.                 IF FILE(m.repname)
  759.                    WAIT WINDOW "Printing report..." NOWAIT
  760.                    REPORT FORM (m.repname) TO PRINT PROMPT NOCONSOLE &reptparm
  761.                    WAIT WINDOW "Report printed!" NOWAIT
  762.                    =INKEY(2,"HM")
  763.                    WAIT CLEAR
  764.                 ELSE
  765.                    MODIFY REPORT (m.repname)
  766.                    IF FILE(m.repname)
  767.                       WAIT WINDOW "Printing report..." NOWAIT
  768.                       REPORT FORM (m.repname) TO PRINT PROMPT NOCONSOLE &reptparm
  769.                       WAIT WINDOW "Report printed!" NOWAIT
  770.                       =INKEY(2,"HM")
  771.                       WAIT CLEAR
  772.                    ENDIF
  773.                 ENDIF
  774.              ENDIF
  775.     
  776.           CASE m.repbut = 3  && output to file
  777.              m.repdest = ALLTRIM(m.repdest)
  778.              IF !EMPTY(m.repdest)
  779.                 m.win_string = "Printing to "+m.repdest
  780.                 WAIT WINDOW m.win_string NOWAIT
  781.                 IF FILE(m.repname)
  782.                    REPORT FORM (m.repname) TO FILE (m.repdest) NOCONSOLE
  783.                 ELSE
  784.                    MODIFY REPORT (m.repname)
  785.                    IF FILE(m.repname)
  786.                       REPORT FORM (m.repname) TO FILE (m.repdest) NOCONSOLE
  787.                    ENDIF
  788.                 ENDIF
  789.              ENDIF
  790.           ENDCASE
  791.        ENDIF
  792.     ENDIF
  793.     IF TYPE('err_string') <> 'U'
  794.        ON ERROR &err_string
  795.     ELSE
  796.        ON ERROR
  797.     ENDIF
  798.     
  799.     IF m.startrec <= RECCOUNT() AND m.startrec > 0
  800.        GOTO m.startrec   && back to starting position
  801.     ELSE
  802.        GOTO TOP
  803.     ENDIF
  804.     
  805.     *!*****************************************************************
  806.     *!
  807.     *!      Procedure: RPTERROR
  808.     *!
  809.     *!*****************************************************************
  810.     
  811. ENDCASE
  812.  
  813. *       *********************************************************
  814. *       *                                                         
  815. *       *               PRTOPTS Procedure RPTERROR                
  816. *       *                                                         
  817. *       *********************************************************
  818. *
  819.  
  820.  
  821. PROCEDURE RPTERROR
  822. DO CASE
  823. CASE _WINDOWS
  824.     DO alert WITH "Error producing report.;The report form may not correspond to this database."
  825.     RETURN
  826. CASE _MAC
  827.     DO alert WITH "Error producing report.;The report form may not correspond to this database."
  828.     RETURN
  829. ENDCASE