IBM Lotus Symphony
|
Repete as instruções entre o bloco For...Next um número de vezes especificado.
For counter=start To end [Step step]
bloco de instruções
[Exit For]
bloco de instruções
Next [counter]
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.
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