<Índice> <1> <2> <3> <4> <5> <6> <7> <8> <9> <10> <11> <12> <13> <14> <15> <16> <17> <Pág. Princ.>

 

ESTRUTURAS E LOOPS

     Loops e estruturas permitem que um Código VB (ou de qualquer outra     linguagem) seja repetido várias vezes. Permitem também analisar dados e tomar decisões diferentes dependendo do resultado. Na verdade loops são criados por estruturas (as estruturas de loop).

Afinal, como é que eu faço para utilizar uma estrutura?

     Não é difícil; as estruturas são criadas através de alguns grupos de     comandos. A seguir listo e comento as estruturas disponíveis no VB.

     If... Then... Else...

     Isto, em bom português, quer dizer Se... Então... Senão... Eis um exemplo de como utilizá-la:

     If MinhaVariavel <= 4 Then
         Beep
     ElseIf MinhaVariavel = 5 Then
         Beep
         Beep
     Else
         Beep
         Beep
         Beep
     End If

     Neste exemplo, se a MinhaVariavel for menor ou igual (<=) a 4, então um beep será emitido. O "bloco" ElseIf (em verde) é opcional. Ele serve para dizer que se MinhaVariavel for igual a 5, algo será feito (no caso, dois beeps serão emitidos). Podem ser incluídos quantos ElseIf forem desejados, mas talvez seja melhor usar a estrutura Select Case (veja adiante) do que vários ElseIf. O bloco em azul (Else), também opcional, será executado somente se nenhum dos blocos anteriores (If e ElseIf) for executados. End If finaliza a estrutura.
 
     Select Case

     Vamos direto ao exemplo:

     Select Case MinhaVariavel
         Case 0
             Beep
         Case Is <= 5
             Beep
             Beep
         Case Else
             Beep
             Beep
             Beep
     End Select

     Esta estrutura, inicialmente, "seleciona" o valor de MinhaVariavel. Depois verifica vários casos (quantos forem desejados). Caso MinhaVariavel seja igual a 0, um beep será emitido. Caso seja menor ou igual a 5, teremos dois beeps. O bloco Case Else, que é opcional e está em azul, será executado somente caso nenhum dos blocos case     anteriores tenha sido executado. End Select finaliza a estrutura.

     Do... Loop

     Esta estrutura executa um certo grupo de comandos até (Until) ou enquanto (While) que uma certa condição é verdadeira. Por exemplo:

     Randomize Timer
     Contador = 0
     Do While MinhaVariavel <> 5  ‘Enquanto MinhaVariavel <>5
         Contador = Contador + 1
         Aleatório = Int (Rnd * 10)  ‘Sorteia número inteiro entre 0 e 9
         If Aleatório = 5 Then
             MinhaVariavel = 2
         End If
     Loop
     MsgBox Str(Contador)

     Aqui há algumas observações interessantes: a primeira é que é possível     colocar estruturas dentro de outras. Aqui, tivemos uma If... Then... dentro de uma Do... Loop. Isto é chamado de estruturas aninhadas.
      Quando o computador chega na linha  Do While... ele verifica se a     condição (MinhaVariavel <> 5 ) é verdadeira. Se for ele seguirá até encontrar o comando Loop. Aí ele volta à linha Do While... e o ciclo se repete enquanto a condição for verdadeira (quando for falsa, a execução segue na linha logo abaixo de Loop. Se tivéssemos usado Do Until ao invés de Do While, o loop seria executado até que a condição se tornasse verdadeira.
     Continuando a análise: as linhas em azul criam um número aleatório. Note que se este número for 5, MinhaVariavel receberá o valor de 2 (que é diferente de 5 - satisfaz a condição do loop; na próxima vez que a execução chegar no Do While, o loop será encerrado). A variável Contador, inicializada em 0, é acrescida de 1 a cada execução do loop. No final, uma caixa de mensagem (MsgBox) é exibida mostrando quantas vezes o loop precisou ser executado.
     Lembre-se que para testar este exemplo é preciso colocar o Código no     Evento de algum objeto (como no Click de um botão).
     Mais uma coisinha: dentro de uma estrutura Do... Loop pode ser colocado o comando Exit Do. Quando um Exit Do for encontrado, a execução automaticamente vai para a linha logo a seguir do Loop, independentemente da condição estar falsa ou verdadeira.
     For... Next

     A estrutura For... Next é ideal para realizar tarefas repetitivas. Que tal somar todos os números pares de 50 a 100 (50+52+54+...+100)?

     For Cont = 50 To 100 Step 2
         Soma = Soma + Cont
     Next Cont
     MsgBox Str(Soma)

     Não é difícil entender este programinha: O laço (laço é o mesmo que loop) iniciado pelo For utiliza uma variável (que eu chamei de Cont) que inicia em 50. Quando a execução chega no Next, volta à linha For... Ali, Cont será incrementado de 2 ("Step x" identifica de quanto será o incremento. A ausência do Step x é equivalente a Step 1). Quando Cont passar de 100 e a execução chegar à linha For Cont..., a    execução continua a partir da linha logo após o Next Cont. É possível sair do loop antes que a variável contador chegue ao valor planejado. Basta que o computador veja o comando Exit For.
     Bem, basicamente é só isso.
     Na verdade existem outras estrutura.

     OBSERVAÇÃO
     Conhecendo o uso básico de objetos, o uso básico de variáveis as  estruturas do VB e os níveis do programa, você já estará pronto para fazer programas bem bonitinhos. Como já disse antes, não pretendo analisar cada detalhe, cada controle do VB.
 
     Tentar, errar, corrigir, errar de novo, corrigir de novo. Fazer  programinhas simples, depois alguns mais complexos. Abrir exemplos e alterar. É assim que se chega lá.