DESCEND()
 Cria um valor de chave de indexaçao descendente
------------------------------------------------------------------------------

 Sintaxe

     DESCEND(<exp>) --> ValorComplementado

 Argumentos

     <exp> é qualquer expressao válida de tipo caractere, data, lógico
     ou numérico.  O tipo memo é tratado da mesma forma que o tipo
     caractere.

 Retorno

     DESCEND() retorna o mesmo tipo de dados que em <exp> de uma forma
     complementada, com exceçao das datas, que retornam um valor numérico.
     Um DESCEND() de CHR(0) sempre retorna CHR(0).

 Descriçao

     DESCEND() é uma funçao de conversao que retorna a forma complementada
     da expressao especificada para que esta seja utilizada em combinaçao
     com INDEX a fim de criar índices de ordem descendente.  Isto é feito
     especificando-se a parte da expressao de índice que você deseja que
     seja descendente como sendo o argumento de DESCEND().  Para
     posteriormente executar uma pesquisa com SEEK, especifique DESCEND() na
     expressao de pesquisa.

 Exemplos

       Este exemplo utiliza DESCEND() em uma expressao INDEX para
        criar um índice de datas de ordem descendente:

        USE Sales NEW
        INDEX ON DESCEND(OrdDate) TO SalesDate

       Depois, DESCEND() pode ser utilizado para fazer uma pesquisa
        (SEEK) no índice descendente:

        SEEK DESCEND(dFindDate)

       Este exemplo ilustra como criar um índice de ordem
        descendente utilizando mais de um tipo de dados.  Aqui, a chave é
        criada através da concatenaçao de campos data e caractere após ter
        sido efetuada a devida coversao de tipos.  STR() é utilizada neste
        exemplo ao invés de DTOS(), porque DESCEND() de uma data retorna um
        valor numérico:

        USE Sales NEW
        INDEX ON STR(DESCEND(SaleDate)) + Salesman TO LastSale

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

See Also: FIND* INDEX SEEK