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

FOR ... NEXT

Propósito

Repetir um bloco de comandos um certo número de vezes.

Sintaxe

FOR <var.N> = <exp.N1> TO <exp.N2> [STEP <exp.N3>]

<comandos>

[LOOP]

<comandos>

[EXIT]

<comandos>

NEXT

Argumentos

<var.N>

representa uma variável de controle para o laço.

<exp.N1>

representa o valor inicial para variável de controle.

<exp.N2>

representa o valor final para variável de controle.

STEP

determina o incremento ou o decremento da variável de controle segundo o valor de <exp.N3>.

LOOP

determina que a seqüência de execução retornará ao início do laço (comando FOR).

EXIT

determina o encerramento forçado do laço.

Utilização

Quando há necessidade de se repetir um conjunto de comandos um número específico de vezes, de acordo com uma variável de controle .

Por DEFAULT, o contador é incrementado de um, a cada passagem pelo comando FOR, mas pode-se alterar este incremento utilizando-se a cláusula STEP. Quando a variável de controle atingir valor igual ao limite (<exp.N2>) o LOOP é terminado. Caso a variável de controle não se iguale ao limite, o laço termina um valor antes.

Caso <var.N> não exista, é criada automaticamente e incrementada, podendo servir de contador.

Exemplo

O exemplo a seguir exibe todos os números de 0 a 100.

FOR var_num = 0 TO 100

  ? var_num         && Exibe um numero em cada linha.

NEXT

O exemplo a seguir exibe todos os números pares entre 100 e 0 utilizando a cláusula STEP.

** Decrementa de 2 o valor de num.

FOR var_num = 100 TO 0 STEP -2

** Exibe um numero em cada linha.

  ? var_num

NEXT

O exemplo a seguir exibe todos os números pares entre 100 e 0 utilizando a cláusula LOOP.

FOR var_num = 100 TO 0 STEP -1

  IF var_num % 2 # 0     && Verifica se num não é múltiplo de 2 

    LOOP        && Devolve o controle ao comando FOR

  ENDIF

  ? var_num         && Exibe um numero em cada linha

NEXT

O exemplo a seguir mostra um laço infinito (LOOP fechado)

FOR var_num = 1 TO 10 STEP 2     && var_num nunca será igual a 10

  ? var_num    && Exibe numero em cada linha

NEXT

Consulte

DECR, DO WHILE, EXIT, INCR, LOOP, QUIT, STORE, CHR( ) e VAL( ).

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