IBM Lotus Symphony
|
Repete as instruções entre o bloco For...Next um número especificado de vezes.
For counter=start To end [Step step]
bloco de instruções
[Exit For]
bloco de instruções
Next [counter]
Counter: Contador de ciclos atribuiu inicialmente o valor à direita do sinal de igual (start). Só são válidas as variáveis numéricas. O contador de ciclos aumenta ou diminui de acordo com a variável Step até que End seja transferido.
Start: Variável numérica que define o valor inicial no início do ciclo.
End: Variável numérica que define o valor final no final do ciclo.
Step: Define o valor referência para aumentar ou diminuir o contador de ciclos. Se Step não for especificado, o contador de ciclos é incrementado por 1. Neste caso, End terá de ser maior do que Start. Se pretender diminuir Counter, End terá de ser menor do que Start e Step terá de receber um valor negativo.
O ciclo For...Next repete todas as instruções no ciclo durante o número de vezes especificado pelos parâmetros.
À medida que a variável do contador diminui, o Lotus® Symphony™ Basic verifica se o valor final foi alcançado. Assim que o contador ultrapassa o valor final, o ciclo termina automaticamente.
É possível imbricar instruções For...Next. Se não especificar uma variável a seguir à instrução Next, Next consulta automaticamente a instrução For mais recente.
Se especificar um incremento de 0, as instruções entre For e Next repetem-se continuamente.
Ao contar a variável do contador, o Lotus Symphony Basic verifica se não ocorre um excesso ou um volume insuficiente da capacidade. O ciclo termina quando o Contador excede End (valor Step positivo) ou é menor que End (valor Step negativo).
Utilize a instrução Exit For para terminar o ciclo incondicionalmente. Esta instrução terá de estar num ciclo For...Next. Utilize a instrução If...Then para testar a condição de fim da seguinte forma:
For...
instruções
If condition = True Then Exit For
instruções
Seguinte
Nota: Em ciclos imbricados For...Next, se sair de um ciclo incondicionalmente com Exit For, apenas é terminado um ciclo.
O seguinte exemplo utiliza dois ciclos imbricados para ordenar uma matriz em cadeia com 10 elementos ( sEntry() ), que são primeiro preenchidos com diversos 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