home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a084 / 2.ddi / CKSAMPLE / FROM.SPR < prev    next >
Encoding:
Text File  |  1993-05-25  |  20.1 KB  |  646 lines

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 05/18/93              FROM.SPR                 13:43:48 
  4. *       *                                                         
  5. *       *********************************************************
  6. *       *                                                         
  7. *       * Steven Hsu, Wayne Lampel                                
  8. *       *                                                         
  9. *       * Copyright (c) 1993 Microsoft                            
  10. *       * One Microsoft Way                                       
  11. *       * Redmond, WA  98052                                      
  12. *       *                                                         
  13. *       * Description:                                            
  14. *       * This program was automatically generated by GENSCRN.    
  15. *       *                                                         
  16. *       *********************************************************
  17.  
  18. DO CASE
  19. CASE _WINDOWS
  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.     *       *********************************************************
  35.     *       *                                                         
  36.     *       *               Windows Window definitions                
  37.     *       *                                                         
  38.     *       *********************************************************
  39.     *
  40.     
  41.     IF NOT WEXIST("fromwin") ;
  42.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.PJX" ;
  43.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.SCX" ;
  44.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.MNX" ;
  45.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.PRG" ;
  46.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.FRX" ;
  47.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.QPR"
  48.         DEFINE WINDOW fromwin ;
  49.             AT  0.000, 0.000  ;
  50.             SIZE 14.308,69.333 ;
  51.             TITLE " From " ;
  52.             FONT "MS Sans Serif", 8 ;
  53.             STYLE "B" ;
  54.             FLOAT ;
  55.             NOCLOSE ;
  56.             SHADOW ;
  57.             NOMINIMIZE ;
  58.             DOUBLE
  59.         MOVE WINDOW fromwin CENTER
  60.     ENDIF
  61.     
  62.     
  63.     *       *********************************************************
  64.     *       *                                                         
  65.     *       *           FROM/Windows Setup Code - SECTION 2           
  66.     *       *                                                         
  67.     *       *********************************************************
  68.     *
  69.     
  70.     #REGION 1
  71.     PRIVATE exitaction, fromtable, removefrom
  72.     EXTERNAL ARRAY tablelist
  73.     
  74.     exitaction  = 1  && <OK>
  75.     fromtable   = 1  && make it numeric; GENSCRN gives DEFAULT " "
  76.     removefrom  = 1  && make it numeric; GENSCRN gives DEFAULT " "
  77.     
  78.     DEFINE POPUP fromtpop SCROLL MARGIN MARK " "
  79.     DEFINE POPUP fromfpop SCROLL MARGIN MARK " "
  80.     
  81.     PRIVATE ALL LIKE ntables, nfroms i
  82.     
  83.     dimension templist[1]
  84.     
  85.     barcnt = 1
  86.     ntables = ALEN(tablelist) - 1
  87.     FOR i = 1 TO ntables
  88.         tablename = '"' + tablelist[i] + '"'
  89.         IF NOT  infromlist(&tablename)
  90.             templist[barcnt] = tablelist[i]
  91.             barcnt = barcnt + 1
  92.             dimension templist[barcnt]
  93.         ENDIF
  94.     ENDFOR
  95.     
  96.     = ASORT(templist,1,ALEN(templist) - 1)
  97.     
  98.     nfroms = ALEN(templist) - 1
  99.     FOR i = 1 TO nfroms
  100.         DEFINE BAR (i) OF fromtpop PROMPT templist[i]
  101.     ENDFOR
  102.     
  103.     nfroms = ALEN(fromlist) - 1
  104.     FOR i = 1 TO nfroms
  105.         DEFINE BAR (i) OF fromfpop PROMPT fromlist[i]
  106.     ENDFOR
  107.     
  108.     
  109.     
  110.     *       *********************************************************
  111.     *       *                                                         
  112.     *       *               FROM/Windows Screen Layout                
  113.     *       *                                                         
  114.     *       *********************************************************
  115.     *
  116.     
  117.     #REGION 1
  118.     IF WVISIBLE("fromwin")
  119.         ACTIVATE WINDOW fromwin SAME
  120.     ELSE
  121.         ACTIVATE WINDOW fromwin NOSHOW
  122.     ENDIF
  123.     @ 2.615,2.500 GET FromTable ;
  124.          PICTURE "@&N" ;
  125.         POPUP FromTPop ;
  126.         SIZE 10.385,26.800 ;
  127.         DEFAULT " " ;
  128.         FONT "MS Sans Serif", 8 ;
  129.         STYLE "" ;
  130.         VALID _qfx0tffzz()
  131.     @ 1.231,44.667 SAY "Query tables:"  ;
  132.         FONT "MS Sans Serif", 8 ;
  133.         STYLE "B"
  134.     @ 2.615,44.833 GET RemoveFrom ;
  135.          PICTURE "@&N" ;
  136.         POPUP FromFPop ;
  137.         SIZE 10.385,26.800 ;
  138.         DEFAULT " " ;
  139.         FONT "MS Sans Serif", 8 ;
  140.         STYLE "" ;
  141.         VALID _qfx0tfg5a()
  142.     @ 11.308,28.500 GET ExitAction ;
  143.         PICTURE "@*VT \!OK" ;
  144.         SIZE 1.769,12.833,0.462 ;
  145.         DEFAULT 1 ;
  146.         FONT "MS Sans Serif", 8 ;
  147.         STYLE "B"
  148.     @ 1.231,2.333 SAY "Database tables:"  ;
  149.         FONT "MS Sans Serif", 8 ;
  150.         STYLE "B"
  151.     @ 4.846,28.333 GET moveAct ;
  152.         PICTURE "@*VN  \<Add >>; << \<Remove " ;
  153.         SIZE 1.769,13.167,1.000 ;
  154.         DEFAULT 1 ;
  155.         FONT "MS Sans Serif", 8 ;
  156.         STYLE "B" ;
  157.         VALID _qfx0tfgbu()
  158.     
  159.     IF NOT WVISIBLE("fromwin")
  160.         ACTIVATE WINDOW fromwin
  161.     ENDIF
  162.     
  163.     READ CYCLE MODAL ;
  164.         WHEN _qfx0tfgiz()
  165.     
  166.     RELEASE WINDOW fromwin
  167.     
  168.     #REGION 0
  169.     IF m.talkstat = "ON"
  170.         SET TALK ON
  171.     ENDIF
  172.     IF m.compstat = "ON"
  173.         SET COMPATIBLE ON
  174.     ENDIF
  175.     
  176.     
  177.     *       *********************************************************
  178.     *       *                                                         
  179.     *       *                FROM/Windows Cleanup Code                
  180.     *       *                                                         
  181.     *       *********************************************************
  182.     *
  183.     
  184.     #REGION 1
  185.     DEACTIVATE POPUP fromtpop
  186.     DEACTIVATE POPUP fromfpop
  187.     RETURN
  188.     
  189.  
  190. CASE _DOS
  191.  
  192.     
  193.     #REGION 0
  194.     REGIONAL m.currarea, m.talkstat, m.compstat
  195.     
  196.     IF SET("TALK") = "ON"
  197.         SET TALK OFF
  198.         m.talkstat = "ON"
  199.     ELSE
  200.         m.talkstat = "OFF"
  201.     ENDIF
  202.     m.compstat = SET("COMPATIBLE")
  203.     SET COMPATIBLE FOXPLUS
  204.     
  205.     *       *********************************************************
  206.     *       *                                                         
  207.     *       *                MS-DOS Window definitions                
  208.     *       *                                                         
  209.     *       *********************************************************
  210.     *
  211.     
  212.     IF NOT WEXIST("fromwin") ;
  213.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.PJX" ;
  214.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.SCX" ;
  215.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.MNX" ;
  216.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.PRG" ;
  217.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.FRX" ;
  218.         OR UPPER(WTITLE("FROMWIN")) == "FROMWIN.QPR"
  219.         DEFINE WINDOW fromwin ;
  220.             FROM INT((SROW()-15)/2),INT((SCOL()-74)/2) ;
  221.             TO INT((SROW()-15)/2)+14,INT((SCOL()-74)/2)+73 ;
  222.             TITLE " FROM " ;
  223.             FLOAT ;
  224.             NOCLOSE ;
  225.             SHADOW ;
  226.             NOMINIMIZE ;
  227.             DOUBLE ;
  228.             COLOR SCHEME 1
  229.     ENDIF
  230.     
  231.     
  232.     *       *********************************************************
  233.     *       *                                                         
  234.     *       *           FROM/MS-DOS Setup Code - SECTION 2            
  235.     *       *                                                         
  236.     *       *********************************************************
  237.     *
  238.     
  239.     #REGION 1
  240.     PRIVATE exitaction, fromtable, removefrom
  241.     EXTERNAL ARRAY tablelist
  242.     
  243.     exitaction  = 1  && <OK>
  244.     fromtable   = 1  && make it numeric; GENSCRN gives DEFAULT " "
  245.     removefrom  = 1  && make it numeric; GENSCRN gives DEFAULT " "
  246.     
  247.     DEFINE POPUP fromtpop SCROLL MARGIN MARK " "
  248.     DEFINE POPUP fromfpop SCROLL MARGIN MARK " "
  249.     
  250.     PRIVATE ALL LIKE ntables, nfroms i
  251.     
  252.     dimension templist[1]
  253.     
  254.     barcnt = 1
  255.     ntables = ALEN(tablelist) - 1
  256.     FOR i = 1 TO ntables
  257.         tablename = '"' + tablelist[i] + '"'
  258.         IF NOT  infromlist(&tablename)
  259.             templist[barcnt] = tablelist[i]
  260.             barcnt = barcnt + 1
  261.             dimension templist[barcnt]
  262.         ENDIF
  263.     ENDFOR
  264.     
  265.     = ASORT(templist,1,ALEN(templist) - 1)
  266.     
  267.     nfroms = ALEN(templist) - 1
  268.     FOR i = 1 TO nfroms
  269.         DEFINE BAR (i) OF fromtpop PROMPT templist[i]
  270.     ENDFOR
  271.     
  272.     nfroms = ALEN(fromlist) - 1
  273.     FOR i = 1 TO nfroms
  274.         DEFINE BAR (i) OF fromfpop PROMPT fromlist[i]
  275.     ENDFOR
  276.     
  277.     
  278.     
  279.     *       *********************************************************
  280.     *       *                                                         
  281.     *       *                FROM/MS-DOS Screen Layout                
  282.     *       *                                                         
  283.     *       *********************************************************
  284.     *
  285.     
  286.     #REGION 1
  287.     IF WVISIBLE("fromwin")
  288.         ACTIVATE WINDOW fromwin SAME
  289.     ELSE
  290.         ACTIVATE WINDOW fromwin NOSHOW
  291.     ENDIF
  292.     @ 2,2 GET FromTable ;
  293.          PICTURE "@&N" ;
  294.         POPUP FromTPop ;
  295.         SIZE 10,26 ;
  296.         DEFAULT " " ;
  297.         VALID _qfx0tfhmu() ;
  298.         COLOR SCHEME 2
  299.     @ 1,44 SAY "Query tables:" ;
  300.         SIZE 1,13, 0
  301.     @ 2,44 GET RemoveFrom ;
  302.          PICTURE "@&N" ;
  303.         POPUP FromFPop ;
  304.         SIZE 10,26 ;
  305.         DEFAULT " " ;
  306.         VALID _qfx0tfhry() ;
  307.         COLOR SCHEME 2
  308.     @ 11,30 GET ExitAction ;
  309.         PICTURE "@*VT \!OK" ;
  310.         SIZE 1,12,0 ;
  311.         DEFAULT 1
  312.     @ 1,2 SAY "Database tables:" ;
  313.         SIZE 1,16, 0
  314.     @ 4,29 GET moveAct ;
  315.         PICTURE "@*VN  \<Add >>; << \<Remove " ;
  316.         SIZE 1,13,1 ;
  317.         DEFAULT 1 ;
  318.         VALID _qfx0tfhxo()
  319.     
  320.     IF NOT WVISIBLE("fromwin")
  321.         ACTIVATE WINDOW fromwin
  322.     ENDIF
  323.     
  324.     READ CYCLE MODAL ;
  325.         WHEN _qfx0tfi1q()
  326.     
  327.     RELEASE WINDOW fromwin
  328.     
  329.     #REGION 0
  330.     IF m.talkstat = "ON"
  331.         SET TALK ON
  332.     ENDIF
  333.     IF m.compstat = "ON"
  334.         SET COMPATIBLE ON
  335.     ENDIF
  336.     
  337.     
  338.     *       *********************************************************
  339.     *       *                                                         
  340.     *       *                FROM/MS-DOS Cleanup Code                 
  341.     *       *                                                         
  342.     *       *********************************************************
  343.     *
  344.     
  345.     #REGION 1
  346.     DEACTIVATE POPUP fromtpop
  347.     DEACTIVATE POPUP fromfpop
  348.     RETURN
  349.     
  350.  
  351. ENDCASE
  352.  
  353.  
  354. *       *********************************************************
  355. *       *                                                         
  356. *       * _QFX0TFFZZ           FromTable VALID                    
  357. *       *                                                         
  358. *       * Function Origin:                                        
  359. *       *                                                         
  360. *       * From Platform:       Windows                            
  361. *       * From Screen:         FROM,     Record Number:    2      
  362. *       * Variable:            FromTable                          
  363. *       * Called By:           VALID Clause                       
  364. *       * Object Type:         List                               
  365. *       * Snippet Number:      1                                  
  366. *       *                                                         
  367. *       *********************************************************
  368. *
  369. FUNCTION _qfx0tffzz     &&  FromTable VALID
  370. #REGION 1
  371. DO add
  372. RETURN .T.
  373.  
  374. *       *********************************************************
  375. *       *                                                         
  376. *       * _QFX0TFG5A           RemoveFrom VALID                   
  377. *       *                                                         
  378. *       * Function Origin:                                        
  379. *       *                                                         
  380. *       * From Platform:       Windows                            
  381. *       * From Screen:         FROM,     Record Number:    4      
  382. *       * Variable:            RemoveFrom                         
  383. *       * Called By:           VALID Clause                       
  384. *       * Object Type:         List                               
  385. *       * Snippet Number:      2                                  
  386. *       *                                                         
  387. *       *********************************************************
  388. *
  389. FUNCTION _qfx0tfg5a     &&  RemoveFrom VALID
  390. #REGION 1
  391. DO remoov
  392. RETURN .T.
  393.  
  394.  
  395. *       *********************************************************
  396. *       *                                                         
  397. *       * _QFX0TFGBU           moveAct VALID                      
  398. *       *                                                         
  399. *       * Function Origin:                                        
  400. *       *                                                         
  401. *       * From Platform:       Windows                            
  402. *       * From Screen:         FROM,     Record Number:    7      
  403. *       * Variable:            moveAct                            
  404. *       * Called By:           VALID Clause                       
  405. *       * Object Type:         Push Button                        
  406. *       * Snippet Number:      3                                  
  407. *       *                                                         
  408. *       *********************************************************
  409. *
  410. FUNCTION _qfx0tfgbu     &&  moveAct VALID
  411. #REGION 1
  412. IF (moveact == 1)
  413.     DO add
  414.     RETURN .T.
  415. ELSE
  416.     DO remoov
  417.     RETURN .T.
  418. ENDIF
  419.  
  420.  
  421. *       *********************************************************
  422. *       *                                                         
  423. *       * _QFX0TFGIZ           Read Level When                    
  424. *       *                                                         
  425. *       * Function Origin:                                        
  426. *       *                                                         
  427. *       *                                                         
  428. *       * From Platform:       Windows                            
  429. *       * From Screen:         FROM                               
  430. *       * Called By:           READ Statement                     
  431. *       * Snippet Number:      4                                  
  432. *       *                                                         
  433. *       *********************************************************
  434. *
  435. FUNCTION _qfx0tfgiz     && Read Level When
  436. *
  437. * When Code from screen: FROM
  438. *
  439. #REGION 1
  440. if alen(templist) < 2
  441.     show get moveact,1 disabled
  442. else
  443.     show get moveact,1 enabled
  444. endif
  445. if alen(fromlist) < 2
  446.     show get moveact,2 disabled
  447. else
  448.     show get moveact,2 enabled
  449. endif
  450.  
  451. *       *********************************************************
  452. *       *                                                         
  453. *       * _QFX0TFHMU           FromTable VALID                    
  454. *       *                                                         
  455. *       * Function Origin:                                        
  456. *       *                                                         
  457. *       * From Platform:       MS-DOS                             
  458. *       * From Screen:         FROM,     Record Number:   11      
  459. *       * Variable:            FromTable                          
  460. *       * Called By:           VALID Clause                       
  461. *       * Object Type:         List                               
  462. *       * Snippet Number:      5                                  
  463. *       *                                                         
  464. *       *********************************************************
  465. *
  466. FUNCTION _qfx0tfhmu     &&  FromTable VALID
  467. #REGION 1
  468. DO add
  469. RETURN .T.
  470.  
  471. *       *********************************************************
  472. *       *                                                         
  473. *       * _QFX0TFHRY           RemoveFrom VALID                   
  474. *       *                                                         
  475. *       * Function Origin:                                        
  476. *       *                                                         
  477. *       * From Platform:       MS-DOS                             
  478. *       * From Screen:         FROM,     Record Number:   13      
  479. *       * Variable:            RemoveFrom                         
  480. *       * Called By:           VALID Clause                       
  481. *       * Object Type:         List                               
  482. *       * Snippet Number:      6                                  
  483. *       *                                                         
  484. *       *********************************************************
  485. *
  486. FUNCTION _qfx0tfhry     &&  RemoveFrom VALID
  487. #REGION 1
  488. DO remoov
  489. RETURN .T.
  490.  
  491.  
  492. *       *********************************************************
  493. *       *                                                         
  494. *       * _QFX0TFHXO           moveAct VALID                      
  495. *       *                                                         
  496. *       * Function Origin:                                        
  497. *       *                                                         
  498. *       * From Platform:       MS-DOS                             
  499. *       * From Screen:         FROM,     Record Number:   16      
  500. *       * Variable:            moveAct                            
  501. *       * Called By:           VALID Clause                       
  502. *       * Object Type:         Push Button                        
  503. *       * Snippet Number:      7                                  
  504. *       *                                                         
  505. *       *********************************************************
  506. *
  507. FUNCTION _qfx0tfhxo     &&  moveAct VALID
  508. #REGION 1
  509. IF (moveact == 1)
  510.     DO add
  511.     RETURN .T.
  512. ELSE
  513.     DO remoov
  514.     RETURN .T.
  515. ENDIF
  516.  
  517.  
  518. *       *********************************************************
  519. *       *                                                         
  520. *       * _QFX0TFI1Q           Read Level When                    
  521. *       *                                                         
  522. *       * Function Origin:                                        
  523. *       *                                                         
  524. *       *                                                         
  525. *       * From Platform:       MS-DOS                             
  526. *       * From Screen:         FROM                               
  527. *       * Called By:           READ Statement                     
  528. *       * Snippet Number:      8                                  
  529. *       *                                                         
  530. *       *********************************************************
  531. *
  532. FUNCTION _qfx0tfi1q     && Read Level When
  533. *
  534. * When Code from screen: FROM
  535. *
  536. #REGION 1
  537. if alen(templist) < 2
  538.     show get moveact,1 disabled
  539. else
  540.     show get moveact,1 enabled
  541. endif
  542. if alen(fromlist) < 2
  543.     show get moveact,2 disabled
  544. else
  545.     show get moveact,2 enabled
  546. endif
  547.  
  548.  
  549. *       *********************************************************
  550. *       *                                                         
  551. *       *    FROM/MS-DOS Supporting Procedures and Functions      
  552. *       *                                                         
  553. *       *********************************************************
  554. *
  555.  
  556. #REGION 1
  557. PROCEDURE add
  558.  
  559. ntables = ALEN(templist) - 1
  560. IF (ntables < fromtable)
  561.     RETURN
  562. ENDIF
  563. tablename = templist[FromTable]
  564.  
  565. nfroms = ALEN(fromlist)
  566. fromlist[nFroms] = tablename
  567. DIMENSION fromlist[nFroms + 1]
  568. = ASORT(fromlist,1,ALEN(fromlist) - 1)
  569.  
  570. FOR i = 1 TO nfroms
  571.     DEFINE BAR (i) OF fromfpop PROMPT fromlist[i]
  572. ENDFOR
  573.  
  574. = ADEL(templist, FromTable)
  575. dimension templist(alen(templist)-1)
  576. RELEASE BAR ALL OF fromtpop
  577. ntables = ALEN(templist)  - 1
  578. FOR i = 1 TO ntables
  579.     tablename = '"' + templist[i] + '"'
  580.     DEFINE BAR (i) OF fromtpop PROMPT templist[i]
  581. ENDFOR
  582.  
  583. if alen(templist) < 2
  584.     show get moveact,1 disabled
  585. else
  586.     show get moveact,1 enabled
  587. endif
  588. if alen(fromlist) < 2
  589.     show get moveact,2 disabled
  590. else
  591.     show get moveact,2 enabled
  592. endif
  593.  
  594. removefrom = 1
  595. if fromtable > alen(templist) - 1
  596.     fromtable = alen(templist) - 1
  597. endif
  598. SHOW GET removefrom
  599. SHOW GET fromtable
  600.  
  601. RETURN
  602.  
  603. PROCEDURE remoov
  604.  
  605. nfroms = ALEN(fromlist) - 1
  606. IF (nfroms < 1)
  607.     RETURN
  608. ENDIF
  609. tablename = fromlist[removefrom]
  610. = ADEL(fromlist, removefrom)
  611. DIMENSION fromlist[nFroms]
  612.  
  613. RELEASE BAR ALL OF fromfpop
  614. nfroms = nfroms - 1
  615. FOR i = 1 TO nfroms
  616.     DEFINE BAR (i) OF fromfpop PROMPT fromlist[i]
  617. ENDFOR
  618.  
  619. nfroms = ALEN(templist)
  620. templist[nFroms] = tablename
  621. DIMENSION templist[nFroms + 1]
  622. = ASORT(templist,1,ALEN(templist) - 1)
  623. FOR i = 1 TO nfroms
  624.     DEFINE BAR (i) OF fromtpop PROMPT templist[i]
  625. ENDFOR
  626.  
  627. if alen(templist) < 2
  628.     show get moveact,1 disabled
  629. else
  630.     show get moveact,1 enabled
  631. endif
  632. if alen(fromlist) < 2
  633.     show get moveact,2 disabled
  634. else
  635.     show get moveact,2 enabled
  636. endif
  637.  
  638. fromtable = 1
  639. if removefrom > alen(fromlist) - 1
  640.     removefrom = alen(fromlist) - 1
  641. endif
  642. SHOW GET removefrom
  643. SHOW GET fromtable
  644.  
  645. RETURN
  646.