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á.