Protheus :: Programação Básica em Advpl “Combo XV”

O último operador que examinaremos é o $ ( contido em ). Use-o para verificar se uma string está contida em outra. Por exemplo, para constatar se a variável de memória de caractere isolado cTipoPeca é R, D, ou b, podemos escrever:

IF cTipoPeca $ “RDB”
...

Para verificar se uma variável de memória de dois caracteres é “PR”, “SP”, ou “AM”, escreva:

IF cEstado $ “PR_SP_AM”
...

Obs.: Os separadores “_” são necessários para invalidar combinações, como “RS” e “PA” que são estados válidos.

Dica: Use o operador $ ao invés de várias condições separadas. Ex.:

Do Case
Case cEstado == “PR” ; Execute(“PR”)
Case cEstado == “SP” ; Execute(“SP”)
Case cEstado == “AM” ; Execute(“AM”)
EndCase

Poderia ser escrito como

IF ( cEstado $ “PR_SP_AM” )
Execute(“PR_SP_AM”)
EndIF

Expressões condicionais:

IIF() ou IF() é uma expressão condicional. São abreviações de uma simples seqüência de IF/ELSE/ENDIF. Por exemplo, para encontrar o mínimo de a e b, poderíamos escrever:

nMinimo := IIF( a < b , a , b )
ou
nMinimo := IF( a < b , a , b )

que seria equivalente a escrever:

IF ( a < b )
nMinimo := a
Else
nMinimo := b
EndIF

As vantagens de IIF() e/ou IF() é que se acomodam em qualquer lugar em que uma expressão possa estar ( incluindo blocos de codificação ) e gera menos codificação.

Comentários

Postagens mais visitadas