home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-03-10 | 37.0 KB | 1,144 lines |
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ 02/09/94 APPSRCH.SPR 22:22:31 ║
- * ║ ║
- * ╟─────────────────────────────────────────────────────────╢
- * ║ ║
- * ║ Author's Name ║
- * ║ ║
- * ║ Copyright (c) 1994 Company Name ║
- * ║ Address ║
- * ║ City, Zip ║
- * ║ ║
- * ║ Description: ║
- * ║ This program was automatically generated by GENSCRN. ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
-
- DO CASE
- CASE _DOS OR _UNIX && no UNIX records in screen
-
-
- #REGION 0
- REGIONAL m.currarea, m.talkstat, m.compstat
-
- IF SET("TALK") = "ON"
- SET TALK OFF
- m.talkstat = "ON"
- ELSE
- m.talkstat = "OFF"
- ENDIF
- m.compstat = SET("COMPATIBLE")
- SET COMPATIBLE FOXPLUS
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ MS-DOS Window definitions ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- IF NOT WEXIST("_qne1byi4x")
- DEFINE WINDOW _qne1byi4x ;
- FROM INT((SROW()-7)/2),INT((SCOL()-55)/2) ;
- TO INT((SROW()-7)/2)+6,INT((SCOL()-55)/2)+54 ;
- TITLE " Search for: " ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- NOMINIMIZE ;
- DOUBLE ;
- COLOR SCHEME 5
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/MS-DOS Setup Code - SECTION 2 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF TYPE("srchterm") $ "UL" OR EMPTY(m.srchterm)
- m.srchterm = SPACE(60)
- ENDIF
- m.oksrch = 1
- m.fldnum = 0
-
- DIMENSION fldarry(10,4) && default dimensions. AFIELDS will reset if necessary.
- m.fldcnt = AFIELDS(fldarry)
- m.startord = ORDER()
- m.startalias = ALIAS()
-
- m.curord = ORDER()
- IF EMPTY(m.curord)
- SET ORDER TO 1
- m.curord = ORDER()
- ENDIF
-
- FOR i = 1 TO FCOUNT()
- IF FIELDS(i) == m.curord
- m.fldnum = i
- ENDIF
- ENDFOR
-
- IF m.fldnum > 0
- m.fldname = FIELDS(m.fldnum)
- ELSE
- SET ORDER TO 1
- m.fldnum = 1
- m.fldname = FIELDS(1)
- ENDIF
-
- skipvar = .T.
-
- curs_stat = (UPPER(SET("CURSOR")) = "ON")
- SET CURSOR ON
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/MS-DOS Screen Layout ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF WVISIBLE("_qne1byi4x")
- ACTIVATE WINDOW _qne1byi4x SAME
- ELSE
- ACTIVATE WINDOW _qne1byi4x NOSHOW
- ENDIF
- @ 3,2 SAY "In Field:" ;
- SIZE 1,9, 0
- @ 1,12 GET m.srchterm ;
- SIZE 1,26 ;
- DEFAULT " " ;
- PICTURE "@3S60" ;
- WHEN _qne1byj00()
- @ 2,12 GET fldnum ;
- PICTURE "@^" ;
- FROM fldarry ;
- SIZE 3,27 ;
- DEFAULT 1 ;
- VALID _qne1byj3f() ;
- COLOR SCHEME 5, 6
- @ 1,41 GET oksrch ;
- PICTURE "@*VN \!OK;\?Cancel" ;
- SIZE 1,10,1 ;
- DEFAULT 1 ;
- VALID _qne1byj6u()
- @ 1,6 SAY "Find:" ;
- SIZE 1,5, 0 ;
- COLOR N+/W
-
- IF NOT WVISIBLE("_qne1byi4x")
- ACTIVATE WINDOW _qne1byi4x
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ MS-DOSREAD contains clauses from SCREEN appsrch ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- READ CYCLE ;
- ACTIVATE _qne1byk44() ;
- DEACTIVATE _qne1byk48() ;
- MODAL
-
- RELEASE WINDOW _qne1byi4x
-
- #REGION 0
- IF m.talkstat = "ON"
- SET TALK ON
- ENDIF
- IF m.compstat = "ON"
- SET COMPATIBLE ON
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/MS-DOS Cleanup Code ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF m.curs_stat
- SET CURSOR ON
- ELSE
- SET CURSOR OFF
- ENDIF
- m.skipvar = .F.
-
-
- CASE _MAC
-
-
- #REGION 0
- REGIONAL m.currarea, m.talkstat, m.compstat
-
- IF SET("TALK") = "ON"
- SET TALK OFF
- m.talkstat = "ON"
- ELSE
- m.talkstat = "OFF"
- ENDIF
- m.compstat = SET("COMPATIBLE")
- SET COMPATIBLE FOXPLUS
-
- m.rborder = SET("READBORDER")
- SET READBORDER OFF
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ Macintosh Window definitions ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- IF NOT WEXIST("_qne1bykja")
- DEFINE WINDOW _qne1bykja ;
- AT 0.000, 0.000 ;
- SIZE 5.750,56.500 ;
- TITLE " Search for: " ;
- FONT "Geneva", 10 ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- DOUBLE
- MOVE WINDOW _qne1bykja CENTER
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Macintosh Setup Code - SECTION 2 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF TYPE("srchterm") $ "UL" OR EMPTY(m.srchterm)
- m.srchterm = SPACE(60)
- ENDIF
- m.oksrch = 1
- m.fldnum = 0
-
- DIMENSION fldarry(10,4) && default dimensions. AFIELDS will reset if necessary.
- m.fldcnt = AFIELDS(fldarry)
- m.startord = ORDER()
- m.startalias = ALIAS()
-
- m.curord = ORDER()
- IF EMPTY(m.curord)
- SET ORDER TO 1
- m.curord = ORDER()
- ENDIF
-
- FOR i = 1 TO FCOUNT()
- IF FIELDS(i) == m.curord
- m.fldnum = i
- ENDIF
- ENDFOR
-
- IF m.fldnum > 0
- m.fldname = FIELDS(m.fldnum)
- ELSE
- SET ORDER TO 1
- m.fldnum = 1
- m.fldname = FIELDS(1)
- ENDIF
-
- skipvar = .T.
-
- curs_stat = (UPPER(SET("CURSOR")) = "ON")
- SET CURSOR ON
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Macintosh Screen Layout ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF WVISIBLE("_qne1bykja")
- ACTIVATE WINDOW _qne1bykja SAME
- ELSE
- ACTIVATE WINDOW _qne1bykja NOSHOW
- ENDIF
- @ 3.500,1.833 SAY "In Field:" ;
- FONT "Geneva", 10
- @ 1.333,11.500 GET m.srchterm ;
- SIZE 1.000,26.333 ;
- DEFAULT " " ;
- FONT "Geneva", 10 ;
- PICTURE "@3S60" ;
- WHEN _qne1byl58()
- @ 3.250,11.167 GET fldnum ;
- PICTURE "@^3" ;
- FROM fldarry ;
- SIZE 1.500,27.000 ;
- DEFAULT 1 ;
- FONT "Geneva", 10 ;
- VALID _qne1bylal()
- @ 1.333,42.333 GET oksrch ;
- PICTURE "@*VN3 \!OK;\?Cancel" ;
- SIZE 1.500,10.000,0.500 ;
- DEFAULT 1 ;
- FONT "Geneva", 10 ;
- STYLE "B" ;
- VALID _qne1bylha()
- @ 1.250,1.833 SAY "Find:" ;
- FONT "Geneva", 10 ;
- STYLE "T" ;
- COLOR RGB(0,0,0,255,255,255)
-
- IF NOT WVISIBLE("_qne1bykja")
- ACTIVATE WINDOW _qne1bykja
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ MacintoshREAD contains clauses from SCREEN appsrch ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- READ CYCLE ;
- ACTIVATE _qne1bylyd() ;
- DEACTIVATE _qne1bylyg() ;
- MODAL
-
- RELEASE WINDOW _qne1bykja
-
- #REGION 0
-
- SET READBORDER &rborder
-
- IF m.talkstat = "ON"
- SET TALK ON
- ENDIF
- IF m.compstat = "ON"
- SET COMPATIBLE ON
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Macintosh Cleanup Code ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF m.curs_stat
- SET CURSOR ON
- ELSE
- SET CURSOR OFF
- ENDIF
- m.skipvar = .F.
-
-
- CASE _WINDOWS
-
-
- #REGION 0
- REGIONAL m.currarea, m.talkstat, m.compstat
-
- IF SET("TALK") = "ON"
- SET TALK OFF
- m.talkstat = "ON"
- ELSE
- m.talkstat = "OFF"
- ENDIF
- m.compstat = SET("COMPATIBLE")
- SET COMPATIBLE FOXPLUS
-
- m.rborder = SET("READBORDER")
- SET READBORDER OFF
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ Windows Window definitions ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- IF NOT WEXIST("_qne1bymgx")
- DEFINE WINDOW _qne1bymgx ;
- AT 0.000, 0.000 ;
- SIZE 5.769,56.500 ;
- TITLE " Search for: " ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- NOMINIMIZE ;
- DOUBLE ;
- COLOR RGB(,,,192,192,192)
- MOVE WINDOW _qne1bymgx CENTER
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Windows Setup Code - SECTION 2 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF TYPE("srchterm") $ "UL" OR EMPTY(m.srchterm)
- m.srchterm = SPACE(60)
- ENDIF
- m.oksrch = 1
- m.fldnum = 0
-
- DIMENSION fldarry(10,4) && default dimensions. AFIELDS will reset if necessary.
- m.fldcnt = AFIELDS(fldarry)
- m.startord = ORDER()
- m.startalias = ALIAS()
-
- m.curord = ORDER()
- IF EMPTY(m.curord)
- SET ORDER TO 1
- m.curord = ORDER()
- ENDIF
-
- FOR i = 1 TO FCOUNT()
- IF FIELDS(i) == m.curord
- m.fldnum = i
- ENDIF
- ENDFOR
-
- IF m.fldnum > 0
- m.fldname = FIELDS(m.fldnum)
- ELSE
- SET ORDER TO 1
- m.fldnum = 1
- m.fldname = FIELDS(1)
- ENDIF
-
- skipvar = .T.
-
- curs_stat = (UPPER(SET("CURSOR")) = "ON")
- SET CURSOR ON
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Windows Screen Layout ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF WVISIBLE("_qne1bymgx")
- ACTIVATE WINDOW _qne1bymgx SAME
- ELSE
- ACTIVATE WINDOW _qne1bymgx NOSHOW
- ENDIF
- @ 3.462,1.833 SAY "In Field:" ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B"
- @ 1.231,11.500 GET m.srchterm ;
- SIZE 1.000,26.333 ;
- DEFAULT " " ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- PICTURE "@3S60" ;
- WHEN _qne1bynbu()
- @ 3.154,11.167 GET fldnum ;
- PICTURE "@^" ;
- FROM fldarry ;
- SIZE 1.538,27.000 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- VALID _qne1bynea()
- @ 1.154,42.333 GET oksrch ;
- PICTURE "@*VN \!\<OK;\?\<Cancel" ;
- SIZE 1.462,10.000,0.538 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- VALID _qne1bynlf()
- @ 1.154,1.833 SAY "Find:" ;
- FONT "MS Sans Serif", 8 ;
- STYLE "BT" ;
- COLOR RGB(0,0,0,255,255,255)
-
- IF NOT WVISIBLE("_qne1bymgx")
- ACTIVATE WINDOW _qne1bymgx
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ WindowsREAD contains clauses from SCREEN appsrch ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- READ CYCLE ;
- ACTIVATE _qne1byo2l() ;
- DEACTIVATE _qne1byo2q() ;
- MODAL
-
- RELEASE WINDOW _qne1bymgx
-
- #REGION 0
-
- SET READBORDER &rborder
-
- IF m.talkstat = "ON"
- SET TALK ON
- ENDIF
- IF m.compstat = "ON"
- SET COMPATIBLE ON
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Windows Cleanup Code ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- IF m.curs_stat
- SET CURSOR ON
- ELSE
- SET CURSOR OFF
- ENDIF
- m.skipvar = .F.
-
-
- ENDCASE
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYJ00 m.srchterm WHEN ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: MS-DOS ║
- * ║ From Screen: APPSRCH, Record Number: 11 ║
- * ║ Variable: m.srchterm ║
- * ║ Called By: WHEN Clause ║
- * ║ Object Type: Field ║
- * ║ Snippet Number: 1 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byj00 && m.srchterm WHEN
- #REGION 1
- m.srchterm = PADR(m.srchterm,60)
- SHOW GETS
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYJ3F fldnum VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: MS-DOS ║
- * ║ From Screen: APPSRCH, Record Number: 12 ║
- * ║ Variable: fldnum ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Popup ║
- * ║ Snippet Number: 2 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byj3f && fldnum VALID
- #REGION 1
- m.fldname = FIELDS(m.fldnum)
- tagnum = gettag(m.fldname) && tag number of tag with name fldname
-
- IF tagnum > 0
- SET ORDER TO TAG(m.tagnum)
- ELSE
- SET ORDER TO 0
- ENDIF
- SHOW GETS
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYJ6U oksrch VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: MS-DOS ║
- * ║ From Screen: APPSRCH, Record Number: 13 ║
- * ║ Variable: oksrch ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Push Button ║
- * ║ Snippet Number: 3 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byj6u && oksrch VALID
- #REGION 1
- skipvar = .F.
- IF m.oksrch = 1 AND !EMPTY(m.srchterm)
- m.srchterm = ALLTRIM(m.srchterm)
- WAIT CLEAR
-
- m.tagnum = gettag(m.fldname)
- IF m.tagnum > 0
- SET ORDER TO TAG(m.tagnum)
- ELSE
- DO waitmsg && warn user that this may take a while
- ENDIF
- m.thisrec = RECNO()
- DO CASE
- CASE TYPE("&fldname") $ "CM" && character or memo field
- IF m.tagnum > 0
- SEEK ALLTRIM(m.srchterm)
- IF !FOUND()
- IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
- GOTO m.thisrec
- ENDIF
- answer = .F.
- DO doloc WITH m.srchterm, m.answer && prompt for locate
-
- IF m.answer = .T.
- DO waitmsg
- GOTO TOP
- LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
- ENDIF
- ENDIF
- ELSE
- LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
- ENDIF
- CASE TYPE("&fldname") $ "FN" && floating or numeric
- m.srchterm = CHRTRAN(m.srchterm,'"','')
- m.srchterm = CHRTRAN(m.srchterm,"'","")
- LOCATE FOR VAL(ALLTRIM(m.srchterm)) = &fldname
- CASE TYPE("&fldname") = "D" && date
- m.srchterm = CHRTRAN(m.srchterm,'{}"()','')
- m.srchterm = CHRTRAN(m.srchterm,"'",'')
- m.srchterm = ALLTRIM(m.srchterm)
- LOCATE FOR CTOD(srchterm) = &fldname
- CASE TYPE("&fldname") = "L" && logical
- IF "T" $ UPPER(m.srchterm)
- LOCATE FOR &fldname
- ELSE
- LOCATE FOR !&fldname
- ENDIF
- CASE TYPE("&fldname") = "U" && unknown field type--should't happen
- WAIT WINDOW "Field "+m.fldname+" not found"
- ENDCASE
- IF !FOUND()
- SET CURSOR OFF
- WAIT WINDOW "Not found" NOWAIT
- IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
- GOTO m.thisrec
- ENDIF
- ELSE
- SET CURSOR OFF
- WAIT WINDOW "Found it!" NOWAIT
- CLEAR READ
- ENDIF
- ELSE
- SET ORDER TO (m.startord)
- CLEAR READ
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYK44 Read Level Activate ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ ║
- * ║ From Platform: MS-DOS ║
- * ║ From Screen: APPSRCH ║
- * ║ Called By: READ Statement ║
- * ║ Snippet Number: 4 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byk44 && Read Level Activate
- *
- * Activate Code from screen: APPSRCH
- *
- #REGION 1
- SELECT (m.startalias)
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYK48 Read Level Deactivate ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ ║
- * ║ From Platform: MS-DOS ║
- * ║ From Screen: APPSRCH ║
- * ║ Called By: READ Statement ║
- * ║ Snippet Number: 5 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byk48 && Read Level Deactivate
- *
- * Deactivate Code from screen: APPSRCH
- *
- #REGION 1
- ?? CHR(7)
- RETURN .F.
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYL58 m.srchterm WHEN ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: Macintosh ║
- * ║ From Screen: APPSRCH, Record Number: 17 ║
- * ║ Variable: m.srchterm ║
- * ║ Called By: WHEN Clause ║
- * ║ Object Type: Field ║
- * ║ Snippet Number: 6 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byl58 && m.srchterm WHEN
- #REGION 1
- m.srchterm = PADR(m.srchterm,60)
- SHOW GETS
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYLAL fldnum VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: Macintosh ║
- * ║ From Screen: APPSRCH, Record Number: 18 ║
- * ║ Variable: fldnum ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Popup ║
- * ║ Snippet Number: 7 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bylal && fldnum VALID
- #REGION 1
- m.fldname = FIELDS(m.fldnum)
- tagnum = gettag(m.fldname) && tag number of tag with name fldname
-
- IF tagnum > 0
- SET ORDER TO TAG(m.tagnum)
- ELSE
- SET ORDER TO 0
- ENDIF
- SHOW GETS
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYLHA oksrch VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: Macintosh ║
- * ║ From Screen: APPSRCH, Record Number: 19 ║
- * ║ Variable: oksrch ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Push Button ║
- * ║ Snippet Number: 8 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bylha && oksrch VALID
- #REGION 1
- skipvar = .F.
- IF m.oksrch = 1 AND !EMPTY(m.srchterm)
- m.srchterm = ALLTRIM(m.srchterm)
- WAIT CLEAR
-
- m.tagnum = gettag(m.fldname)
- IF m.tagnum > 0
- SET ORDER TO TAG(m.tagnum)
- ELSE
- DO waitmsg && warn user that this may take a while
- ENDIF
- m.thisrec = RECNO()
- DO CASE
- CASE TYPE("&fldname") $ "CM" && character or memo field
- IF m.tagnum > 0
- SEEK ALLTRIM(m.srchterm)
- IF !FOUND()
- IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
- GOTO m.thisrec
- ENDIF
- answer = .F.
- DO doloc WITH m.srchterm, m.answer && prompt for locate
-
- IF m.answer = .T.
- DO waitmsg
- GOTO TOP
- LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
- ENDIF
- ENDIF
- ELSE
- LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
- ENDIF
- CASE TYPE("&fldname") $ "FN" && floating or numeric
- m.srchterm = CHRTRAN(m.srchterm,'"','')
- m.srchterm = CHRTRAN(m.srchterm,"'","")
- LOCATE FOR VAL(ALLTRIM(m.srchterm)) = &fldname
- CASE TYPE("&fldname") = "D" && date
- m.srchterm = CHRTRAN(m.srchterm,'{}"()','')
- m.srchterm = CHRTRAN(m.srchterm,"'",'')
- m.srchterm = ALLTRIM(m.srchterm)
- LOCATE FOR CTOD(srchterm) = &fldname
- CASE TYPE("&fldname") = "L" && logical
- IF "T" $ UPPER(m.srchterm)
- LOCATE FOR &fldname
- ELSE
- LOCATE FOR !&fldname
- ENDIF
- CASE TYPE("&fldname") = "U" && unknown field type--should't happen
- WAIT WINDOW "Field "+m.fldname+" not found"
- ENDCASE
- IF !FOUND()
- SET CURSOR OFF
- WAIT WINDOW "Not found" NOWAIT
- IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
- GOTO m.thisrec
- ENDIF
- ELSE
- SET CURSOR OFF
- WAIT WINDOW "Found it!" NOWAIT
- CLEAR READ
- ENDIF
- ELSE
- SET ORDER TO (m.startord)
- CLEAR READ
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYLYD Read Level Activate ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ ║
- * ║ From Platform: Macintosh ║
- * ║ From Screen: APPSRCH ║
- * ║ Called By: READ Statement ║
- * ║ Snippet Number: 9 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bylyd && Read Level Activate
- *
- * Activate Code from screen: APPSRCH
- *
- #REGION 1
- SELECT (m.startalias)
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYLYG Read Level Deactivate ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ ║
- * ║ From Platform: Macintosh ║
- * ║ From Screen: APPSRCH ║
- * ║ Called By: READ Statement ║
- * ║ Snippet Number: 10 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bylyg && Read Level Deactivate
- *
- * Deactivate Code from screen: APPSRCH
- *
- #REGION 1
- ?? CHR(7)
- RETURN .F.
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYNBU m.srchterm WHEN ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: Windows ║
- * ║ From Screen: APPSRCH, Record Number: 3 ║
- * ║ Variable: m.srchterm ║
- * ║ Called By: WHEN Clause ║
- * ║ Object Type: Field ║
- * ║ Snippet Number: 11 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bynbu && m.srchterm WHEN
- #REGION 1
- m.srchterm = PADR(m.srchterm,60)
- SHOW GETS
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYNEA fldnum VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: Windows ║
- * ║ From Screen: APPSRCH, Record Number: 4 ║
- * ║ Variable: fldnum ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Popup ║
- * ║ Snippet Number: 12 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bynea && fldnum VALID
- #REGION 1
- m.fldname = FIELDS(m.fldnum)
- tagnum = gettag(m.fldname) && tag number of tag with name fldname
-
- IF tagnum > 0
- SET ORDER TO TAG(m.tagnum)
- ELSE
- SET ORDER TO 0
- ENDIF
- SHOW GETS
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYNLF oksrch VALID ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ From Platform: Windows ║
- * ║ From Screen: APPSRCH, Record Number: 5 ║
- * ║ Variable: oksrch ║
- * ║ Called By: VALID Clause ║
- * ║ Object Type: Push Button ║
- * ║ Snippet Number: 13 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1bynlf && oksrch VALID
- #REGION 1
- skipvar = .F.
- IF m.oksrch = 1 AND !EMPTY(m.srchterm)
- m.srchterm = ALLTRIM(m.srchterm)
- WAIT CLEAR
-
- m.tagnum = gettag(m.fldname)
- IF m.tagnum > 0
- SET ORDER TO TAG(m.tagnum)
- ELSE
- DO waitmsg && warn user that this may take a while
- ENDIF
- m.thisrec = RECNO()
- DO CASE
- CASE TYPE("&fldname") $ "CM" && character or memo field
- IF m.tagnum > 0
- SEEK ALLTRIM(m.srchterm)
- IF !FOUND()
- IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
- GOTO m.thisrec
- ENDIF
- answer = .F.
- DO doloc WITH m.srchterm, m.answer && prompt for locate
-
- IF m.answer = .T.
- DO waitmsg
- GOTO TOP
- LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
- ENDIF
- ENDIF
- ELSE
- LOCATE FOR UPPER(m.srchterm) $ UPPER(&fldname)
- ENDIF
- CASE TYPE("&fldname") $ "FN" && floating or numeric
- m.srchterm = CHRTRAN(m.srchterm,'"','')
- m.srchterm = CHRTRAN(m.srchterm,"'","")
- LOCATE FOR VAL(ALLTRIM(m.srchterm)) = &fldname
- CASE TYPE("&fldname") = "D" && date
- m.srchterm = CHRTRAN(m.srchterm,'{}"()','')
- m.srchterm = CHRTRAN(m.srchterm,"'",'')
- m.srchterm = ALLTRIM(m.srchterm)
- LOCATE FOR CTOD(srchterm) = &fldname
- CASE TYPE("&fldname") = "L" && logical
- IF "T" $ UPPER(m.srchterm)
- LOCATE FOR &fldname
- ELSE
- LOCATE FOR !&fldname
- ENDIF
- CASE TYPE("&fldname") = "U" && unknown field type--should't happen
- WAIT WINDOW "Field "+m.fldname+" not found"
- ENDCASE
- IF !FOUND()
- SET CURSOR OFF
- WAIT WINDOW "Not found" NOWAIT
- IF m.thisrec <= RECCOUNT() AND m.thisrec > 0
- GOTO m.thisrec
- ENDIF
- ELSE
- SET CURSOR OFF
- WAIT WINDOW "Found it!" NOWAIT
- CLEAR READ
- ENDIF
- ELSE
- SET ORDER TO (m.startord)
- CLEAR READ
- ENDIF
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYO2L Read Level Activate ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ ║
- * ║ From Platform: Windows ║
- * ║ From Screen: APPSRCH ║
- * ║ Called By: READ Statement ║
- * ║ Snippet Number: 14 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byo2l && Read Level Activate
- *
- * Activate Code from screen: APPSRCH
- *
- #REGION 1
- SELECT (m.startalias)
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ _QNE1BYO2Q Read Level Deactivate ║
- * ║ ║
- * ║ Function Origin: ║
- * ║ ║
- * ║ ║
- * ║ From Platform: Windows ║
- * ║ From Screen: APPSRCH ║
- * ║ Called By: READ Statement ║
- * ║ Snippet Number: 15 ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
- FUNCTION _qne1byo2q && Read Level Deactivate
- *
- * Deactivate Code from screen: APPSRCH
- *
- #REGION 1
- ?? CHR(7)
- RETURN .F.
-
-
-
- * ╓─────────────────────────────────────────────────────────╖
- * ║ ║
- * ║ APPSRCH/Windows Supporting Procedures and Functions ║
- * ║ ║
- * ╙─────────────────────────────────────────────────────────╜
- *
-
- #REGION 1
- FUNCTION gettag
- *) Returns tag number corresponding to field "fldname", or 0 if there
- *) is not tag with the same name as "fldname."
- parameter fldname
- PRIVATE ALL
- m.fldname = UPPER(ALLTRIM(m.fldname))
- m.i = 1
- DO WHILE !EMPTY(TAG(m.i)) AND m.i < 1000
- IF UPPER(TAG(m.i)) == m.fldname
- RETURN m.i
- ENDIF
- m.i = m.i + 1
- ENDDO
- RETURN 0
-
-
- PROCEDURE waitmsg
- IF RECCOUNT() > 1000
- WAIT WINDOW "Searching. This may take a few moments." NOWAIT
- ELSE
- WAIT WINDOW "Searching" NOWAIT
- ENDIF
-
-
-
- PROCEDURE doloc
- PARAMETERS term, answer
- * See if the user wants to do a long substring search
-
- IF NOT WEXIST("doloc")
- IF _MAC
- DEFINE WINDOW doloc ;
- FROM INT((srow()-9)/2),INT((scol()-63)/2) ;
- TO INT((srow()-9)/2)+9,INT((scol()-63)/2)+61 ;
- TITLE "Searching Options" ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- DOUBLE
- ELSE
- DEFINE WINDOW doloc ;
- FROM INT((srow()-9)/2),INT((scol()-63)/2) ;
- TO INT((srow()-9)/2)+9,INT((scol()-63)/2)+61 ;
- TITLE "Searching Options" ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- DOUBLE ;
- COLOR SCHEME 5
- ENDIF
- ENDIF
-
- answer = .F.
- ACTIVATE WINDOW doloc NOSHOW
-
- @ 6,16 GET locok ;
- PICTURE "@*HT \!\<Search;\?\<Cancel" ;
- SIZE 1.769,12.0,4.0 ;
- DEFAULT 1
- @ 1,1 SAY "FoxApp was not able to find a record matching your search"
- @ 2,1 SAY "term while using a fast searching method. Do you want to"
- @ 3,1 SAY "search for the term with slower but more thorough methods?"
-
- IF NOT WVISIBLE("doloc")
- ACTIVATE WINDOW doloc
- ENDIF
-
- READ CYCLE MODAL
-
- RELEASE WINDOW doloc
- answer = (locok = 1)
-