4D v16.3

If...Else...End if

Página Inicial

 
4D v16.3
If...Else...End if

If...Else...End if  


 

 

A sintaxe formal da estrutura de controle de fluxo é:

 If(Expressão_Booleana)
    instrução(ções)
 Else
    instrução(ções)
 End if

Note que a parte Else é opcional, você pode escrever:

 If(Expressão_Booleana)
    instrução(ções)
 End if

A estrutura permite que o seu método escolha entre duas ações, dependendo se um teste (uma expressão booleana) é VERDADEIRA ou FALSA.

Quando a expressão booleana for TRUE, as declarações imediatamente após o teste são executadas. Se a expressão booleana é FALSA, as declarações após o Else são executadas. A instrução Else é opcional, se você omitir Else, a execução continua com a primeira instrução (se houver) depois do End if


Note que a expressão Booleana sempre é avaliada completamente. Considere em particular o teste abaixo:

 If(MethodA & MethodB)
    ...
 End if

A expressão é TRUE só se ambos métodos forem TRUE. Entretanto, mesmo se MethodA devolver FALSE, 4D 4D ainda assim avaliará MethodB, o que é uma perda inútil de tempo. Neste caso, é mais interessante utilizar uma estrutura como:

 If(MethodA)
    If(MethodB)
       ...
    End if
 End if

O resultado é similar e  MethodB será avaliado somente se for necessário.

Exemplo  

  ` Pede ao usuário que digite o nome
 $Encontrar:=Request(Digite un nome)
 If(OK=1)
    QUERY([Pessoas];[Pessoas]Sobrenome=$Encontrar)
 Else
    ALERT("Você não digitou um nome.")
 End if

Conselho: A condição pode ser realizada sem instruções a serem executadas em um caso ou outro. Ao desenvolver um algoritmo ou uma aplicação especializada, nada o impede de escrever:

 If(Expressão_Booleana)
 Else
    instrução(ções)
 End if

ou:

 If(Expressão_Booleana)
    instrução(ções)
 Else
 End if



Ver também 

Case of...Else...End case
Controle de fluxo
For...End for
Repeat...Until
While...End while

 
PROPRIEDADES 

Produto: 4D
Tema: Apresentação da linguagem

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)