EMPTY()
 Determina se o resultado de uma expressao é vazio
------------------------------------------------------------------------------

 Sintaxe

     EMPTY(<exp>) --> lVazio

 Argumentos

     <exp> é uma expressao de qualquer tipo de dados.

 Retorno

     EMPTY() retorna verdadeiro (.T.) se a expressao resultar em um valor
     vazio; do contrário, ela retorna falso (.F.).  Os critérios para
     determinar se um valor é considerado vazio dependem do tipo de dados de
     <exp> de acordo com as seguintes regras:

     Tabela 5-14: Lista de Valores Vazios
     ------------------------------------------------------------------------
     Tipo de Dado         Conteúdo
     ------------------------------------------------------------------------
     Vetor                Tamanho zero
     Caractere            Espaços, tabs, CR/LF, ou ("")
     Numérico             0
     Data                 Null(CTOD(""))
     Lógico               Falso (.F.)
     Memo                 Mesmo que caractere
     NIL                  NIL
     ------------------------------------------------------------------------

 Descriçao

     A funçao EMPTY() é bastante versátil e portanto tem uma variedade de
     usos.  Pode ser utilizada para determinar se o usuário entrou com um
     valor em um objeto GET antes de enviar as alteraçoes para um arquivo de
     banco de dados.  Também pode ser usada para determinar se um parâmetro
     formal é NIL ou nao fornecido.  Além disso, pode ser utilizada para
     testar se um vetor tem tamanho zero.

 Exemplos

       Os exemplos a seguir ilustram a funçao EMPTY() utilizando
        vários tipos de dados diferentes:

        ? EMPTY(SPACE(5)), EMPTY("")         // Resulta: .T. .T.
        ? EMPTY(0), EMPTY(CTOD(""))          // Resulta: .T. .T.
        ? EMPTY(.F.), EMPTY(NIL)             // Resulta: .T. .T.

       Este exemplo utiliza EMPTY() para determinar se o usuário
        entrou com um valor no primeiro objeto GET antes de escrever o novo
        valor no arquivo de banco de dados:

        USE Sales NEW
        LOCAL cCust := SPACE(15), nAmount := 0
        @ 10, 10 GET cCust
        @ 11, 10 GET nAmount PICTURE "999.99"
        READ
        //
        IF !EMPTY(cCust)
           APPEND BLANK
           REPLACE Sales->Cust WITH cCust, nAmount WITH Sales->Amount
        ENDIF

       Este exemplo usa EMPTY() como parte da cláusula VALID para
        forçar o usuário a entrar com dados no objeto GET corrente:

        LOCAL cCode := SPACE(5)
        @ 2, 5 SAY "Entre com o codigo" GET cCode VALID !EMPTY(cCode)
        READ

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

See Also: LEN()