|
Clube
VB - Estruturas
de Repetição
Aula
14
Um
dos procedimentos mais comuns em sistemas comerciais é a repetição
por um determinado número de vezes de um grupo de comandos, ou seja,
uma estrutura de repetição. Para tais situações, o VB oferece comandos
próprios. Iremos começar neste módulo o estudo destes comandos.
As
estruturas de repetição também são conhecidas como Loops.
O
loop mais comum na maioria das linguagens de programação é o For...Next.
Este tipo de Loop é utilizado para criar um contador de forma automática
e, a cada vez que o contador é incrementado, os comandos que estão
dentro deste Loop são novamente executados. A seguir veja a sintaxe
deste comando:
For
Contador = número_inicial to número_final
..... lista
de comandos
Next
Para
melhor exemplificar este comando, vamos a seguir gerar um projeto
de exemplo com esta finalidade. O projeto terá duas caixas de edição,
sendo que a primeira irá representar o número inicial da contagem
e a segunda o número final da contagem e a cada número incrementado,
este será apresentado dentro de um ListBox. Veja a seguir passo
a passo a nossa aplicação:
2
Labels;
2 TextBox;
1 ListBox;
2 CommandButton.
| Componente |
Propriedade/Valor |
| Label1 |
Caption
= Número inicial |
| Label2 |
Caption
= Número final |
| Command1 |
Caption
= Inicia contagem |
| Text1 |
Text
= apague o conteúdo desta propriedade |
| Text2 |
Text
= apague o conteúdo desta propriedade |

-
Quando
o usuário for utilizar o sistema, ele irá entrar com um valor
para o número inicial da contagem e um valor para o número final
da contagem. Após clicar no botão "inicia contagem",
o sistema irá gerar um Loop, de x (número inicial) até y (número
final) e, a cada número da contagem, este será acrescentado
ao ListBox. Para tal procedimento, iremos entrar com a seguinte
codificação para o botão "Inicia Contagem":
Private
Sub Command1_Click()
numi = Val(Text1.Text)
numf = Val(Text2.Text)
For contador = numi To numf
List1.AddItem (Str(contador))
Next
End Sub
-
Observe
que, o primeiro passo foi armazenar nas variáveis NUMI e NUMF
o conteúdo digitado nas caixas Text1 e Text2, porém este conteúdo
foi transformado em valor numérico através da função VAL. Em
seguida, criamos um contador (loop), que irá contar de NUMI
(número inicial) até NUMF (número final), armazenando esta contagem
na variável contador e, a cada número contado, o único comando
existente entre o FOR e o NEXT será executado, ou seja, no listbox
(LIST1), iremos adicionar um item (additem) que é o valor da
variável contador (que faz parte do loop), transformada em String,
através da função STR.
-
Para
o botão Finaliza, basta acrescentar o comando END, conforme
podemos observar na listagem a seguir:
Private
Sub Command2_Click()
End
End Sub
Agora,
execute o projeto e, insira dois números (inicial e final) e veja
o resultado após clicar no respectivo botão. No exemplo abaixo,
preenchemos como número inicial 3 e número final 6. Observe o resultado:

Agora,
execute novamente o projeto, inserindo em número inicial um número
menor do que em número final e observe o resultado. Você verá que
nada foi acrescentado ao ListBox, porque da forma como o For...Next
foi construído, a contagem será realizada em de forma crescente,
ou seja, sempre de um número menor para um número maior. Mas e se
fosse necessário a contagem de um número maior para um número menor,
com incrementos de -1 unidade. Sendo assim, teríamos que acrescentar
o comando STEP e após este o incremento, que neste caso seria -1.
Veja como ficaria a codificação deste botão neste caso:
Private
Sub Command1_Click()
numi = Val(Text1.Text)
numf = Val(Text2.Text)
For contador = numi To numf Step -1
List1.AddItem (Str(contador))
Next
End Sub
Ok,
aprendemos a gerar contadores de forma crescente e decrescente.
Mas você deve estar perguntando: como fazer para que o sistema verifique
de forma automática se a contagem será progressiva ou regressiva?
Esta
resposta será fornecida em nossa próxima aula. Salve o projeto para
que possamos realizar esta alteração no módulo 15.
Voltar
Principal
| Cursos Gratuitos
| Cursos Diversos
| Dicas
| Promoções
| Mapa do
Site | QUIZ
|
|
Classificados | Central
Currículo | Fórum
| Fale Conosco |