Special seek function. (x = xtra)
──────────────────────────────────────────────────────────────────────────────

Syntax

GT_xSeek(xValue, nSeekNum, nOrder, bBlock) --> xRet

Arguments:

<xValue> - The value to seek for
<nSeekNum> - Option (type of seek (see Description))
<nOrder> - The index order to seek
<bBlock> - A block to eval to get a return value iff
required

Returns:

<xRet> - If nSeekNum == 1, xRet == found()
- If nSeekNum == 2, xRet == found()
- If nSeekNum == 3, xRet == ""
- If nSeekNum == 4, xRet == eval(bBlock)

Description:

This function does four separate things dependant on nSeekNum

nSeekNum What Happens
──────── ────────────────────────────────────────────────────
1 leave record pointer where found and return found()
2 return record pointer to previous, return found()
3 leave record pointer where found and return ''
4 value = eval(bBlock), go previous rec, return value


Examples:

.
.
xLookup := DBFILE->(GT_xSeek("KEYS", 4, 1, {|| DESC_40}))
.
.

Source: XSEEK.PRG

Author: Andy M Leighton