Pesquisar este blog

segunda-feira, 28 de outubro de 2013

FUNÇÃO E INSTRUÇÃO DE CONTROLE DO FLUXO DE EXECUÇÃO - FOR...NEXT

For...Next



    Instrução empregada para repetir um grupo de instruções por um número definido de vezes, utilizando esta sintaxe:

For Contador = Inicio To Fim [Step Passo]
       [Instruções]
  [Exit For]
       [Instruções]
Next [Contador]

Onde,
  • Contador: argumento obrigatório, indicando uma variável numérica, empregada como contador do número de vezes que o laço é executado;
  • Início: argumento obrigatório, define o valor inicial da variável Contador;
  • Fim: argumento obrigatório, define o valor final da variável Contador;
  • Step: argumento obrigatório, define a quantidade com que o Contador será alterado a cada passada do laço For...Next, podendo ser um número positivo ou negativo (contando-se para trás);
  • Instruções: grupo de instruções a serem executadas pelo laço For...Next;
  • Next: define o ponto de término da estrutura de laço.
As seguintes considerações são válidas para a instrução For...Next:
  • Normalmente, o valor do argumento Início deve ser maior que o argumento Fim, indicando que o laço será executado o número de vezes determinado pela expressão Fim – Início;
  • Se Início for menor do que Fim, o laço não será executado nem uma única vez, a menos que você defina o valor de Passo para um número negativo, fazendo com que a contagem do laço seja processada de trás para frente;
  • Passo pode ser qualquer valor de Contador até que Início seja maior que Fim (para Passo > 0) ou Início seja menor que Fim (para Passo < 0);
  • Evite alterar o valor de Contador dentro do laço For...Next, pois você poderá ter resultados imprevisíveis em seu código;
  • Você pode terminar abruptamente uma instrução For...Next utilizando uma ou mais instruções Exit For no interior do laço;
  • Quando o laço terminar ou quando for encontrada uma instrução Exit For, o controle do código será definido para a instrução subseqüente à instrução Next Contador;
  • Você pode aninhar instruções For...Next, uma dentro da outra, desde que cada laço For...Next possua um contador exclusivo. Esta operação é normalmente empregada para percorrer matrizes de dados linha a linha ou coluna a coluna;
  • Para percorrer todos os elementos de uma matriz ou coleção, é mais fácil empregar uma instrução For Each...Next, pois ela não exige a definição dos argumentos Início e Fim para contagem.
Exemplo: O exemplo a seguir emprega um laço For...Next para percorrer todos os controles de um formulário e tornar visível/invisível , aqueles cuja prosperidade Tag tenha sido definida para “-1” no modo Estrutura do formulário.

Public Sub ExibeCtls(fExibe as boolean)
   Dim intl as Integer
   For intl = 0 to Me.Controls.Count – 1
                If Me.Controls(intl).Tag = “-1” Then
                    Me.Controls(intl).Visible = fExibe   
                End If
   Next
End Sub

Até a Próxima!!

Nenhum comentário:

Postar um comentário