Declarações condicionais no iLogic

É 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.

Declaração If-Then-Else no iLogic

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.

Declaração If-Then no iLogic

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

Conjuntos nulos ou vazios de ações no iLogic

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

Uso da declaração If como declaração de linha única

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

Uso de variáveis booleanas em expressões condicionais

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.

Estrutura de caso em declarações condicionais no iLogic

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.

Declaração If de bloco estendido (If-Then-ElseIf) no iLogic

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

Declaração Seleção de caso no iLogic

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