Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

IF ... ENDIF

Propósito

Desviar o fluxo do programa dependendo de uma ou mais condições.

Sintaxe

IF <exp.L1>

  <comandos>

[ELSEIF <exp.L2>

  <comandos>]

[ELSE

  <comandos>]

ENDIF

Argumentos

<exp.L>

representa uma expressão de controle. Se seu valor é verdadeiro (.T.), todos os comandos seguintes são executados até um ELSEIF, ELSE ou ENDIF.

ELSEIF

determina que uma nova condição será testada, caso todas as expressões anteriores sejam falsas (.F.).

ELSE

determina os comandos que serão executados quando as condições do IF e de todos os ELSEIF sejam falsas (.F.).

ENDIF

determina o fim de um comando IF.

Utilização

Quando se pretende testar a veracidade de uma expressão e executar um conjunto de comandos a partir do resultado obtido nela.

O comando estruturado IF ... ENDIF funciona executando blocos de comandos a partir da primeira expressão que retorne verdade (.T.) .

ELSEIF e ELSE servem para simplificar agrupamentos de IF fazendo com que o fluxo de execução do programa seja alterado de acordo com o resultado das expressões testadas.

O uso deste comando eqüivale ao comando DO CASE ... ENDCASE.

Exemplo

O exemplo a seguir mostra-nos a utilização do comando IF com a cláusula ELSE que será executada caso o resultado retorne falso (.F.).

INPUT "1 + 2 e igual a ? " TO varnum

IF 1+2 = varnum

  ? "Ok você acertou "

  ?? " 1 + 2 e igual a "

  ? 3 BLINK

ELSE

  ? "Você errou 1 + 2 não e ",varnum

ENDIF

O exemplo a seguir mostra-nos a utilização do comando IF com as cláusulas ELSEIF e ELSE.

INPUT "Qual sua idade ? " TO idade

IF idade < 0 .or. idade > 100

? " Impossível "

ELSEIF idade >= 0 .and. idade <= 16

? "Você e um Adolescente"

ELSEIF idade >=17 .and. idade <= 35

? "Você e um Jovem"

ELSE

? "Você e um Adulto"

ENDIF

O exemplo a seguir mostra o exemplo anterior utilizando o comando DO CASE ... ENDCASE.

INPUT "Qual sua Idade ? " TO idade

DO CASE

  CASE idade < 0 .or. idade > 100

    ? " Impossível "

  CASE idade >= 0 .and. idade <= 16

    ? "Você e um Adolescente"

  CASE idade >=17 .and. idade <= 35

    ? "Você e um Jovem"

  OTHERWISE

    ? "Você e um Adulto"

ENDCASE

Consulte

DO CASE, DO WHILE, EXIT, FOR ... NEXT, FUNCTION, SET EXACT, CONF(), IIF(), VAL() e STR().

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!