Vous utilisez le langage de programmation Visual Basic (VB.NET) pour créer des règles iLogic. Les instructions conditionnelles telles que If-Then-Else permettent à vos règles d'effectuer les actions en fonction de certains critères.
Dans l'instruction If-Then-Else, un jeu d'actions s'exécute si la condition est vraie tandis qu'un autre jeu d'actions s'exécute si la condition est fausse :
(1) Condition (2) Vrai (3) Faux (4) Si la condition est vraie, suivez ces instructions (5) Si la condition est fausse, suivez ces instructions.
Après l'exécution de l'instruction Vrai ou Faux, le contrôle du programme reprend à l'instruction suivante.
Dans iLogic, vous pouvez utiliser des blocs de code ou un format multiligne pour implémenter la structure If-Then-Else.
Par exemple :
If size = “small” Then length = 6.0 Else length = 12 End If
Si l'expression conditionnelle est vraie, les instructions entre les mots-clés Then et Else sont exécutées. Les instructions entre les mots-clés Else et End If sont ignorées. Si l'expression conditionnelle est fausse, les instructions entre les mots-clés Else et End If sont exécutées. Les instructions entre les mots-clés Then et Else sont ignorées. Dans tous les cas, le contrôle du programme reprend à l'instruction suivant l'instruction End If.
Dans une instruction If-Then-Else, l'action est effectuée, que la condition soit vraie ou fausse. Toutefois, lorsque vous effectuez une action ou un jeu d'actions uniquement si une condition est vraie, mais n'effectuez aucune action si la condition est fausse :
(1) Condition (2) Vrai (3) Si la condition est vraie, suivez ces instructions (4) Faux
Vous pouvez omettre la partie Else de la structure If du bloc. Par exemple :
If size = “small” Then length = 6.0 End If
Vous pouvez également utiliser les jeux d'actions nuls ou vides dans le format en bloc de l'instruction If. Vous pouvez, par exemple, déclarer "si la condition est vraie, ne rien faire - sinon, faire quelque chose", comme dans le bloc suivant :
If length > 20 Then Else MessageBox.Show(" Invalid Size.Length must be at least 20 in. ", "Title") End If
Lorsque vous utilisez un jeu d'actions vide, améliorez la lisibilité en incluant un commentaire là où les instructions vraies devraient aller :
If length > 20 Then’do nothing
Else MessageBox.Show(" Invalid Size.Length must be at least 20 in ", "Title")
End If
Bien que le format en bloc de l'instruction If améliore la lisibilité, vous pouvez écrire l'instruction If comme une ligne unique. Dans ce format, l'instruction End If n'est pas utilisée.
Exemples :
If length < 20 Then MessageBox.Show("Length is Too Short", "Title") If mass < 1000 Then length =20 Else length =40
Une variable booléenne, qui permet de conserver la valeur vraie ou fausse, peut être utilisée n'importe où une expression relationnelle est valide.
Par exemple, les deux instructions suivantes sont équivalentes :
If Feature.IsActive("Fillet1") = true Then . . . If Feature.IsActive("Fillet1") Then . . .
Dans la seconde instruction, la valeur vraie est déduite.
De même, les deux instructions suivantes sont interchangeables pour vérifier si une valeur booléenne variable est fausse :
If Feature.IsActive("Fillet1") = false Then . . . If Not Feature.IsActive("Fillet1") Then . . .
Ces exemples montrent le résultat d'une fonction. Autres exemples : utiliser un nom de paramètre en tant que variable booléenne ou une variable locale pour contenir une valeur booléenne.
Une structure de cas vous permet de choisir plus de deux possibilités :
(1) Cas de changement du code (2) Cas “1” (3) Cas “2” (4) Cas “3” (5) Cas Else (6) Que faire en cas de changement du code= ”1” (7) Que faire en cas de changement du code= ”2” (8) Que faire en cas de changement du code= ”3” (9) Que faire en cas de changement du code différent de "1", "2" ou "3".
La structure de cas peut être appliquée à l'aide d'une structure If de bloc étendue ou de la structure d'instruction Select Case.
L'instruction If de bloc étendue utilise une ou plusieurs clauses ElseIf qui sont imbriquées entre la première clause If et la dernière clause Else. Le mot-clé ElseIf correspond à un mot.
Par exemple :
If material = "Steel" Then density = 0.284 ElseIf material = "Copper" Then density = 0.323 ElseIf material = "Aluminum" Then density = 0.098 End If
Dans ce format, le programme exécute les instructions associées à la première expression conditionnelle vraie qu'il trouve. Ensuite, le programme prend fin à l'instruction suivant l'instruction End If. Utiliser la dernière instruction Else pour éviter les erreurs qui se produisent lors de conditions inattendues qui ne correspondent pas aux conditions précédentes If ou ElseIf.
L'utilisation de ElseIf élimine le besoin de coder plusieurs instructions End If dans une structure If imbriquée. A titre de comparaison, l'exemple précédent peut également être écrit comme suit :
If material = "Steel" Then density = 0.284 Else If material = "Copper" Then density = 0.323 Else If material = "Aluminum" Then density = 0.098 End If End If End If
L'instruction Select Case peut être très intéressante avec plusieurs options.
Par exemple :
Select Case material Case “Steel” density =0.284 Case “ Copper” density = 0.323 Case “Aluminum” density = 0.098 Case Else density = 0 MessageBox.Show("not a valid material" , "Warning") End Select
Dans ce format, l'instruction Select Case spécifie une expression à tester. Chaque clause Case suivante spécifie une ou plusieurs expressions à comparer à l'expression test. Les actions de la première clause Case contenant une expression qui correspond à l'expression test sont alors exécutées. Le contrôle du programme passe ensuite à l'instruction suivant l'instruction End Select. La dernière clause Case Else empêche les erreurs qui se produisent lorsqu'une valeur inattendue de l'expression test ne correspond pas à la liste des expressions d'aucune clause Case précédente.
L'expression test qui suit la clause Select Case peut être une expression plus complexe, par exemple :
Select Case radius +1 Select Case MinOfMany(x,y,z)
La liste des expressions de la clause Case peut suivre l'un de ces formats :
Format | Exemples |
---|---|
<expression> [, expression...] |
Case 1, 10, 100
Case "Y", "y" |
<expression> To <expression> |
Case 1 To 9
Case "A" To "C" |
Is <expression à opérateur relationnel> | Case Is >= 21 |
(combinaison des exemples précédents) | Case Is <= 5, 20 To 29, 43 |
Par exemple :
Select Case width Case 1,2,3,4,5 MessageBox.Show("Small Plate", "Size") Case 6 to 15 MessageBox.Show("Medium Plate", "Size") Case Is > 15 MessageBox.Show("Large Plate", "Size") End Select
L'instruction Select Case ne requiert pas d'association avec une variable ou expression particulière. Elle peut être utilisée pour évaluer tout nombre de conditions, en utilisant le format suivant :
Select Case True Case length >= 10 width = length -1 thickness = length/5 Case length < 10 width = length - .75 thickness = length/6 End Select