Pessoal! Segue mais uma atualização do nosso curso.
7.2. Estrutura DO WHILE/UNTIL - LOOP e seus desmembramentos
7.2. Estrutura DO WHILE/UNTIL - LOOP e seus desmembramentos
Esta estrutura, ao contrário do FOR-NEXT é dinâmica. Neste caso, temos a possibilidade de executar o LAÇO quantas vezes for necessário.
Nesta nova estrutura que estudaremos, a repetição acontecerá até que a condição exigida seja atendida. Este tipo de LOOP é simplesmente fantástico, já que automaticamente, ele fará o que for preciso para cumprir seu objetivo de forma inteligente e autônoma. Por outro lado, precisamos ter alguns cuidados ao criá-la, pois, caso a condição não seja satisfeita durante a execução, teremos o famoso LOOP INFINITO.
Não se preocupe com os desmembramentos! A decisão de qual formatação usar é algo que só poderá ser definida quando você estiver desenvolvendo seus aplicativos. Garanto que será intuitivo.
7.2.1. DO WHILE – LOOP
Suponha que você queira criar um pequeno sistema que seja executado até que um comando específico possa finalizá-lo.
Vamos criar um algoritmo super simples. Seu objetivo será apenas finalizar o LAÇO para que o sistema não trave. O código verificará o que será digitado na InputBox. Enquanto você digitar algo diferente (< >) de FIM(com letra maiúscula) o LOOP continuará a ser executado. Neste código, estamos dando uma solução ao problema, ou seja, digite FIM e o LAÇO será quebrado.
CÓDIGO PARA COPIAR
Sub FinalizaDoWhile()
'Vamos declarar a variável que receberá a palavra. Se você quiser armazenar uma palavra em uma variável, ela deve ser
'declarada como String, do contrário o sistema acusará erro.
Dim Finaliza As String
'Inicializamos a variável com qualquer palavra para forçar o loop. Não entendeu? É simples, como disse, o LOOP será executado
'enquanto a palavra FIM não for digitada. Então, se colocamos inicialmente a palavra INÍCIO dentro da variável
'o DO WHILE vai dizer "Não é a mamããããe!!!!" e não será desativado.
Finaliza = "inicio"
'Quando o código começar a ser executado a variável finaliza terá dentro de sí a palavra INÍCIO(entenda! Quando você clica em
'F5 para ativar o código, ele será executado da esquerda para a direita, de cima para baixo). Então, quando chegarmos no LOOP
'(DO WHILE) ele dirá, INICIO é diferente de FIM. Vou rodar novamente!
'Acredite! este LOOP é teimoso feito mula. Enquanto não digitar FIM(em letra maiúscula) ele não irá parar.
Do While Finaliza <> "FIM"
Finaliza = InputBox("Digite a palavra FIM para finalizar o LOOP", "EXEMPLO DO WHILE - LOOP")
'Esta mensagem será sempre que você digitar na InputBox, exatamente por que está abaixo. Logo mesmo que você digite FIM,
'ele será executado mais uma vez. Podemos resolver isto, porém, precisariamos mesclar LOOPS com Estruturas de Repetição.
'Não se preocupe com isto agora, vamos deixar isto para os capitulos que virão. Por ora, entenda este raciocício.
MsgBox "Você não digitou a palavra FIM! Prestenção sô!!!"
Loop
End Sub
Para acessar o curso completo Clique aqui
Nenhum comentário:
Postar um comentário