Como adicionar seu conhecimento

Declarações condicionais

    Conteúdo
    No headers

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

    Como é que uma declaração If-Then-Else funciona?

    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.

    Como é que uma declaração If-Then funciona?

    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

    Como faço para utilizar conjuntos nulos ou vazios?

    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

    Como posso utilizar uma declaração Se como uma afirmação de uma única linha?

    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

    Como utilizo variáveis booleanos 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.

    Qual é a estrutura da caixa?

    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.

    O que é uma declaração If de bloco estendido (If-Then-ElseIf)

    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

    Como posso utilizar uma declaração Selecionar caixa?

    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

    Procedimentos

    Declarações condicionais

    Execute ações alternativas para as condições de verdadeiro ou falso

    1. Posicione o cursor na localização desejada na área de regras de texto da caixa de diálogo Editar regra.
    2. Selecione If...Then...EndIf da lista suspensa na barra de ferramentas.
    3. Substituir My_expression com a primeira expressão a ser avaliada.
    4. Insira a ação a ser executada se a condição for verdadeira, na linha entre a declaração If-Then e a declaração EndIf.
    5. Deixe seu cursor no final da ação que acabou de inserir, e selecione Else da lista suspensa.
    6. Insira a ação a ser executada se a condição for falsa, na linha entre a declaração Else e a declaração EndIf.

    Quando insere as ações para executar, é possível utilizar as opções na área de trechos para inserir uma função na localização do cursor. A seguir, é possível adicionar os argumentos apropriados para a função.

    ObservaçãoTambém é possível inserir qualquer texto descrito nestas etapas manualmente, no entanto, utilizar a lista suspensa e os trechos pode reduzir erros.

    Execute uma ação somente se uma condição for verdadeira

    1. Posicione o cursor na localização desejada na área de regras de texto da caixa de diálogo Editar regra.
    2. Selecione If...Then...EndIf da lista suspensa na barra de ferramentas.
    3. Substituir My_expression com a expressão para avaliar.
    4. Insira a ação a ser executada se a condição for verdadeira, na linha entre a declaração If-Then e a declaração EndIf.

    Quando inserir a ação a ser executada, utilize as opções na área de trechos para inserir uma função na localização do cursor. A seguir, é possível adicionar os argumentos apropriados para a função.

    ObservaçãoTambém é possível inserir qualquer texto descrito nestas etapas manualmente, no entanto, utilizar a lista suspensa e os trechos pode reduzir erros.

    Executar nenhuma ação para uma condição

    1. Posicione o cursor na localização desejada na área de regras de texto da caixa de diálogo Editar regra.
    2. Selecione If...Then...EndIf da lista suspensa na barra de ferramentas.
    3. Posicione o cursor entre as duas linhas inseridas e selecione Else da lista suspensa.
    4. Substituir My_expression com a expressão para avaliar.
    5. <recomendado> Insira um comando, como faça nada, para substituir o que normalmente seria uma ação na declaração.
      • Insira o comentário no final da declaração If-Then para realizar nenhuma ação se a condição for verdadeira.
      • Insira o comentário após a declaração Else para realizar nenhuma ação se a condição for falsa.
    6. Insira a ação a ser executada para as condições verdadeiro ou falso, dependendo em qual condição é para inserir a ação.

    Quando inserir a ação a ser executada, utilize as opções na área de trechos para inserir uma função na localização do cursor. A seguir, é possível adicionar os argumentos apropriados para a função.

    ObservaçãoTambém é possível inserir qualquer texto descrito nestas etapas manualmente, no entanto, utilizar a lista suspensa e os trechos pode reduzir erros.

    Execute ações alternativas para mais de duas ações

    1. Posicione o cursor na localização desejada na área de regras de texto da caixa de diálogo Editar regra.
    2. Selecione If...Then...EndIf da lista suspensa na barra de ferramentas.
    3. Substituir My_expression com a primeira expressão a ser avaliada.
    4. Insira a ação a ser executada para a condição entre as duas linhas.
    5. Com o cursor no final da ação que acabou de inserir, selecione ElseIf...Then da lista suspensa e substitua My_expression com a próxima expressão a ser avaliada.
    6. Insira a ação a ser executada para esta condição, na linha em branco abaixo da condição.
    7. Repita as duas etapas anteriores quantas vezes for necessário para acomodar as condições restantes.

    Quando inserir as ações a serem executadas, utilize as opções na área de trechos para inserir uma função na localização do cursor. A seguir, é possível adicionar os argumentos apropriados para a função.

    ObservaçãoTambém é possível inserir qualquer texto descrito nestas etapas manualmente, no entanto, utilizar a lista suspensa e os trechos pode reduzir erros.

    Execute ações alternativas com base na comparação com o caso de teste

    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
    1. Posicione o cursor na localização desejada na área de regras de texto da caixa de diálogo Editar regra.
    2. Selecione Selecionar caixa da lista suspensa palavras-chave na barra de ferramenta.
    3. Adicione um espaço no final da declaração inserida, e a seguir, insira a expressão de teste.
    4. Pressione Inserir, e selecione Caixa da lista suspensa Palavras-chave na barra de ferramentas.
    5. Adicione um espaço no final da declaração inserida, e a seguir insira a primeira declaração para comparar com a expressão de teste.
    6. Insira a ação a ser executada para esta condição, na linha em branco abaixo da expressão.
    7. Repita as duas etapas anteriores quantas vezes for necessário para acomodar cada expressão.
    8. Posicione o cursor em uma linha em branco abaixo da última expressão e selecione Caixa Else do menu de palavras-chave.
    9. na linha em branco abaixo da declaração inserida, insira a cláusula Caixa final para interceptar resultados inesperados, e pressione Inserir.
    10. Posicione o cursor em uma linha em branco abaixo da última expressão e selecione Seleção final do menu de palavras-chave.

    Quando inserir as ações a serem executadas, utilize as opções na área de trechos para inserir uma função na localização do cursor. A seguir, é possível adicionar os argumentos apropriados para a função.

    ObservaçãoTambém é possível inserir qualquer texto descrito nestas etapas manualmente, no entanto, utilizar a lista suspensa e os trechos pode reduzir erros.

    Referências

    Declarações condicionais

    formato If-Then-Else

    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

    formato If-Then

    If <conditional expression> Then<one or more statements to be executed if condition is true>End If

    formato Nulo

    If <conditional expression> Then ‘do nothingElse <one or more statements to be executed if condition is false>End If

    declaração If como linha única

    If <conditional expression> Then <true statement> [Else <false statement>]

    Bloco estendido de formato If (If-Then-ElseIf)

    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

    formato Selecione caixa

    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