La syntaxe de la structure conditionnelle If...Else...End if est la suivante :
If(Expression_booléenne)
instruction(s)
Else
instruction(s)
End if
A noter que l'élément Sinon est optionnel, vous pouvez écrire :
If(Expression_booléenne)
instruction(s)
End if
La structure If...Else...End if permet à votre méthode de choisir dans une alternative, en fonction du résultat, VRAI ou FAUX, d’un test (une expression booléenne).
Si l’expression booléenne est VRAIE, les instructions qui suivent immédiatement le test sont exécutées. Si l’expression booléenne est FAUSSE, les instructions suivant la ligne Sinon sont exécutées. Le Sinon est optionnel ; lorsqu’il est omis, c’est la première ligne d’instructions suivant le Fin de si (s’il y en a une) qui est exécutée.
A noter que l'expression booléenne est toujours évaluée en totalité. Examinons en particulier le test suivant :
If(MéthodeA & MéthodeB)
...
End if
L'expression n'est VRAIE que si les deux méthodes sont VRAIES. Or, même si MéthodeA retourne FAUX, 4D évaluera quand même MéthodeB, ce qui représente une perte de temps inutile. Dans ce cas, il est préférable d'utiliser une structure du type :
If(MéthodeA)
If(MéthodeB)
...
End if
End if
Le résultat est équivalent et MéthodeB n'est évaluée que si nécessaire.
$Rech:=Request(Saisissez un nom)
If(OK=1)
QUERY([Personnes];[Personnes]Nom=$Rech)
Else
ALERT("Vous n'avez pas saisi de nom.")
End if
Astuce : Il n'est pas obligatoire que des instructions soient exécutées dans chaque branche de l'alternative. Lorsque vous développez un algorithme, ou lorsque vous poursuivez un but précis, rien ne vous empêche d'écrire :
If(Expression_booléenne)
Else
instruction(s)
End if
ou :
If(Expression_booléenne)
instruction(s)
Else
End if