Looplex Knowledge Base

IsNotEmpty

O tube isNotEmpty verifica se uma variável ou campo recebeu alguma resposta, seja pelo usuário ou pelo programador.

Formato:

<var>.isNotEmpty()
isNotEmpty(<var>)

Parâmetros:

  • *var: variável ou campo a ser verificado, de qualquer tipo.

Retorno:**

  • O tube dá um retorno verdadeiro (true) caso a variável tenha uma resposta, e falso (false) caso contrário.
  • Como o retorno é booleano (true ou false), pode ser utilizado como condição de operadores como if, elseif e printf_tube. Isto significa que verificaremos se a variável ou campo recebeu alguma resposta ou não (apenas para relembrar, como se trata de um desvio condicional, é necessário ter sempre uma condição e consequência a partir do retorno ser verdadeiro ou falso).

Exemplos:

  1. isNotEmpty com printIf. Um uso comum do tube é para fazer o print de variáveis ou campos facultativos. Considere uma struct de endereço, em que todos os campos são obrigatórios com exceção de [complemento]. Nesse caso, usa-se o tube printf_tube para avaliar se [complemento] foi preenchido pelo usuário, condicionando o print à existência ou não de uma resposta. Nesses casos também é comum que o estado ([uf]) seja dado por uma lista associativa, utilizando o tube get_by_key_tube para imprimir somente a sigla do estado selecionado.
print <endereco.rua> & ", nº " & <endereco.numero> & printIf(<endereco.complemento>.isNotEmpty(), ", " & <endereco.complemento>) & ", " & <endereco.bairro> & ", " & <endereco.cidade> & " – " & <endereco.uf>.getByKey("Sigla") & ", CEP: " & <endereco.cep> & "."
  1. isNotEmpty com máscara de data. Outro uso comum do tube é na definição de máscara de data a partir de uma variável ou campo preenchido anteriormente. Considere um processo trabalhista em que se deseja perguntar a data da ocorrência do acidente em local de trabalho([dataAcidente]). A data do acidente é necessariamente anterior à data de ajuizamento da ação ([dataAjuizamento]). Assim, caso a data de ajuizamento da ação já tenha sido preenchida, ela é utilizada como data máxima da máscara para a data de acidente. Caso ainda não tenha sido preenchida, utiliza-se a data atual como limite (através do tube today_tube).
if (<dadosProcesso.dataAjuizamento>.isNotEmpty()) {
<dadosAcidente.dataAcidente>.mask = "[...;" & <dadosProcesso.dataAjuizamento> & "]"
}
else {
<dadosAcidente.dataAcidente>.mask = "[...;" & today() & "]"
}
  1. isNotEmpty com endsWith. É muito comum que se peça para o usuário preencher parágrafos completos com variáveis do tipo Text. Nesses casos, contudo, o usuário pode se esquecer de colocar o ponto final do parágrafo. Assim, combinam-se printf_tube, isNotEmpty e ends_with_tube para avaliar se o parágrafo foi preenchido e se termina com ponto final. Caso termine, nada adicional é impresso. Caso contrário, imprime-se o ponto final.
print <paragAdicional> & printIf(<paragAdicional>.isNotEmpty() AND <paragAdicional>.endsWith("."), "", ".")

Ressalta-se que o sistema não aceita o uso do tube ends_with_tube quando a variável estiver vazia. Por isso, protege-se o seu uso com isNotEmpty, garantido que só será acionado quando houver um texto para ser avaliado.

Edit this page on GitHub