Instrução For...Next

Repete as instruções entre os blocos For...Next num determinado número de vezes.

Sintaxe:

Diagrama da instrução For


For counter=start To end [Step step]
    bloco de instruções
    [Exit For]
    bloco de instruções
Next [counter]

Diagrama da instrução For Each


  For Each item In list
      bloco de instruções
  [Exit For]
      bloco de instruções
  Next [item]

Variáveis:

contador: o contador de repetições com valor inicial atribuído à direita do sinal de igual (início). Somente variáveis numéricas são válidas. O contador de repetições aumentará ou diminuirá de acordo com a variável passo até que o valor fim é atingido.

início: variável numérica que define o valor no início da repetição.

fim: variável numérica que define o valor no fim do repetição.

passo: Define o valor pelo qual se incrementa ou decrementa o contador de iteração. Se passo não for definido, o contador é incrementado de 1. Neste caso, fim deve ser maior que início. Se desejar diminuir contador, fim deve ser menor que início, e passo deve ser um valor negativo.

O comando For...Next repete todas as instruções de acordo com o número de vezes especificado pelos parâmetros.

Quando a variável contador é decrementada, o LibreOffice Basic verifica se o valor de fim foi alcançado. Assim que contador ultrapassa o valor fim, o ciclo encerra automaticamente.

É possível aninhar 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 você especificar um incremento 0, as instruções entre For e Next serão repetidas continuamente.

Ao decrementar a variável contadora, o LibreOffice Basic verifica se há overflow ou underflow. O laço termina quando contador ultrapassa fim (valor de passo positivo) ou é menor que fim (valor de passo negativo).

Use a instrução Exit For para encerrar a repetição incondicionalmente. Essa instrução deve estar contida no comando For...Next. Use a instrução If...Then para testar a condição de saída da seguinte forma:


  For...
      bloco de instruções
      If condition = True Then Exit For
      bloco de instruções
  Next
note

Nos comandos For...Next aninhados, se você sair de uma repetição incondicionalmente com Exit For, somente o nível atual de interação será encerrado.


Exemplos

O exemplo a seguir usa duas repetições aninhadas para ordenar um vetor de cadeia de caracteres com 10 elementos ( sEntry() ), que primeiro são preenchidos com diversos conteúdos:


Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer, iCount2 As Integer
Dim sTemp As String
    sEntry = Array("Jerry","Patty","Kurt","Thomas","Michael",_
                 "David","Cathy","Susie","Edward","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

Isso explora o conteúdo do vetor ao exibir cada item contido.


  Sub iteracao_lista
      cutlery = Array("garfo", "faca", "colher")
      For Each item in cutlery
          Print item
      Next ' item
  End Sub

♥ Doe para nosso projeto! ♥