É possível utilizar a linguagem de programação Visual Basic (VB.NET) para criar regras do iLogic. Declarações condicionais, comoSe-Então-Outro, permitem que as suas regras executem ações com base em certo critério.
Na declaraçãoSe-Então-Outro, um conjunto de ações executa se uma condição é verdadeira, e outro conjunto de ações executa se a condição é falsa:
(1) Condição (2) Verdadeiro (3) Falso (4) Se a condição é verdadeira, execute estas condições (5) Se a condição é falsa execute estas condições
Depois das condições de verdadeiro ou falso execute, o controle de programa recomeça com a próxima declaração.
Em iLogic, é possível utilizar o bloco ou a forma de multilinha para implementar a estrutura Se-Então-Outro.
Por exemplo:
If size = “small” Then length = 6.0 Else length = 12 End If
Se a expressão condicional for verdadeira, as declarações entre as palavras-chave EntãoeOutro são executadas. As declarações entre as palavras-chave Outro e Final Se são ignoradas. Se a expressão condicional for falsa, as declarações entre as palavras-chave Outro e Final Se são executadas. As declarações entre as palavras-chave Então e Outro são contornadas. De qualquer modo, o controle do programa recomeça com a declaração seguindo a declaração Final Se.
Em uma declaração Se-Então-Outro, a ação é tomada independentemente se a condição for verdadeira ou falsa. Entretanto, algumas vezes uma ação ou conjunto de ações é executada somente se uma condição for verdadeira, mas não executa nenhuma ação se a condição for falsa:
(1) Condição (2) Verdadeiro (3) Se a condição é verdadeira, execute estas declarações (4) Falso
É possível omitir a porção Outro da estrutura Se do bloco. Por exemplo:
If size = “small” Then length = 6.0 End If
Também é possível utilizar conjuntos de ações nulo ou vazio na forma do bloco da declaraçãoSe. Por exemplo, é possível afirmar: "Se uma condição for verdadeira, não faça nada - do contrário, faça alguma coisa", como no bloco seguinte:
If length > 20 Then Else MessageBox.Show(" Invalid Size.Length must be at least 20 in. ", "Title") End If
Quando utilizar um conjunto de ações vazio, aprimore a legibilidade incluindo um comentário onde as declarações verdadeiras normalmente iriam:
If length > 20 Then’do nothing
Else MessageBox.Show(" Invalid Size.Length must be at least 20 in ", "Title")
End If
Embora a forma de bloco da declaração Se aprimora a legibilidade, também é possível gravar a declaração Se como uma linha única. Neste formato , a declaração Final Se não é utilizada.
Os exemplos incluem:
If length < 20 Then MessageBox.Show("Length is Too Short", "Title") If mass < 1000 Then length =20 Else length =40
Uma variável Booleana, que pode reter o valor VerdadeiroouFalso, pode ser utilizado em qualquer lugar que uma expressão relacional possa ser utilizada.
Por exemplo, as duas seguintes declarações são equivalentes:
If Feature.IsActive("Fillet1") = true Then . . . If Feature.IsActive("Fillet1") Then . . .
Na segunda declaração, o valorVerdadeiro está implícito.
Da mesma forma, as duas declarações seguintes podem ser utilizadas de forma indiscriminada para testar se uma variável booleana é falsa:
If Feature.IsActive("Fillet1") = false Then . . . If Not Feature.IsActive("Fillet1") Then . . .
Estes exemplos mostram o resultado de uma função. Outros exemplos incluem a utilização de um nome de parâmetro como uma variável booleana ou a utilização de uma variável local para reter um valor booleano.
A estrutura da caixa permite que escolha entre mais de duas alternativas:
(1) Caso de alterar código (2) Caso “1” (3) Caso “2” (4) Caso “3” (5) Caso Else (6) O que fazer quando alterar código=”1” (7) O que fazer quando alterar código=”2” (8) O que fazer quando alterar código=”3” (9) O que fazer quando alterar código não é “1”, “2”, ou “3”
A estrutura da caixa pode ser implementada utilizando uma estrutura Sedo bloco estendido ou a estrutura de declaraçãoSelecionar Caixa.
A declaração Sedo bloco estendido utiliza uma ou mais cláusulas Se Outro que estão aninhadas entre a primeira cláusula Se e a última cláusula Outro. A palavra-chave é Se Outro uma palavra.
Por exemplo:
If material = "Steel" Then density = 0.284 ElseIf material = "Copper" Then density = 0.323 ElseIf material = "Aluminum" Then density = 0.098 End If
Neste formato, o programa executa as declarações associadas com a primeira expressão condicional verdadeira achada. Então, o programa sai para a declaração seguindo a declaração Final Se. Utilize a declaração final Outro para interceptar erros que ocorrem quando são encontradas condições inesperadas que não coincidem com as condições anteriores SeouSe Outro.
Utilizar Se Outro elimina a necessidade de codificar várias declarações Final Se em uma estrutura Se. Para comparação, o exemplo anterior também pode ser escrito como:
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
Selecionar Caso é uma declaração poderosa com várias opções.
Por exemplo:
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
Neste formato, a declaração Selecionar Caso especifica uma expressão a ser testada. Cada cláusula Caso subsequente, especifica uma ou mais expressões para comparar à expressão de teste. A primeira cláusula Caso contendo uma expressão que corresponde à expressão de teste tem suas ações associadas executadas. Programar o controle, em seguida, ramos para a declaração seguindo a declaração Terminar de Selecionar. A cláusula final Outro caso intercepta erros que ocorrem quando um valor inesperado da expressão de teste não corresponde a lista de expressão em nenhuma das cláusulas Casos anteriores.
A expressão de teste seguindo Selecionar Caso pode ser uma expressão mais complexa, tal como:
Select Case radius +1 Select Case MinOfMany(x,y,z)
A lista de expressão em uma cláusula Caso pode seguir qualquer uma das formas a seguir:
Formato | Exemplos: |
---|---|
<expressão>[,>[,expressão,...] |
Caso 1, 10, 100
Caso “Y”, “y” |
<expressão> Para <expressão> |
Caso de 1 A 9
Caso “A” A “C” |
É<expressão relacional de operador> | Caso É >= 21 |
(combinação de qualquer um dos anteriores) | Caso É<= 5, 20 A 29, 43 |
Por exemplo:
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
A declaração Selecionar Caso não necessita de uma associação com uma determinada variável ou expressão. Pode ser utilizada para avaliar qualquer número de condições, utilizando o formato a seguir:
Select Case True Case length >= 10 width = length -1 thickness = length/5 Case length < 10 width = length - .75 thickness = length/6 End Select