IBM Lotus Symphony


Instrução For...Next [Tempo de Execução]

Repete as instruções entre o bloco For...Next um número de vezes especificado.

Sintaxe:

For counter=start To end [Step step]

bloco de instruções

[Exit For]

bloco de instruções

Next [counter]

Variáveis:

Counter: O contador de loop ao qual é atribuído inicialmente o valor à direita do sinal de igual (start). Somente as variáveis numéricas são válidas. O contador de loop é aumentado ou reduzido de acordo com a variável Step até que End seja transmitido.

Start: Variável numérica que define o valor inicial no início do loop.

End: A variável numérica que define o valor final no final do loop.

Step: Define o valor pelo qual o contador de loop será aumentado ou reduzido. Se Step não for especificado, o contador de loop será aumentado em 1. Nesse caso, End deverá ser maior que Start. Para reduzir o Contador, End deverá ser menor que Start e deve ser atribuído a Step um valor negativo.

O loop For...Next repete todas as instruções no loop pelo número de vezes especificado pelos parâmetros.

Conforme a variável do contador é reduzida, o Lotus® Symphony™ Basic verifica se o valor final foi atingido. Assim que o contador transmitir o valor final, o loop será finalizado automaticamente.

É possível aninhar as instruções For...Next. Se você não especificar uma variável seguindo a instrução Next, Next irá se referir automaticamente à instrução For mais recente.

Se você especificar um incremento de 0, as instruções entre For e Next serão repetidas continuamente.

Ao contar regressivamente a variável do contador, o Lotus Symphony Basic verifica o overflow ou o underflow. O loop é finalizado quando o Contador exceder End (valor de Step positivo) ou for menor que End (valor de Step negativo).

Use a instrução Exit For para encerrar o loop incondicionalmente. Essa instrução deve estar dentro de um loop For...Next. Use a instrução If...Then para testar a condição de saída como a seguir:

For...

instruções

If condition = True Then Exit For

instruções

Próxima

Nota: Nos loops For...Next aninhados, se você sair de um loop incondicionalmente com Exit For, sairá apenas de um loop.

Exemplo

O exemplo a seguir usa dois loops aninhados para classificar uma sequência com 10 elementos ( sEntry() ), que são preenchidos primeiro com vários conteúdos:

Sub ExampleSort

Dim sEntry(9) As String

Dim iCount As Integer

Dim iCount2 As Integer

Dim sTemp As String

sEntry(0) = "Jerry"

sEntry(1) = "Patty"

sEntry(2) = "Kurt"

sEntry(3) = "Thomas"

sEntry(4) = "Michael"

sEntry(5) = "David"

sEntry(6) = "Cathy"

sEntry(7) = "Susie"

sEntry(8) = "Edward"

sEntry(9) = "Christine"

For iCount = 0 To 9

For iCount2 = iCount + 1 To 9

If sEntry(iCount) > sEntry(iCount2) Then

sTemp = sEntry(iCount)

sEntry(iCount) = sEntry(iCount2)

sEntry(iCount2) = sTemp

End If

Next iCount2

Next iCount

For iCount = 0 To 9

Print sEntry(iCount)

Next iCount

End Sub


Feedback do Produto | Documentação Adicional | Marcas Registradas