SEEK
 Pesquisa um índice através de um valor chave especificado
------------------------------------------------------------------------------

 Sintaxe

     SEEK <expPesquisa>

 Argumentos

     <expPesquisa> é uma expressao à qual a chave de indexaçao deverá
     corresponder.

 Descriçao

     O comando SEEK pesquisa o índice de controle que começa com a primeira
     chave e continua até que seja encontrada correspondência ou até que
     haja um valor chave maior do que o argumento de pesquisa.  Caso haja
     correspondência, o ponteiro de registro é posicionado no número do
     registro encontrado no índice.  Se SOFTSEEK estiver em OFF (o padrao) e
     nao seja encontrada correspondência, o ponteiro de registro é
     posicionado em LASTREC() + 1, EOF() retorna valor verdadeiro (.T.), e
     FOUND() retorna valor falso (.F.).  Caso SOFTSEEK esteja em ON, o
     ponteiro de registro é posicionado no registro que tenha o primeiro
     valor chave maior do que o argumento de procura, e FOUND() retorna
     valor falso (.F.).  Nesse caso, EOF() retornará valor verdadeiro (.T.)
     somente se nao houver nenhuma chave no índice que seja maior do que o
     argumento de pesquisa.

     O comando SET EXACT nao tem efeito algum sobre a operaçao do comando
     SEEK.

 Exemplos

       Este exemplo ilustra o efeito do comando SEEK em vários
        arquivos de dados:

        USE Sales INDEX Branch NEW
        SEEK "100"
        ? FOUND(), EOF(), RECNO()             // Resulta: .T. .F. 1

       A funçao definida pelo usuário exemplificada abaixo executa
        um comando SEEK exato para um índice com uma chave de caractere:

        USE Invoice INDEX Invoice NEW
        ? IF(SeekExact("10001"),"Encontrado","Nao Encontrado")
        RETURN

        FUNCTION SeekExact( cSearch )
           SEEK PADL( cSearch, LEN(&(INDEXKEY(0))) )
           RETURN (FOUND())

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: SET SOFTSEEK EOF() FOUND()