Estruturas condicionais em VBScript

Veja como utilizar no VBScript as estruturas fundamentais de qualquer linguagem de programação: as estruturas condicionais.

As estruturas condicionais são conhecidas também como estruturas de decisão ou de seleção e, de forma geral, são uma das estruturas mais básicas de uma linguagem de programação. Caracterizam-se por permitir a execução de determinados códigos de programação dependendo da veracidade de uma condição.

O VBScript, assim como o PHP e o Javascript, possui estruturas do tipo “Se” e do tipo “Faça caso”, sendo o primeiro tipo recomendado para comparações únicas e o segundo para comparações seqüenciais envolvendo uma mesma variável ou valor.

Vamos a um exemplo simples: queremos exibir uma mensagem informando se um número armazenado em uma variável é par ou ímpar. Para tal, basta uma única comparação: é só compararmos o resto da divisão do número dado por 2. Se esse resto for zero, o número é par. Senão, é ímpar.


Dim a
a = 13
' Se o resto da divisão de "a" por 2 for zero, então...
If (a mod 2 = 0) Then
Response.Write(a & " é par!")
End If

Simples, não é mesmo? Tem duas coisas que diferem este “if” do “if” do PHP ou Javascript. A primeira é a palavra Then, que significa “então”. Não usamos nada parecido no PHP ou Javascript, mas quem programa em Pascal ou Delphi, vai achar o comando familiar. A segunda é a expressão End If, que finaliza o If. Em outras palavras, serve para delimitar o término das instruções que serão executadas a depender da condição. Lembrem-se de que no PHP e no Javascript utilizávamos as chaves com o mesmo objetivo.

Analisando o exemplo anterior, podemos perceber que não acontecerá nada ao ser executado. Isto é porque determinamos um comando a ser executado apenas para quando a condição seja verdadeira. Como o valor da variável é ímpar, nada acontece. Para tanto, utilizaremos o bom e velho Else (senão).


Dim a
a = 13
' Se o resto da divisão de "a" por 2 for zero, então...
If (a mod 2 = 0) Then
Response.Write(a & " é par!")
' Senão...
Else
Response.Write(a & " é ímpar!")
End If

Pronto. Problema resolvido. O código abaixo mostra, para todos os números de 1 a 100, quais são pares e quais são ímpares:


<%
Dim valor
For valor = 1 to 100
' Se o resto da divisão de "valor" por 2 for 0, então...
If (valor mod 2 = 0) Then
Response.Write(valor & " é par!<br>")
' Senão...
Else
Response.Write(valor & " é impar!<br>")
' Fim do <em>If</em>
End If
' Fim do <em>For</em>
Next
%>

Para um If mais complexo, utilizando mais de uma condição, é só utilizar os operadores relacionais, vistos nesta aula, além de utilizar adequadamente os parênteses. Exemplo:


Dim dia
' A função Date retorna a data atual
dia = Date
' A função WeekDay informa o dia da semana de uma data
' Se hoje for terça ou quinta...
If ((WeekDay(dia)=3) Or (WeekDay(dia)=5)) Then
Response.Write("Hoje teremos aula!")
End If

Para múltiplas comparações envolvendo uma mesma variável, torna-se mais interessante utilizar o comando Select. Confiram o exemplo abaixo:


Dim hoje, diaSemana
hoje = Date
diaSemana = WeekDay(hoje)
' A variável a ser comparada é a "diaSemana"
Select Case diaSemana
' Caso o valor dela seja 1...
Case 1
Response.Write("Hoje é domingo")
' Caso o valor dela seja 2...
Case 2
Response.Write("Hoje é segunda")
Case 3
Response.Write("Hoje é terça")
Case 4
Response.Write("Hoje é quarta")
Case 5
Response.Write("Hoje é quinta")
Case 6
Response.Write("Hoje é sexta")
' Para outro caso não listado acima...
Case Else
Response.Write("Hoje é sábado")
End Select

Esta é a estrutura padrão do Select. Ele realiza várias comparações a partir de uma mesma variável (ou valor), executando as instruções correspondentes assim que uma comparação é bem-sucedida. Percebam ainda a existencia de um “Case Else”. Seu uso é opcional, servindo para definir instruções que serão executadas apenas quando nenhuma condição anterior tiver sido verdadeira.

Bom, é isso. Quem quiser ler mais, pode ir neste link (em inglês).

Deixe um comentário