A sintaxe formal da estrutura de controle de fluxo é:
If(Expressão_Booleana)
instrução(ções)
Else
instrução(ções)
End if
Note que a parte Else é opcional, você pode escrever:
If(Expressão_Booleana)
instrução(ções)
End if
A estrutura permite que o seu método escolha entre duas ações, dependendo se um teste (uma expressão booleana) é VERDADEIRA ou FALSA.
Quando a expressão booleana for TRUE, as declarações imediatamente após o teste são executadas. Se a expressão booleana é FALSA, as declarações após o Else são executadas. A instrução Else é opcional, se você omitir Else, a execução continua com a primeira instrução (se houver) depois do End if
Note que a expressão Booleana sempre é avaliada completamente. Considere em particular o teste abaixo:
If(MethodA & MethodB)
...
End if
A expressão é TRUE só se ambos métodos forem TRUE. Entretanto, mesmo se MethodA devolver FALSE, 4D 4D ainda assim avaliará MethodB, o que é uma perda inútil de tempo. Neste caso, é mais interessante utilizar uma estrutura como:
If(MethodA)
If(MethodB)
...
End if
End if
O resultado é similar e MethodB será avaliado somente se for necessário.
$Encontrar:=Request(Digite un nome)
If(OK=1)
QUERY([Pessoas];[Pessoas]Sobrenome=$Encontrar)
Else
ALERT("Você não digitou um nome.")
End if
Conselho: A condição pode ser realizada sem instruções a serem executadas em um caso ou outro. Ao desenvolver um algoritmo ou uma aplicação especializada, nada o impede de escrever:
If(Expressão_Booleana)
Else
instrução(ções)
End if
ou:
If(Expressão_Booleana)
instrução(ções)
Else
End if