La sintaxis de la estructura condicional If...Else...End if es la siguiente:
If(Expresion_Booleana)
instrucción(es)
Else
instrucción(es)
End if
Observe que la parte Else es opcional; puede escribir:
If(Expresion_Booleana)
instrucción(es)
End if
La estructura If...Else...End if permite a su método elegir entre dos acciones, dependiendo de si una prueba (una expresión Booleana) es VERDADERA (TRUE) o FALSA (FALSE ).
Cuando la expresión booleana es TRUE, se ejecutan las instrucciones que siguen inmediatamente después de la prueba. Si la expresión booleana es FALSE, las instrucciones siguientes a la instrucción Else son ejecutadas. La instrucción Else es opcional; si omite Else, continua la ejecución con la primera instrucción (si la hay) después de End if.
Note que la expresión Booleana siempre se evalúa completamente. Considere en particular la siguiente prueba:
If(MethodA & MethodB)
...
End if
La expresión es TRUE sólo si ambos métodos son TRUE. Sin embargo, incluso si MethodA devuelve FALSE, 4D 4D todavía evaluará MethodB, lo que es una pérdida inútil de tiempo. En este caso, es más interesante utilizar una estructura como:
If(MethodA)
If(MethodB)
...
End if
End if
El resultado es similar y MethodB se evalúa sólo si es necesario.
$Encontrar:=Request(Digite un nombre)
If(OK=1)
QUERY([Personas];[Personas]Apellido=$Encontrar)
Else
ALERT("Usted no introdujo ningún nombre.")
End if
Consejo: la bifurcación se puede realizar sin ejecutar instrucciones en un caso o en el otro. Cuando desarrolla un algoritmo o una aplicación especializada, nada le impide escribir:
If(Expresion_Booleana)
Else
instrucción(es)
End if
o:
If(Expresion_Booleana)
instrucción(es)
Else
End if