Pro vytváření pravidel modulu iLogic se používá programovací jazyk Visual Basic (VB.NET). Podmíněné příkazy If-Then-Else umožňují, aby pravidla prováděla akce na základě určitých kritérií.
Jak příkaz If-Then-Else funguje?
V příkazu If-Then-Else jeden soubor akcí kontroluje, zda je podmínka pravdivá a druhý soubor akcí kontroluje, zda je podmínka nepravdivá.

(1) Podmínka (2) Pravdivá (3) Nepravdivá (4) Jestliže je podmínka pravdivá, proveďte tyto příkazy (5) Jestliže je podmínka nepravdivá, proveďte tyto příkazy
Po provedení příkazů pro pravdivou nebo nepravdivou podmínku pokračuje programové řízení dalším příkazem.
V modulu iLogic lze pro zavedení struktury If-Then-Else použít blokový nebo víceřádkový formulář.
If size = “small” Then length = 6.0 Else length = 12 End If
Jestliže je podmíněný výraz pravdivý, jsou provedeny příkazy mezi klíčovými slovy Then a Else. Příkazy mezi klíčovými slovy Else a End If jsou vynechány. Jestliže je podmíněný výraz false, jsou provedeny příkazy mezi klíčovými slovy Else a End If. Příkazy mezi klíčovými slovy Then a Else jsou vynechány. V každém případě programové řízení pokračuje příkazem následujícím za příkazem End If.
V příkazu If-Then-Else je akce provedena bez ohledu, zda je podmínka true nebo false. Někdy však lze akci nebo soubor akcí provést pouze, když je podmínka true, ale nelze provést žádnou akci, když je podmínka false:

(1) Podmínka (2) Pravdivá (3) Jestliže je podmínka pravdivá, proveďte tyto příkazy (4) Nepravdivá
Můžete vynechat část Else blokové If struktury. Například:
If size = “small” Then length = 6.0 End If
Jak používat nulové nebo prázdné soubory akcí?
Lze použít také soubory akcí null nebo empty v blokovém formuláři příkazu If. Například lze stanovit „jestliže je podmínka pravdivá, neprovést nic – jinak něco provést” jako v následujícím bloku:
If length > 20 Then
Else MessageBox.Show(" Invalid Size.Length must be at least 20 in. ", "Title")
End IfPři použití prázdného souboru akcí zlepšete čitelnost zahrnutím poznámky tam, kde jsou obvykle příkazy true:
Jak použít příkaz If jako jednořádkový příkaz?
Ačkoliv blokový formulář příkazu If zlepšuje čitelnost, lze také příkaz If zapsat na jeden řádek. V tomto formátu se nepoužívá příkaz End If.
If length < 20 Then MessageBox.Show("Length is Too Short", "Title")
If mass < 1000 Then length =20 Else length =40Jak používat booleovské proměnné v podmíněných výrazech?
Booleovskou proměnnou, která může mít hodnotu True nebo False, lze použít kdekoliv, kde lze použít relační výraz.
Například následující dva příkazy jsou stejné:
If Feature.IsActive("Fillet1") = true Then . . .
If Feature.IsActive("Fillet1") Then . . .V druhém příkazu je zahrnuta hodnota True.
Podobně lze následující dva příkazy zaměnitelně použít ke kontrole, zda je booleovská proměnná nepravdivá:
If Feature.IsActive("Fillet1") = false Then . . .
If Not Feature.IsActive("Fillet1") Then . . .Tyto příklady uvádějí výsledek funkce. V ostatních příkladech je použit název parametru jako booleovské proměnné nebo lokální proměnné pro uložení booleovské hodnoty.
Struktura případu umožňuje volbu mezi více než dvěma alternativami:

(1) Případ kódu posuvu (2) Případ „1“ (3) Případ „2 (4) Případ „3“ (5) Případ „Jinak“ (6) Co dělat, když kód posuvu=„1“ (7) Co dělat, když kód posuvu=„2“ (8) Co dělat, když kód posuvu=„3“ (9) Co dělat, když kód posuvu není „1“, „2“ nebo „3“
Strukturu případu lze zavést pomocí struktury rozšířeného bloku If nebo struktury příkazu Select Case.
Co je to příkaz If (If-Then-ElseIf) rozšířeného bloku?
Příkaz rozšířeného bloku If používá jednu nebo více klauzulí ElseIf, které jsou vnořeny mezi první klauzuli If a poslední klauzuli Else. Klíčové slovo ElseIf je jedno slovo.
If material = "Steel" Then density = 0.284 ElseIf material = "Copper" Then density = 0.323 ElseIf material = "Aluminum" Then density = 0.098 End If
V tomto formátu program provádí příkazy spojené s prvním nalezeným pravdivým podmíněným výrazem. Pak program pokračuje k příkazu následujícím za příkazem End If. Poslední příkaz Else použijte k shromáždění chyb, které se objevují při výskytu neočekávaných podmínek, které se neshodují s předchozími podmínkami If nebo ElseIf.
Použití ElseIf eliminuje potřebu kódování vícenásobných příkazů End If ve vnořené struktuře If. Pro srovnání, předchozí příklad lze také zapsat jako:
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
Jak lze použít příkaz Zvolit případ?
Select Case je výkonný příkaz s několika možnostmi.
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 SelectV tomto formátu příkaz Select Case určuje výraz k testu. Každá následná klauzule Case určuje jeden nebo více výrazů za účelem srovnání s testovacím výrazem. První klauzule Case obsahující výraz, který se shoduje s testovacím výrazem má své přiřazené akce provedeny. Programové řízení pak pokračuje s příkazem následujícím za příkazem End Select. Konečná klauzule Case Else shromažďuje chyby, které se objevují, když neočekávaná hodnota testovacího výrazu nesouhlasí se seznamem výrazů v kterékoliv z předchozích klauzulí Case.
Testovací výraz následující za Select Case může být složitější výraz, například:
Select Case radius +1 Select Case MinOfMany(x,y,z)
Seznam výrazů v klauzuli Case může mít kterýkoliv z následujících formátů:
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 SelectPříkaz Select Case nevyžaduje spojení s jednou konkrétní proměnnou nebo výrazem. Může být používán k vyhodnocení jakéhokoliv počtu podmínek pomocí následujícího formátu:
Select Case True Case length >= 10 width = length -1 thickness = length/5 Case length < 10 width = length - .75 thickness = length/6 End Select
Provedení alternativních akcí pro pravdivé a nepravdivé podmínky
Když zadáte akce k provedení, můžete použít možnosti v oblasti Fragmenty pro vložení funkce na místě kurzoru. Pak můžete přidat příslušné argumenty pro tuto funkci.
Proveďte akci pouze, jestliže je pravdivá jedna podmínka
Když zadáte akci k provedení, použijte možnosti v oblasti Fragmenty pro vložení funkce na místě kurzoru. Pak můžete přidat příslušné argumenty pro tuto funkci.
Neprovádějte žádnou akci pro žádnou podmínku
Když zadáte akci k provedení, použijte možnosti v oblasti Fragmenty pro vložení funkce na místě kurzoru. Pak můžete přidat příslušné argumenty pro tuto funkci.
Proveďte alternativní akce pro více než dvě podmínky.
Když zadáte akce k provedení, použijte možnosti v oblasti Fragmenty pro vložení funkce na místě kurzoru. Pak můžete přidat příslušné argumenty pro tuto funkci.
Proveďte alternativní akce na základě srovnání se zkušebním případem
Select Case <test expression>Case <expression list 1><statement list 1>Case <expression list 2><statement list 2>Case Else<statement list n>End Select
Když zadáte akce k provedení, použijte možnosti v oblasti Fragmenty pro vložení funkce na místě kurzoru. Pak můžete přidat příslušné argumenty pro tuto funkci.
If <conditional expression> Then<one or more statements to be executed if condition is true>Else<one or more statements to be executed if condition is false>End If
If <conditional expression> Then<one or more statements to be executed if condition is true>End If
If <conditional expression> Then ‘do nothingElse <one or more statements to be executed if condition is false>End If
If <conditional expression> Then <true statement> [Else <false statement>]formát If (If-Then-ElseIf) rozšířeného bloku
If <conditional expression 1> Then<one or more statements to be executed if condition 1 is true>ElseIf <conditional expression 2> Then<one or more statements to be executed if condition 2 is true>... ElseIf <conditional expression n> Then <one or more statements to be executed if condition n is true> Else <one or more statements to be executed if none of the above conditions is true> End If
Select Case <test expression>Case <expression list 1><statement list 1>Case <expression list 2><statement list 2>Case Else<statement list n>End Select