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

  1. *       *********************************************************
  2. *       *                                                         
  3. *       * 11/04/93             APPSRCH.PRG               14:30:41 
  4. *       *                                                         
  5. *       *********************************************************
  6. *       *                                                         
  7. *       * Author's Name                                           
  8. *       *                                                         
  9. *       * Copyright (c) 1993 Company Name                         
  10. *       * Address                                                 
  11. *       * City,     Zip                                           
  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("_qkn0v3nq8")
  48.         DEFINE WINDOW _qkn0v3nq8 ;
  49.             AT  0.000, 0.000  ;
  50.             SIZE 5.750,56.500 ;
  51.             TITLE " Search for: " ;
  52.             FONT "Geneva", 10 ;
  53.             FLOAT ;
  54.             NOCLOSE ;
  55.             SHADOW ;
  56.             DOUBLE
  57.         MOVE WINDOW _qkn0v3nq8 CENTER
  58.     ENDIF
  59.     
  60.     
  61.     *       *********************************************************
  62.     *       *                                                         
  63.     *       *        APPSRCH/Macintosh Setup Code - SECTION 2         
  64.     *       *                                                         
  65.     *       *********************************************************
  66.     *
  67.     
  68.     #REGION 1
  69.     IF TYPE("srchterm") $ "UL" OR EMPTY(m.srchterm)
  70.        m.srchterm = SPACE(60)
  71.     ENDIF
  72.     m.oksrch = 1
  73.     m.fldnum = 0
  74.     
  75.     DIMENSION fldarry(10,4)   && default dimensions.  AFIELDS will reset if necessary.
  76.     m.fldcnt = AFIELDS(fldarry)
  77.     m.startord = ORDER()
  78.     m.startalias = ALIAS()
  79.     
  80.     m.curord = ORDER()
  81.     IF EMPTY(m.curord)
  82.        SET ORDER TO 1
  83.        m.curord = ORDER()
  84.     ENDIF
  85.     
  86.     FOR i = 1 TO FCOUNT()
  87.        IF FIELDS(i) == m.curord
  88.           m.fldnum = i
  89.        ENDIF
  90.     ENDFOR
  91.     
  92.     IF m.fldnum > 0
  93.        m.fldname = FIELDS(m.fldnum)
  94.     ELSE
  95.        SET ORDER TO 1
  96.        m.fldnum  = 1
  97.        m.fldname = FIELDS(1)
  98.     ENDIF
  99.     
  100.     skipvar = .T.
  101.     
  102.     curs_stat = (UPPER(SET("CURSOR")) = "ON")
  103.     SET CURSOR ON
  104.     
  105.     *       *********************************************************
  106.     *       *                                                         
  107.     *       *             APPSRCH/Macintosh Screen Layout             
  108.     *       *                                                         
  109.     *       *********************************************************
  110.     *
  111.     
  112.     #REGION 1
  113.     IF WVISIBLE("_qkn0v3nq8")
  114.         ACTIVATE WINDOW _qkn0v3nq8 SAME
  115.     ELSE
  116.         ACTIVATE WINDOW _qkn0v3nq8 NOSHOW
  117.     ENDIF
  118.     @ 3.500,1.833 SAY "In Field:"  ;
  119.         FONT "Geneva", 10
  120.     @ 1.333,11.500 GET m.srchterm ;
  121.         SIZE 1.000,26.333 ;
  122.         DEFAULT " " ;
  123.         FONT "Geneva", 10 ;
  124.         PICTURE "@3S60" ;
  125.         WHEN _qkn0v3rt0()
  126.     @ 3.250,11.167 GET fldnum ;
  127.         PICTURE "@^3" ;
  128.         FROM fldarry ;
  129.         SIZE 1.500,27.000 ;
  130.         DEFAULT 1 ;
  131.         FONT "Geneva", 10 ;
  132.         VALID _qkn0v3s3n()
  133.     @ 1.333,42.333 GET oksrch ;
  134.         PICTURE "@*VN3 \!OK;\?Cancel" ;
  135.         SIZE 1.500,10.000,0.500 ;
  136.         DEFAULT 1 ;
  137.         FONT "Geneva", 10 ;
  138.         STYLE "B" ;
  139.         VALID _qkn0v3sh2()
  140.     @ 1.250,1.833 SAY "Find:"  ;
  141.         FONT "Geneva", 10 ;
  142.         STYLE "T" ;
  143.         COLOR RGB(0,0,0,255,255,255)
  144.     
  145.     IF NOT WVISIBLE("_qkn0v3nq8")
  146.         ACTIVATE WINDOW _qkn0v3nq8
  147.     ENDIF
  148.     
  149.     
  150.     *       *********************************************************
  151.     *       *                                                         
  152.     *       *   MacintoshREAD contains clauses from SCREEN appsrch    
  153.     *       *                                                         
  154.     *       *********************************************************
  155.     *
  156.     
  157.     READ CYCLE ;
  158.         ACTIVATE _qkn0v3tgq() ;
  159.         DEACTIVATE _qkn0v3tgr() ;
  160.         MODAL
  161.     
  162.     RELEASE WINDOW _qkn0v3nq8
  163.     SELECT (m.currarea)
  164.     
  165.     
  166.     #REGION 0
  167.     
  168.     SET READBORDER &rborder
  169.     
  170.     IF m.talkstat = "ON"
  171.         SET TALK ON
  172.     ENDIF
  173.     IF m.compstat = "ON"
  174.         SET COMPATIBLE ON
  175.     ENDIF
  176.     
  177.     
  178.     *       *********************************************************
  179.     *       *                                                         
  180.     *       *             APPSRCH/Macintosh Cleanup Code              
  181.     *       *                                                         
  182.     *       *********************************************************
  183.     *
  184.     
  185.     #REGION 1
  186.     IF m.curs_stat
  187.        SET CURSOR ON
  188.     ELSE
  189.        SET CURSOR OFF
  190.     ENDIF
  191.     m.skipvar = .F.
  192.     
  193.  
  194. CASE _WINDOWS
  195.  
  196.     
  197.     #REGION 0
  198.     REGIONAL m.currarea, m.talkstat, m.compstat
  199.     
  200.     IF SET("TALK") = "ON"
  201.         SET TALK OFF
  202.         m.talkstat = "ON"
  203.     ELSE
  204.         m.talkstat = "OFF"
  205.     ENDIF
  206.     m.compstat = SET("COMPATIBLE")
  207.     SET COMPATIBLE FOXPLUS
  208.     
  209.     m.rborder = SET("READBORDER")
  210.     SET READBORDER ON
  211.     
  212.     m.currarea = SELECT()
  213.     
  214.     
  215.     *       *********************************************************
  216.     *       *                                                         
  217.     *       *               Windows Window definitions                
  218.     *       *                                                         
  219.     *       *********************************************************
  220.     *
  221.     
  222.     IF NOT WEXIST("_qkn0v3uk2")
  223.         DEFINE WINDOW _qkn0v3uk2 ;
  224.             AT  0.000, 0.000  ;
  225.             SIZE 6.308,50.000 ;
  226.             TITLE " Search for: " ;
  227.             FONT "MS Sans Serif", 8 ;
  228.             STYLE "B" ;
  229.             FLOAT ;
  230.             NOCLOSE ;
  231.             SHADOW ;
  232.             NOMINIMIZE ;
  233.             DOUBLE
  234.         MOVE WINDOW _qkn0v3uk2 CENTER
  235.     ENDIF
  236.     
  237.     
  238.     *       *********************************************************
  239.     *       *                                                         
  240.     *       *         APPSRCH/Windows Setup Code - SECTION 2          
  241.     *       *                                                         
  242.     *       *********************************************************
  243.     *
  244.     
  245.     #REGION 1
  246.     IF TYPE("srchterm") $ "UL" OR EMPTY(m.srchterm)
  247.        m.srchterm = SPACE(60)
  248.     ENDIF
  249.     m.oksrch = 1
  250.     m.fldnum = 0
  251.     
  252.     DIMENSION fldarry(10,4)   && default dimensions.  AFIELDS will reset if necessary.
  253.     m.fldcnt = AFIELDS(fldarry)
  254.     m.startord = ORDER()
  255.     m.startalias = ALIAS()
  256.     
  257.     m.curord = ORDER()
  258.     IF EMPTY(m.curord)
  259.        SET ORDER TO 1
  260.        m.curord = ORDER()
  261.     ENDIF
  262.     
  263.     FOR i = 1 TO FCOUNT()
  264.        IF FIELDS(i) == m.curord
  265.           m.fldnum = i
  266.        ENDIF
  267.     ENDFOR
  268.     
  269.     IF m.fldnum > 0
  270.        m.fldname = FIELDS(m.fldnum)
  271.     ELSE
  272.        SET ORDER TO 1
  273.        m.fldnum  = 1
  274.        m.fldname = FIELDS(1)
  275.     ENDIF
  276.     
  277.     skipvar = .T.
  278.     
  279.     curs_stat = (UPPER(SET("CURSOR")) = "ON")
  280.     SET CURSOR ON
  281.     
  282.     *       *********************************************************
  283.     *       *                                                         
  284.     *       *              APPSRCH/Windows Screen Layout              
  285.     *       *                                                         
  286.     *       *********************************************************
  287.     *
  288.     
  289.     #REGION 1
  290.     IF WVISIBLE("_qkn0v3uk2")
  291.         ACTIVATE WINDOW _qkn0v3uk2 SAME
  292.     ELSE
  293.         ACTIVATE WINDOW _qkn0v3uk2 NOSHOW
  294.     ENDIF
  295.     @ 3.462,3.000 SAY "In Field:"  ;
  296.         FONT "MS Sans Serif", 8 ;
  297.         STYLE "B"
  298.     @ 1.231,11.333 GET m.srchterm ;
  299.         SIZE 1.000,26.600 ;
  300.         DEFAULT " " ;
  301.         FONT "MS Sans Serif", 8 ;
  302.         PICTURE "@S60" ;
  303.         WHEN _qkn0v3vzg()
  304.     @ 3.231,11.167 GET fldnum ;
  305.         PICTURE "@^" ;
  306.         FROM fldarry ;
  307.         SIZE 1.538,27.000 ;
  308.         DEFAULT 1 ;
  309.         FONT "MS Sans Serif", 8 ;
  310.         VALID _qkn0v3w8q()
  311.     @ 0.692,37.167 GET oksrch ;
  312.         PICTURE "@*VN \!OK;\?Cancel" ;
  313.         SIZE 1.769,10.000,0.462 ;
  314.         DEFAULT 1 ;
  315.         FONT "MS Sans Serif", 8 ;
  316.         STYLE "B" ;
  317.         VALID _qkn0v3wl8()
  318.     @ 1.231,3.000 SAY "Find:"  ;
  319.         FONT "MS Sans Serif", 8 ;
  320.         STYLE "BT" ;
  321.         COLOR RGB(0,0,0,255,255,255)
  322.     
  323.     IF NOT WVISIBLE("_qkn0v3uk2")
  324.         ACTIVATE WINDOW _qkn0v3uk2
  325.     ENDIF
  326.     
  327.     
  328.     *       *********************************************************
  329.     *       *                                                         
  330.     *       *    WindowsREAD contains clauses from SCREEN appsrch     
  331.     *       *                                                         
  332.     *       *********************************************************
  333.     *
  334.     
  335.     READ CYCLE ;
  336.         ACTIVATE _qkn0v3xj0() ;
  337.         DEACTIVATE _qkn0v3xj1() ;
  338.         MODAL
  339.     
  340.     RELEASE WINDOW _qkn0v3uk2
  341.     SELECT (m.currarea)
  342.     
  343.     
  344.     #REGION 0
  345.     
  346.     SET READBORDER &rborder
  347.     
  348.     IF m.talkstat = "ON"
  349.         SET TALK ON
  350.     ENDIF
  351.     IF m.compstat = "ON"
  352.         SET COMPATIBLE ON
  353.     ENDIF
  354.     
  355.     
  356.     *       *********************************************************
  357.     *       *                                                         
  358.     *       *              APPSRCH/Windows Cleanup Code               
  359.     *       *                                                         
  360.     *       *********************************************************
  361.     *
  362.     
  363.     #REGION 1
  364.     IF curs_stat
  365.        SET CURSOR ON
  366.     ELSE
  367.        SET CURSOR OFF
  368.     ENDIF
  369.     skipvar = .F.
  370.     
  371.  
  372. ENDCASE
  373.  
  374.  
  375. *       *********************************************************
  376. *       *                                                         
  377. *       * _QKN0V3RT0           m.srchterm WHEN                    
  378. *       *                                                         
  379. *       * Function Origin:                                        
  380. *       *                                                         
  381. *       * From Platform:       Macintosh                          
  382. *       * From Screen:         APPSRCH,     Record Number:    3   
  383. *       * Variable:            m.srchterm                         
  384. *       * Called By:           WHEN Clause                        
  385. *       * Object Type:         Field                              
  386. *       * Snippet Number:      1                                  
  387. *       *                                                         
  388. *       *********************************************************
  389. *
  390. FUNCTION _qkn0v3rt0     &&  m.srchterm WHEN
  391. #REGION 1
  392. m.srchterm = PADR(m.srchterm,60)
  393. SHOW GETS
  394.  
  395. *       *********************************************************
  396. *       *                                                         
  397. *       * _QKN0V3S3N           fldnum VALID                       
  398. *       *                                                         
  399. *       * Function Origin:                                        
  400. *       *                                                         
  401. *       * From Platform:       Macintosh                          
  402. *       * From Screen:         APPSRCH,     Record Number:    4   
  403. *       * Variable:            fldnum                             
  404. *       * Called By:           VALID Clause                       
  405. *       * Object Type:         Popup                              
  406. *       * Snippet Number:      2                                  
  407. *       *                                                         
  408. *       *********************************************************
  409. *
  410. FUNCTION _qkn0v3s3n     &&  fldnum VALID
  411. #REGION 1
  412. m.fldname = FIELDS(m.fldnum)
  413. tagnum = gettag(m.fldname)     && tag number of tag with name fldname
  414.  
  415. IF tagnum > 0
  416.    SET ORDER TO TAG(m.tagnum)
  417. ELSE
  418.    SET ORDER TO 0
  419. ENDIF
  420. SHOW GETS
  421.  
  422. *       *********************************************************
  423. *       *                                                         
  424. *       * _QKN0V3SH2           oksrch VALID                       
  425. *       *                                                         
  426. *       * Function Origin:                                        
  427. *       *                                                         
  428. *       * From Platform:       Macintosh                          
  429. *       * From Screen:         APPSRCH,     Record Number:    5   
  430. *       * Variable:            oksrch                             
  431. *       * Called By:           VALID Clause                       
  432. *       * Object Type:         Push Button                        
  433. *       * Snippet Number:      3                                  
  434. *       *                                                         
  435. *       *********************************************************
  436. *
  437. FUNCTION _qkn0v3sh2     &&  oksrch VALID
  438. #REGION 1
  439. skipvar = .F.
  440. IF m.oksrch = 1 AND !EMPTY(m.srchterm)
  441.    m.srchterm = ALLTRIM(m.srchterm)
  442.    WAIT CLEAR
  443.  
  444.    m.tagnum = gettag(m.fldname)
  445.    IF m.tagnum > 0
  446.       SET ORDER TO TAG(m.tagnum)
  447.    ELSE
  448.       DO waitmsg   && warn user that this may take a while
  449.    ENDIF
  450.    m.thisrec = RECNO()
  451.    DO CASE
  452.    CASE TYPE("&fldname") $ "CM"     && character or memo field
  453.       IF m.tagnum > 0
  454.          SEEK ALLTRIM(m.srchterm)
  455.          IF !FOUND()
  456.             IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
  457.                GOTO m.thisrec
  458.             ENDIF
  459.             answer = .F.
  460.             DO doloc WITH m.srchterm, m.answer   && prompt for locate
  461.  
  462.             IF m.answer = .T.
  463.                DO waitmsg
  464.                GOTO TOP
  465.                LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
  466.             ENDIF
  467.          ENDIF
  468.       ELSE
  469.          LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
  470.       ENDIF
  471.    CASE TYPE("&fldname") $ "FN"     && floating or numeric
  472.       m.srchterm = CHRTRAN(m.srchterm,'"','')
  473.       m.srchterm = CHRTRAN(m.srchterm,"'","")
  474.       LOCATE FOR VAL(ALLTRIM(m.srchterm)) = &fldname
  475.    CASE TYPE("&fldname") = "D"      && date
  476.       m.srchterm = CHRTRAN(m.srchterm,'{}"()','')
  477.       m.srchterm = CHRTRAN(m.srchterm,"'",'')
  478.       m.srchterm = ALLTRIM(m.srchterm)
  479.       LOCATE FOR CTOD(srchterm) = &fldname
  480.    CASE TYPE("&fldname") = "L"      && logical
  481.       IF "T" $ UPPER(m.srchterm)
  482.          LOCATE FOR &fldname
  483.       ELSE
  484.          LOCATE FOR !&fldname
  485.       ENDIF
  486.    CASE TYPE("&fldname") = "U"      && unknown field type--should't happen
  487.       WAIT WINDOW "Field "+m.fldname+" not found"
  488.    ENDCASE
  489.    IF !FOUND()
  490.       SET CURSOR OFF
  491.       WAIT WINDOW "Not found" NOWAIT
  492.       IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
  493.          GOTO m.thisrec
  494.       ENDIF
  495.    ELSE
  496.       SET CURSOR OFF
  497.       WAIT WINDOW "Found it!" NOWAIT
  498.       CLEAR READ
  499.    ENDIF
  500. ELSE
  501.    SET ORDER TO (m.startord)
  502.    CLEAR READ
  503. ENDIF
  504.  
  505. *       *********************************************************
  506. *       *                                                         
  507. *       * _QKN0V3TGQ           Read Level Activate                
  508. *       *                                                         
  509. *       * Function Origin:                                        
  510. *       *                                                         
  511. *       *                                                         
  512. *       * From Platform:       Macintosh                          
  513. *       * From Screen:         APPSRCH                            
  514. *       * Called By:           READ Statement                     
  515. *       * Snippet Number:      4                                  
  516. *       *                                                         
  517. *       *********************************************************
  518. *
  519. FUNCTION _qkn0v3tgq     && Read Level Activate
  520. *
  521. * Activate Code from screen: APPSRCH
  522. *
  523. #REGION 1
  524. SELECT (m.startalias)
  525.  
  526. *       *********************************************************
  527. *       *                                                         
  528. *       * _QKN0V3TGR           Read Level Deactivate              
  529. *       *                                                         
  530. *       * Function Origin:                                        
  531. *       *                                                         
  532. *       *                                                         
  533. *       * From Platform:       Macintosh                          
  534. *       * From Screen:         APPSRCH                            
  535. *       * Called By:           READ Statement                     
  536. *       * Snippet Number:      5                                  
  537. *       *                                                         
  538. *       *********************************************************
  539. *
  540. FUNCTION _qkn0v3tgr     && Read Level Deactivate
  541. *
  542. * Deactivate Code from screen: APPSRCH
  543. *
  544. #REGION 1
  545. ?? CHR(7)
  546. RETURN .F.
  547.  
  548. *       *********************************************************
  549. *       *                                                         
  550. *       * _QKN0V3VZG           m.srchterm WHEN                    
  551. *       *                                                         
  552. *       * Function Origin:                                        
  553. *       *                                                         
  554. *       * From Platform:       Windows                            
  555. *       * From Screen:         APPSRCH,     Record Number:   11   
  556. *       * Variable:            m.srchterm                         
  557. *       * Called By:           WHEN Clause                        
  558. *       * Object Type:         Field                              
  559. *       * Snippet Number:      6                                  
  560. *       *                                                         
  561. *       *********************************************************
  562. *
  563. FUNCTION _qkn0v3vzg     &&  m.srchterm WHEN
  564. #REGION 1
  565. m.srchterm = PADR(m.srchterm,60)
  566. SHOW GETS
  567.  
  568. *       *********************************************************
  569. *       *                                                         
  570. *       * _QKN0V3W8Q           fldnum VALID                       
  571. *       *                                                         
  572. *       * Function Origin:                                        
  573. *       *                                                         
  574. *       * From Platform:       Windows                            
  575. *       * From Screen:         APPSRCH,     Record Number:   12   
  576. *       * Variable:            fldnum                             
  577. *       * Called By:           VALID Clause                       
  578. *       * Object Type:         Popup                              
  579. *       * Snippet Number:      7                                  
  580. *       *                                                         
  581. *       *********************************************************
  582. *
  583. FUNCTION _qkn0v3w8q     &&  fldnum VALID
  584. #REGION 1
  585. m.fldname = FIELDS(m.fldnum)
  586. tagnum = gettag(m.fldname)     && tag number of tag with name fldname
  587.  
  588. IF tagnum > 0
  589.    SET ORDER TO TAG(m.tagnum)
  590. ELSE
  591.    SET ORDER TO 0
  592. ENDIF
  593. SHOW GETS
  594.  
  595. *       *********************************************************
  596. *       *                                                         
  597. *       * _QKN0V3WL8           oksrch VALID                       
  598. *       *                                                         
  599. *       * Function Origin:                                        
  600. *       *                                                         
  601. *       * From Platform:       Windows                            
  602. *       * From Screen:         APPSRCH,     Record Number:   13   
  603. *       * Variable:            oksrch                             
  604. *       * Called By:           VALID Clause                       
  605. *       * Object Type:         Push Button                        
  606. *       * Snippet Number:      8                                  
  607. *       *                                                         
  608. *       *********************************************************
  609. *
  610. FUNCTION _qkn0v3wl8     &&  oksrch VALID
  611. #REGION 1
  612. skipvar = .F.
  613. IF m.oksrch = 1 AND !EMPTY(m.srchterm)
  614.    m.srchterm = ALLTRIM(m.srchterm)
  615.    WAIT CLEAR
  616.  
  617.    m.tagnum = gettag(m.fldname)
  618.    IF m.tagnum > 0
  619.       SET ORDER TO TAG(m.tagnum)
  620.    ELSE
  621.       DO waitmsg   && warn user that this may take a while
  622.    ENDIF
  623.    m.thisrec = RECNO()
  624.    DO CASE
  625.    CASE TYPE("&fldname") $ "CM"     && character or memo field
  626.       IF m.tagnum > 0
  627.          SEEK ALLTRIM(m.srchterm)
  628.          IF !FOUND()
  629.             IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
  630.                GOTO m.thisrec
  631.             ENDIF
  632.             answer = .F.
  633.             DO doloc WITH m.srchterm, m.answer   && prompt for locate
  634.  
  635.             IF m.answer = .T.
  636.                DO waitmsg
  637.                GOTO TOP
  638.                LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
  639.             ENDIF
  640.          ENDIF
  641.       ELSE
  642.          LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
  643.       ENDIF
  644.    CASE TYPE("&fldname") $ "FN"     && floating or numeric
  645.       m.srchterm = CHRTRAN(m.srchterm,'"','')
  646.       m.srchterm = CHRTRAN(m.srchterm,"'","")
  647.       LOCATE FOR VAL(ALLTRIM(m.srchterm)) = &fldname
  648.    CASE TYPE("&fldname") = "D"      && date
  649.       m.srchterm = CHRTRAN(m.srchterm,'{}"()','')
  650.       m.srchterm = CHRTRAN(m.srchterm,"'",'')
  651.       m.srchterm = ALLTRIM(m.srchterm)
  652.       LOCATE FOR CTOD(srchterm) = &fldname
  653.    CASE TYPE("&fldname") = "L"      && logical
  654.       IF "T" $ UPPER(m.srchterm)
  655.          LOCATE FOR &fldname
  656.       ELSE
  657.          LOCATE FOR !&fldname
  658.       ENDIF
  659.    CASE TYPE("&fldname") = "U"      && unknown field type--should't happen
  660.       WAIT WINDOW "Field "+m.fldname+" not found"
  661.    ENDCASE
  662.    IF !FOUND()
  663.       SET CURSOR OFF
  664.       WAIT WINDOW "Not found" NOWAIT
  665.       IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
  666.          GOTO m.thisrec
  667.       ENDIF
  668.    ELSE
  669.       SET CURSOR OFF
  670.       WAIT WINDOW "Found it!" NOWAIT
  671.       CLEAR READ
  672.    ENDIF
  673. ELSE
  674.    SET ORDER TO (m.startord)
  675.    CLEAR READ
  676. ENDIF
  677.  
  678. *       *********************************************************
  679. *       *                                                         
  680. *       * _QKN0V3XJ0           Read Level Activate                
  681. *       *                                                         
  682. *       * Function Origin:                                        
  683. *       *                                                         
  684. *       *                                                         
  685. *       * From Platform:       Windows                            
  686. *       * From Screen:         APPSRCH                            
  687. *       * Called By:           READ Statement                     
  688. *       * Snippet Number:      9                                  
  689. *       *                                                         
  690. *       *********************************************************
  691. *
  692. FUNCTION _qkn0v3xj0     && Read Level Activate
  693. *
  694. * Activate Code from screen: APPSRCH
  695. *
  696. #REGION 1
  697. SELECT (m.startalias)
  698.  
  699. *       *********************************************************
  700. *       *                                                         
  701. *       * _QKN0V3XJ1           Read Level Deactivate              
  702. *       *                                                         
  703. *       * Function Origin:                                        
  704. *       *                                                         
  705. *       *                                                         
  706. *       * From Platform:       Windows                            
  707. *       * From Screen:         APPSRCH                            
  708. *       * Called By:           READ Statement                     
  709. *       * Snippet Number:      10                                 
  710. *       *                                                         
  711. *       *********************************************************
  712. *
  713. FUNCTION _qkn0v3xj1     && Read Level Deactivate
  714. *
  715. * Deactivate Code from screen: APPSRCH
  716. *
  717. #REGION 1
  718. ?? CHR(7)
  719. RETURN .F.
  720.  
  721.  
  722. *       *********************************************************
  723. *       *                                                         
  724. *       *  APPSRCH/Windows Supporting Procedures and Functions    
  725. *       *                                                         
  726. *       *********************************************************
  727. *
  728.  
  729. #REGION 1
  730.  
  731. *       *********************************************************
  732. *       *                                                         
  733. *       *                 APPSRCH Function GETTAG                 
  734. *       *                                                         
  735. *       *********************************************************
  736. *
  737.  
  738.  
  739. PROCEDURE GETTAG
  740. PARAMETERS FLDNAME
  741. DO CASE
  742. CASE _WINDOWS
  743.     *) Returns tag number corresponding to field "fldname", or 0 if there
  744.     *) is not tag with the same name as "fldname."
  745.     PRIVATE ALL
  746.     m.fldname = UPPER(ALLTRIM(m.fldname))
  747.     i = 1
  748.     DO WHILE !EMPTY(TAG(i)) AND i < 1000
  749.        IF UPPER(TAG(i)) == m.fldname
  750.           RETURN i
  751.        ENDIF
  752.        i = i + 1
  753.     ENDDO
  754.     RETURN 0
  755.     
  756.     
  757.     *!*****************************************************************
  758.     *!
  759.     *!      Procedure: WAITMSG
  760.     *!
  761.     *!*****************************************************************
  762. CASE _MAC
  763.     *) Returns tag number corresponding to field "fldname", or 0 if there
  764.     *) is not tag with the same name as "fldname."
  765.     PRIVATE ALL
  766.     m.fldname = UPPER(ALLTRIM(m.fldname))
  767.     m.i = 1
  768.     DO WHILE !EMPTY(TAG(m.i)) AND m.i < 1000
  769.        IF UPPER(TAG(m.i)) == m.fldname
  770.           RETURN m.i
  771.        ENDIF
  772.        m.i = m.i + 1
  773.     ENDDO
  774.     RETURN 0
  775.     
  776.     
  777.     *!*****************************************************************
  778.     *!
  779.     *!      Procedure: WAITMSG
  780.     *!
  781.     *!*****************************************************************
  782. ENDCASE
  783.  
  784. *       *********************************************************
  785. *       *                                                         
  786. *       *                APPSRCH Procedure WAITMSG                
  787. *       *                                                         
  788. *       *********************************************************
  789. *
  790.  
  791.  
  792. PROCEDURE WAITMSG
  793. DO CASE
  794. CASE _WINDOWS
  795.     IF RECCOUNT() > 1000
  796.        WAIT WINDOW "Searching.  This may take a few moments." NOWAIT
  797.     ELSE
  798.        WAIT WINDOW "Searching" NOWAIT
  799.     ENDIF
  800.     
  801.     
  802.     
  803.     *!*****************************************************************
  804.     *!
  805.     *!      Procedure: DOLOC
  806.     *!
  807.     *!*****************************************************************
  808. CASE _MAC
  809.     IF RECCOUNT() > 1000
  810.        WAIT WINDOW "Searching.  This may take a few moments." NOWAIT
  811.     ELSE
  812.        WAIT WINDOW "Searching" NOWAIT
  813.     ENDIF
  814.     
  815.     
  816.     
  817.     *!*****************************************************************
  818.     *!
  819.     *!      Procedure: DOLOC
  820.     *!
  821.     *!*****************************************************************
  822. ENDCASE
  823.  
  824. *       *********************************************************
  825. *       *                                                         
  826. *       *                 APPSRCH Procedure DOLOC                 
  827. *       *                                                         
  828. *       *********************************************************
  829. *
  830.  
  831.  
  832. PROCEDURE DOLOC
  833. PARAMETERS TERM, ANSWER
  834. DO CASE
  835. CASE _WINDOWS
  836.     * See if the user wants to do a long substring search
  837.     
  838.     IF NOT WEXIST("doloc")
  839.        DEFINE WINDOW doloc ;
  840.           FROM INT((srow()-9)/2),INT((scol()-63)/2) ;
  841.           TO INT((srow()-9)/2)+9,INT((scol()-63)/2)+61 ;
  842.           TITLE "Searching Options" ;
  843.           FLOAT ;
  844.           NOCLOSE ;
  845.           SHADOW ;
  846.           DOUBLE ;
  847.           COLOR SCHEME 5
  848.     ENDIF
  849.     
  850.     answer = .F.
  851.     ACTIVATE WINDOW doloc NOSHOW
  852.     
  853.     @ 6,16 GET locok ;
  854.        PICTURE "@*HT \!\<Search;\?\<Cancel" ;
  855.        SIZE 1.769,12.0,4.0 ;
  856.        DEFAULT 1
  857.     @ 1,1 SAY "FoxApp was not able to find a record matching your search"
  858.     @ 2,1 SAY "term while using a fast searching method.  Do you want to"
  859.     @ 3,1 SAY "search for the term with slower but more thorough methods?"
  860.     
  861.     IF NOT WVISIBLE("doloc")
  862.        ACTIVATE WINDOW doloc
  863.     ENDIF
  864.     
  865.     READ CYCLE MODAL
  866.     
  867.     RELEASE WINDOW doloc
  868.     answer = (locok = 1)
  869.     
  870. CASE _MAC
  871.     * See if the user wants to do a long substring search
  872.     
  873.     IF NOT WEXIST("doloc")
  874.         IF _MAC
  875.            DEFINE WINDOW doloc ;
  876.           FROM INT((srow()-9)/2),INT((scol()-63)/2) ;
  877.           TO INT((srow()-9)/2)+9,INT((scol()-63)/2)+61 ;
  878.           TITLE "Searching Options" ;
  879.           FLOAT ;
  880.           NOCLOSE ;
  881.           SHADOW ;
  882.           DOUBLE
  883.         ELSE
  884.            DEFINE WINDOW doloc ;
  885.           FROM INT((srow()-9)/2),INT((scol()-63)/2) ;
  886.           TO INT((srow()-9)/2)+9,INT((scol()-63)/2)+61 ;
  887.           TITLE "Searching Options" ;
  888.           FLOAT ;
  889.           NOCLOSE ;
  890.           SHADOW ;
  891.           DOUBLE ;
  892.           COLOR SCHEME 5
  893.        ENDIF
  894.     ENDIF
  895.     
  896.     answer = .F.
  897.     ACTIVATE WINDOW doloc NOSHOW
  898.     
  899.     @ 6,16 GET locok ;
  900.        PICTURE "@*HT \!\<Search;\?\<Cancel" ;
  901.        SIZE 1.769,12.0,4.0 ;
  902.        DEFAULT 1
  903.     @ 1,1 SAY "FoxApp was not able to find a record matching your search"
  904.     @ 2,1 SAY "term while using a fast searching method.  Do you want to"
  905.     @ 3,1 SAY "search for the term with slower but more thorough methods?"
  906.     
  907.     IF NOT WVISIBLE("doloc")
  908.        ACTIVATE WINDOW doloc
  909.     ENDIF
  910.     
  911.     READ CYCLE MODAL
  912.     
  913.     RELEASE WINDOW doloc
  914.     answer = (locok = 1)
  915.     
  916. ENDCASE