Instrução For...Next

Repete as instruções contidas no bloco For...Next um número especificado 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 do ciclo contador é inicialmente atribuído ao valor à direita do sinal de igual (início). Apenas são válidas variáveis numéricas. O contador do ciclo aumenta ou diminui de acordo com a variável passo até que fim seja ultrapassado.

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 pelo qual o contador do ciclo deve ser aumentado ou diminuído. Se step não for especificado, o contador do ciclo é incrementado em 1. Neste caso, end deve ser maior do que start. Se pretender diminuir counter, end deve ser menor do que start e deve ser atribuído um valor negativo a step.

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 counter vai diminuindo, o LibreOffice Basic verifica se o valor end foi atingido. Assim que o counter ultrapassar o valor end, 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 fazer a contagem decrescente da variável contador, o LibreOffice Basic verifica se há overflow ou underflow. O ciclo termina quando contador excede end (valor positivo de Step) ou é inferior a end (valor negativo de Step).

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 como se segue:


  For...
      bloco de instruções
      If condition = True Then Exit For
      bloco de instruções
  Next
Ícone de nota

Em loops For...Next aninhados, se sair de um loop incondicionalmente com Exit For, apenas um loop é abandonado.


Exemplos

Exemplos


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

Isto analisa o conteúdo de um array para apresentar cada elemento que este contém.


  Sub list_iteration
      talheres = Array("garfo", "faca", "colher")
      Para cada peça de talheres
          Imprimir item
      Próximo « item
  Fim do Sub
Necessitamos da sua ajuda!

Necessitamos da sua ajuda!