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

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 05/18/93              JOIN.SPR                 13:44:57 
  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.     m.rborder = SET("READBORDER")
  35.     SET READBORDER ON
  36.     
  37.     *       *********************************************************
  38.     *       *                                                         
  39.     *       *               Windows Window definitions                
  40.     *       *                                                         
  41.     *       *********************************************************
  42.     *
  43.     
  44.     IF NOT WEXIST("joinwin") ;
  45.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.PJX" ;
  46.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.SCX" ;
  47.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.MNX" ;
  48.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.PRG" ;
  49.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.FRX" ;
  50.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.QPR"
  51.         DEFINE WINDOW joinwin ;
  52.             AT  0.000, 0.000  ;
  53.             SIZE 8.385,68.000 ;
  54.             TITLE "Join" ;
  55.             FONT "MS Sans Serif", 8 ;
  56.             STYLE "B" ;
  57.             FLOAT ;
  58.             NOCLOSE ;
  59.             SHADOW ;
  60.             NOMINIMIZE ;
  61.             DOUBLE
  62.         MOVE WINDOW joinwin CENTER
  63.     ENDIF
  64.     
  65.     
  66.     *       *********************************************************
  67.     *       *                                                         
  68.     *       *           JOIN/Windows Setup Code - SECTION 2           
  69.     *       *                                                         
  70.     *       *********************************************************
  71.     *
  72.     
  73.     #REGION 1
  74.     EXTERNAL ARRAY columnlist
  75.     
  76.     IF (ALEN(fromlist) < 2)
  77.         WAIT WINDOW "No query tables in FROM list"
  78.         RETURN
  79.     ENDIF
  80.     
  81.     DIMENSION relops[5]
  82.     relops[1] = "="
  83.     relops[2] = "<="
  84.     relops[3] = ">="
  85.     relops[4] = "<"
  86.     relops[5] = ">"
  87.     
  88.     
  89.     
  90.     *       *********************************************************
  91.     *       *                                                         
  92.     *       *               JOIN/Windows Screen Layout                
  93.     *       *                                                         
  94.     *       *********************************************************
  95.     *
  96.     
  97.     #REGION 1
  98.     IF WVISIBLE("joinwin")
  99.         ACTIVATE WINDOW joinwin SAME
  100.     ELSE
  101.         ACTIVATE WINDOW joinwin NOSHOW
  102.     ENDIF
  103.     @ 2.000,0.833 GET LHS ;
  104.         PICTURE "@^" ;
  105.         FROM ColumnList ;
  106.         SIZE 1.538,29.200 ;
  107.         RANGE , ALEN(ColumnList) - 1 ;
  108.         DEFAULT 1 ;
  109.         FONT "MS Sans Serif", 8
  110.     @ 2.077,34.167 GET iRelOp ;
  111.         PICTURE "@^" ;
  112.         FROM RelOps ;
  113.         SIZE 1.538,8.000 ;
  114.         DEFAULT 1 ;
  115.         FONT "MS Sans Serif", 8
  116.     @ 2.077,42.500 GET RHS ;
  117.         PICTURE "@^" ;
  118.         FROM ColumnList ;
  119.         SIZE 1.538,29.400 ;
  120.         RANGE , ALEN(ColumnList) - 1 ;
  121.         DEFAULT 1 ;
  122.         FONT "MS Sans Serif", 8
  123.     @ 2.077,26.333 GET Negate ;
  124.         PICTURE "@*C NOT" ;
  125.         SIZE 1.308,8.833 ;
  126.         DEFAULT 0 ;
  127.         FONT "MS Sans Serif", 8 ;
  128.         STYLE "B"
  129.     @ 5.615,13.000 GET ExitAction ;
  130.         PICTURE "@*HT \!OK;\?Cancel" ;
  131.         SIZE 1.769,19.000,4.000 ;
  132.         DEFAULT 1 ;
  133.         FONT "MS Sans Serif", 8 ;
  134.         STYLE "B" ;
  135.         VALID _qfx0tgxec()
  136.     
  137.     IF NOT WVISIBLE("joinwin")
  138.         ACTIVATE WINDOW joinwin
  139.     ENDIF
  140.     
  141.     READ CYCLE MODAL
  142.     
  143.     RELEASE WINDOW joinwin
  144.     
  145.     #REGION 0
  146.     
  147.     SET READBORDER &rborder
  148.     
  149.     IF m.talkstat = "ON"
  150.         SET TALK ON
  151.     ENDIF
  152.     IF m.compstat = "ON"
  153.         SET COMPATIBLE ON
  154.     ENDIF
  155.     
  156.  
  157. CASE _DOS
  158.  
  159.     
  160.     #REGION 0
  161.     REGIONAL m.currarea, m.talkstat, m.compstat
  162.     
  163.     IF SET("TALK") = "ON"
  164.         SET TALK OFF
  165.         m.talkstat = "ON"
  166.     ELSE
  167.         m.talkstat = "OFF"
  168.     ENDIF
  169.     m.compstat = SET("COMPATIBLE")
  170.     SET COMPATIBLE FOXPLUS
  171.     
  172.     *       *********************************************************
  173.     *       *                                                         
  174.     *       *                MS-DOS Window definitions                
  175.     *       *                                                         
  176.     *       *********************************************************
  177.     *
  178.     
  179.     IF NOT WEXIST("joinwin") ;
  180.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.PJX" ;
  181.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.SCX" ;
  182.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.MNX" ;
  183.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.PRG" ;
  184.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.FRX" ;
  185.         OR UPPER(WTITLE("JOINWIN")) == "JOINWIN.QPR"
  186.         DEFINE WINDOW joinwin ;
  187.             FROM INT((SROW()-9)/2),INT((SCOL()-74)/2) ;
  188.             TO INT((SROW()-9)/2)+8,INT((SCOL()-74)/2)+73 ;
  189.             TITLE "Join" ;
  190.             FLOAT ;
  191.             NOCLOSE ;
  192.             SHADOW ;
  193.             NOMINIMIZE ;
  194.             DOUBLE ;
  195.             COLOR SCHEME 1
  196.     ENDIF
  197.     
  198.     
  199.     *       *********************************************************
  200.     *       *                                                         
  201.     *       *           JOIN/MS-DOS Setup Code - SECTION 2            
  202.     *       *                                                         
  203.     *       *********************************************************
  204.     *
  205.     
  206.     #REGION 1
  207.     EXTERNAL ARRAY ColumnList
  208.     
  209.     IF (ALEN(FromList) < 2)
  210.         WAIT WINDOW "No query tables in FROM list"
  211.         RETURN
  212.     ENDIF
  213.     
  214.     DIMENSION RelOps[5]
  215.     RelOps[1] = "="
  216.     RelOps[2] = "<="
  217.     RelOps[3] = ">="
  218.     RelOps[4] = "<"
  219.     RelOps[5] = ">"
  220.     
  221.     
  222.     
  223.     *       *********************************************************
  224.     *       *                                                         
  225.     *       *                JOIN/MS-DOS Screen Layout                
  226.     *       *                                                         
  227.     *       *********************************************************
  228.     *
  229.     
  230.     #REGION 1
  231.     IF WVISIBLE("joinwin")
  232.         ACTIVATE WINDOW joinwin SAME
  233.     ELSE
  234.         ACTIVATE WINDOW joinwin NOSHOW
  235.     ENDIF
  236.     @ 1,0 GET LHS ;
  237.         PICTURE "@^" ;
  238.         FROM ColumnList ;
  239.         SIZE 3,27 ;
  240.         RANGE , ALEN(ColumnList) - 1 ;
  241.         DEFAULT 1 ;
  242.         COLOR SCHEME 1, 2
  243.     @ 1,36 GET iRelOp ;
  244.         PICTURE "@^" ;
  245.         FROM RelOps ;
  246.         SIZE 3,6 ;
  247.         DEFAULT 1 ;
  248.         COLOR SCHEME 1, 2
  249.     @ 1,43 GET RHS ;
  250.         PICTURE "@^" ;
  251.         FROM ColumnList ;
  252.         SIZE 3,28 ;
  253.         RANGE , ALEN(ColumnList) - 1 ;
  254.         DEFAULT 1 ;
  255.         COLOR SCHEME 1, 2
  256.     @ 2,28 GET Negate ;
  257.         PICTURE "@*C NOT" ;
  258.         SIZE 1,7 ;
  259.         DEFAULT 0
  260.     @ 5,15 GET ExitAction ;
  261.         PICTURE "@*HT \!OK;\?Cancel" ;
  262.         SIZE 1,19,4 ;
  263.         DEFAULT 1 ;
  264.         VALID _qfx0tgybd()
  265.     
  266.     IF NOT WVISIBLE("joinwin")
  267.         ACTIVATE WINDOW joinwin
  268.     ENDIF
  269.     
  270.     READ CYCLE MODAL
  271.     
  272.     RELEASE WINDOW joinwin
  273.     
  274.     #REGION 0
  275.     IF m.talkstat = "ON"
  276.         SET TALK ON
  277.     ENDIF
  278.     IF m.compstat = "ON"
  279.         SET COMPATIBLE ON
  280.     ENDIF
  281.     
  282.  
  283. ENDCASE
  284.  
  285.  
  286. *       *********************************************************
  287. *       *                                                         
  288. *       * _QFX0TGXEC           ExitAction VALID                   
  289. *       *                                                         
  290. *       * Function Origin:                                        
  291. *       *                                                         
  292. *       * From Platform:       Windows                            
  293. *       * From Screen:         JOIN,     Record Number:    6      
  294. *       * Variable:            ExitAction                         
  295. *       * Called By:           VALID Clause                       
  296. *       * Object Type:         Push Button                        
  297. *       * Snippet Number:      1                                  
  298. *       *                                                         
  299. *       *********************************************************
  300. *
  301.  
  302. FUNCTION _qfx0tgxec     &&  ExitAction VALID
  303. #REGION 1
  304. IF (exitaction == 1)
  305.     now = ALEN(wherelist)
  306.     IF (now > 1)
  307.         wherelist[now] = "AND"
  308.         DIMENSION wherelist[now + 1]
  309.     ENDIF
  310.  
  311.     now = ALEN(wherelist)
  312.     IF (negate == 1)
  313.         wherelist[now] = "NOT ("
  314.     ELSE
  315.         wherelist[now] = ""
  316.     ENDIF
  317.     wherelist[now] = wherelist[now] + columnlist[LHS];
  318.         + " " + relops[iRelOp] + " " + columnlist[RHS]
  319.     IF (negate == 1)
  320.         wherelist[now] =  wherelist[now] + ")"
  321.     ENDIF
  322.     DIMENSION wherelist[now + 1]
  323.     wherelist[now + 1] = ""
  324. ENDIF
  325.  
  326.  
  327. *       *********************************************************
  328. *       *                                                         
  329. *       * _QFX0TGYBD           ExitAction VALID                   
  330. *       *                                                         
  331. *       * Function Origin:                                        
  332. *       *                                                         
  333. *       * From Platform:       MS-DOS                             
  334. *       * From Screen:         JOIN,     Record Number:   14      
  335. *       * Variable:            ExitAction                         
  336. *       * Called By:           VALID Clause                       
  337. *       * Object Type:         Push Button                        
  338. *       * Snippet Number:      2                                  
  339. *       *                                                         
  340. *       *********************************************************
  341. *
  342.  
  343. FUNCTION _qfx0tgybd     &&  ExitAction VALID
  344. #REGION 1
  345. IF (ExitAction == 1)
  346.     now = ALEN(WhereList)
  347.     IF (now > 1)
  348.         WhereList[now] = "AND"
  349.         DIMENSION WhereList[now + 1]
  350.     ENDIF
  351.  
  352.     now = ALEN(WhereList)
  353.     IF (Negate == 1)
  354.         WhereList[now] = "NOT ("
  355.     ELSE
  356.         WhereList[now] = ""
  357.     ENDIF
  358.     WhereList[now] = WhereList[now] + ColumnList[LHS];
  359.         + " " + RelOps[iRelOp] + " " + ColumnList[RHS]
  360.     IF (Negate == 1)
  361.         WhereList[now] =  WhereList[now] + ")"
  362.     ENDIF
  363.     DIMENSION WhereList[now + 1]
  364.     WhereList[now + 1] = ""
  365. ENDIF