4D v16.3

Si...Sinon...Fin de si

Accueil

 
4D v16.3
Si...Sinon...Fin de si

Si...Sinon...Fin de si  


 

 

La syntaxe de la structure conditionnelle Si...Sinon...Fin de si est la suivante :

 Si(Expression_booléenne)
    instruction(s)
 Sinon
    instruction(s)
 Fin de si

A noter que l'élément Sinon est optionnel, vous pouvez écrire :

 Si(Expression_booléenne)
    instruction(s)
 Fin de si

La structure Si...Sinon...Fin de si 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 :

 Si(MéthodeA & MéthodeB)
    ...
 Fin de si

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 :

 Si(MéthodeA)
    Si(MéthodeB)
       ...
    Fin de si
 Fin de si

Le résultat est équivalent et MéthodeB n'est évaluée que si nécessaire.

Exemple  

  ` Demander à l'utilisateur de saisir un nom
 $Rech:=Demander(Saisissez un nom)
 Si(OK=1)
    CHERCHER([Personnes];[Personnes]Nom=$Rech)
 Sinon
    ALERTE("Vous n'avez pas saisi de nom.")
 Fin de si

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 :

 Si(Expression_booléenne)
 Sinon
    instruction(s)
 Fin de si

ou :

 Si(Expression_booléenne)
    instruction(s)
 Sinon
 Fin de si



Voir aussi  

Au cas ou...Sinon...Fin de cas
Boucle...Fin de boucle
Conditions et boucles
Repeter...Jusque
Tant que...Fin tant que

 
PROPRIÉTÉS 

Produit : 4D
Thème : Présentation du langage
Nom intl. : If...Else...End if

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)