Curso Básico de ASP 3.0 – Módulo 02 – Lição 07
Nota: Esta lição faz parte do curso “Criando Sites Dinâmicos com ASP 3.0”. Você pode adquirir o conteúdo completo deste curso, com 732 páginas de conteúdo, no formato de arquivo .PDF, por apenas R$ 20,00 para o envio via download ou R$ 30,00 para o envio via CD. Para maiores detalhes sobre como adquirir o arquivo .PDF, com todo o conteúdo do Curso: Criando Sites Dinâmicos com ASP 3.0, para ter acesso ao conteúdo completo do curso, com permissão de impressão, sem estar conectado à Internet, Clique aqui.
Estruturas para controle de fluxo em VBScript
Para que possamos criar aplicações e páginas Web, com utilidade prática, aplicadas na solução de problemas reais, precisamos poder controlar o fluxo de execução do código de um script. No VBScript, temos diversas “estruturas” que permitem um controle bastante eficaz do fluxo de execução. A partir desta lição estudaremos diversas destas estruturas.
Estruturas de decisão
Em um primeiro grupo, temos as chamadas estruturas de decisão. São estruturas que realizam um teste lógico, e executam determinados comandos quando o teste resultar verdadeiro, ou um conjunto diferente de comandos, quando o teste resultar falso. Agora passaremos a analisar as estruturas de decisão, disponíveis no VBScript.
A estrutura If ... Then
A estrutura If...Then, é uma das estruturas de decisão mais conhecidas. Toda linguagem de programação implementa esta estrutura. É utilizada para executar determinados comandos, caso uma condição seja verdadeira. A forma geral desta estrutura é a seguinte:
If condição Then
Comandos a serem executados, caso a condição seja verdadeira.
End IF
Uma condição é testada, caso a condição seja verdadeira, um ou mais comandos podem ser executados. Considere o exemplo da Listagem 2.19:
Listagem 2.19 – Um exemplo simples da estrutura If...Then
1 <SCRIPT LANGUAGE=vbscript>
2 <!--
3 Dim x, y
4 x = 10
5 y = 15
6 If x<y Then
7 MsgBox “x é menor do que y”
8 End If
9 -->
10 </SCRIPT>
Neste exemplo, a mensagem “x é menor do que y”, será exibida, uma vez que o teste x<y é verdadeiro, conforme podemos constatar pelos valores atribuídos as variáveis x e y.
A estrutura If ... Then...Else
A estrutura If...Then...Else, acrescenta mais uma possibilidade a estrutura If...Then. É utilizada para executar determinados comandos, caso uma condição seja verdadeira, ou um conjunto diferente de comandos, caso a condição seja falsa. A forma geral desta estrutura é a seguinte:
If condição Then
Comandos a serem executados, caso a condição seja verdadeira.
Else
Comandos a serem executados, caso a condição seja falsa.
End IF.
Uma condição é testada, caso a condição seja verdadeira, um determinado comando, ou conjunto de comandos será executado; caso a condição seja falsa, um outro comando, ou conjunto de comandos diferentes, será executado. Considere o exemplo da Listagem 2.20:
Listagem 2.20 – Um exemplo simples da estrutura If...Then...Else
1 <SCRIPT LANGUAGE=vbscript>
2 <!--
3 Dim x, y
4 x = 15
5 y = 10
6 If x<y Then
MsgBox “x é menor do que y”
8 Else
9 MsgBox “x é maior do que y”
10 End If
11 -->
12 </SCRIPT>
Neste exemplo, a mensagem “x é maior do que y”, será exibida, uma vez que o teste x<y é falso, conforme podemos constatar pelos valores atribuídos as variáveis x e y.
A estrutura If ... Then...ElseIf...Else
A estrutura If...Then...ElseIf, nos dá uma poder maior, para testarmos diversas possibilidades. É utilizada quando precisamos realizar mais do que um teste lógico. Neste caso, para cada novo teste que se faça necessário, utilizamos um ElseIf. A forma geral desta estrutura é a seguinte:
If condição1 Then
Comandos a serem executados, caso a condição seja verdadeira.
ElseIf condição-2
Comandos a serem executados, caso a condição2 seja verdadeira.
ElseIf condição-3
Comandos a serem executados, caso a condição3 seja verdadeira.
...
ElseIf condição-n
Comandos a serem executados, caso a condição n seja verdadeira.
Else
Comandos a serem executados, caso nenhuma das condições anteriores
seja verdadeira.
End IF.
Uma condição é testada, caso a condição seja verdadeira, um determinado comando, ou conjunto de comandos será executado; caso a condição seja falsa, podemos fazer um segundo teste (condição-2). Caso a segunda condição seja verdadeira, um determinado comando, ou conjunto de comandos será executado, a assim por diante, para n condições. Caso nenhuma das condições seja verdadeira, os comandos após a cláusula Else, serão executados. Considere o exemplo da Listagem 2.21:
Listagem 2.21 – Um exemplo simples da estrutura If...Then...ElseIf...Else
1 <SCRIPT LANGUAGE=vbscript>
2 <!--
3 Dim x, y
4 Dim z, k
5 Dim w, p
6 x = 35
7 y = 30
8 z = 25
9 k = 20
10 w = 15
11 p = 10
12 If x<y Then
13 MsgBox “x é menor do que y”
14 ElseIf x<z Then
15 MsgBox “x é menor do que z”
16 ElseIf x<k Then
17 MsgBox “x é menor do que 4”
18 ElseIf x<w Then
19 MsgBox “x é menor do que w”
20 ElseIf x<p Then
21 MsgBox “x é menor do que p”
22 Else
23 MsgBox “x é o maior dos números”
24 End If
25 -->
26 </SCRIPT>
Neste exemplo, a mensagem “x é maior dos números”, será exibida, uma vez que todos os testes falham (pois x é o maior número), é executado o comando da linha 23, logo abaixo do Else.
Mas o que acontece, quando um dos ElseIf é verdadeiro?
Os teste vão sendo feitos. Quando o teste de um dos ElseIf for verdadeiro, os comandos abaixo do ElseIf verdadeiro, serão executados e o laço será encerrado. Em resumo, quando um dos ElseIf apresentar um teste verdadeiro, os comandos relacionados serão executados, e os demais não serão avaliados, seguindo a execução para o primeiro comando, após o End If.
A estrutura Select...Case
Quando precisamos realizar uma série de testes, é mais eficiente utilizarmos uma estrutura Select...Case, do que utilizarmos uma série de testes utilizando a estrutura If...Then...ElseIf.
O funcionamento da estrutura Select...Case, é bastante intuitivo. Considere o exemplo da Listagem 2.22:
Listagem 2.22 – Um exemplo simples da estrutura Select...Case.
1 <SCRIPT LANGUAGE=vbscript>
2 <!--
3 Dim x
4 x=10
5 Select Case x
6 Case 2
7 MsgBox “X vale 2 !”
8 Case 4
9 MsgBox “X vale 4 !”
10 Case 6
11 MsgBox “X vale 6 !”
12 Case 8
13 MsgBox “X vale 8 !”
14 Case 10
15 MsgBox “X vale 10 !”
16 Case Else
17 MsgBox “X não é um número par, menor do que 12 ”
18 End Select
19 -->
20 </SCRIPT>
A estrutura Select Case x, vai testar o valor de x. Em cada um dos Case, o valor de x é testado. Quando for encontrado um valor coincidente com o de x, os comandos abaixo deste Case serão executados. No nosso exemplo, o comando MsgBox “X vale 10 !”, abaixo de Case 10, será executado. O comando abaixo do Case Else somente será executado, se todos os testes anteriores falharem.
O uso da estrutura Select...Case, torna o código mais eficiente e de mais fácil leitura.
Conclusão
Nesta lição você aprendeu a utilizar estruturas de decisão básicas, tais como If...Then, If...Then...Else, If...Then...ElseIf...Else e Select...Case. Estas estruturas permitem o controle do fluxo de execução do código VBSCript. Com isso podemos criar páginas ASP capazes de solucionar problemas práticos.
Nota: Esta lição faz parte do curso “Criando Sites Dinâmicos com ASP 3.0”. Você pode adquirir o conteúdo completo deste curso, com 732 páginas de conteúdo, por apenas R$ 20,00 para o envio via download ou R$ 30,00 para o envio via CD. Para maiores detalhes sobre como adquirir o arquivo .PDF, com todo o conteúdo do Curso: Criando Sites Dinâmicos com ASP 3.0, para ter acesso ao conteúdo completo do curso, com permissão de impressão, sem estar conectado à Internet, Clique aqui.