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.
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
Postar um comentário