FOUND()
 Determina se a operaçao de pesquisa anterior foi bem sucedida
------------------------------------------------------------------------------

 Sintaxe

     FOUND() --> lSucesso

 Retorno

     FOUND() retorna verdadeiro (.T.) se o último comando de pesquisa foi
     bem sucedido; do contrário, ela retorna falso (.F.).

 Descriçao

     FOUND() é uma funçao de tratamento de banco de dados utilizada para
     determinar se uma operaçao de pesquisa (isto é, FIND, LOCATE, CONTINUE,
     SEEK, SET RELATION) foi bem sucedida antes que o próximo passo no
     programa seja executado.  Quando qualquer um destes comandos é
     executado, FOUND() retorna verdadeiro (.T.) caso haja correspondência;
     do contrário, ele retorna falso (.F.).

     Se o comando de pesquisa for LOCATE ou CONTINUE, a correspondência é o
     próximo registro que atender a abrangência e condiçao. Caso o comando
     de pesquisa seja FIND, SEEK ou SET RELATION, a correspondência é a
     primeira chave no índice controlador que seja igual ao argumento de
     pesquisa.  Se SET SOFTSEEK está ON, o ponteiro de registros é
     posicionado no primeiro registro cuja chave seja maior ou igual ao
     argumento de pesquisa.  Se o valor de chave for igual ao argumento de
     pesquisa, FOUND() é verdadeiro (.T.); do contrário, é falso (.F.).

     O valor de FOUND() é retido até que seja executado outro comando de
     movimentaçao de registros.  A nao ser que o comando seja outro comando
     de pesquisa, FOUND() é automaticamente configurado em falso (.F.).

     Cada área de trabalho tem um valor FOUND().  Isto significa que se uma
     área de trabalho tem um relacionamento configurado para uma área de
     trabalho secundária, questionando-se FOUND() na área secundária fará a
     funçao retornar verdadeiro (.T.) caso haja correspondência.

     O padrao é que a funçao FOUND() opere na área de trabalho correntemente
     selecionada.  Pode-se fazê-la operar em uma área de trabalho nao
     selecionada se esta for especificada em uma expressao alias (veja o
     exemplo abaixo).

 Exemplos

       O exemplo a seguir ilustra o comportamento da funçao FOUND()
        após um comando de movimentaçao de registros:

        USE Sales INDEX Sales
        ? INDEXKEY(0)                              // Resulta: SALESMAN
        SEEK "1000"
        ? FOUND()                                  // Resulta: .F.
        SEEK "100"
        ? FOUND()                                  // Resulta: .T.
        SKIP
        ? FOUND()                                  // Resulta: .F.

       Este exemplo demonstra como acessar um valor FOUND() em uma
        área de trabalho nao selecionada através de uma expressao alias:

        USE Sales INDEX Sales NEW
        USE Customer INDEX Customer NEW
        SET RELATION TO CustNum INTO Sales
        //
        SEEK "Smith"
        ? FOUND(), Sales->(FOUND())

       Este fragmento de código processa todos os registros de
        Customer que têm o valor chave "Smith" usando FOUND() para
        determinar quando há mudança no valor chave:

        USE Customer INDEX Customer NEW
        SEEK "Smith"
        WHILE FOUND()
           .
           . <declaraçoes>
           .
           SKIP
           LOCATE REST WHILE Name = "Smith"
        ENDDO

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

See Also: EOF() LOCATE SEEK SET RELATION SET SOFTSEEK