>* >* >* Purpose Check for the key in a file >* >* Param's >* 1 [C,R] - Key to check for >* 2 [C,O] - Alias to check in >* 3 [C,O] - Tag name >* 4 [L,O] - Keep record pointer in the file, if .T. >* 5 [L,O] - Look for exact match, if .T. >* >* Return .T. if record is found > >PARAMETER pcKey, pcAlias, pcTag, lSavePos, lExact > >PRIVATE cOldArea, cOldTag, cOldExact, lFound, nOldRecno > >cOldArea = SELECT() >cOldExact = SET("EXACT") > >IF NOT EMPTY(pcAlias) > SELECT (pcAlias) >ENDIF > >cOldTag = TAG() > >nOldRecno = RECNO() > >IF NOT EMPTY(pcTag) > SET ORDER TO (pcTag) >ENDIF > >IF lExact > SET EXACT ON >ELSE > SET EXACT OFF >ENDIF > >lFound = SEEK(pcKey) > >* Restore settings > >DO CASE >CASE NOT lSavePos > * Do not restore record pointer >CASE RECCOUNT() = 0 > * No records in table >CASE BETWEEN(nOldRecno, 1, RECCOUNT()) > GOTO (nOldRecno) >CASE nOldRecno > RECCOUNT() > GOTO BOTTOM > SKIP >ENDCASE > >SET ORDER TO (cOldTag) >SELECT (cOldArea) >SET EXACT &cOldExact > >RETURN lFound>