Criando programas para a WEB com VBScript


A linguagem VBscript é muito similar ao Visual Basic e se você conhece Visual Basic já conhece VBscript. A utilização de VBscript permite realizar operações de validações de dados e fluxo lógico que são tratadas localmente sem acessar constantemente um executável compilado em um servidor.
 
Embora sejam similares nem todos os elementos do Visual Basic são suportados em VBscript, veremos a seguir os elementos mais usados da VBscript.
 
Tipos de dados , Variáveis e Constantes
 
O único tipo de dado que o VBscript suporta é o tipo variant que é um tipo especial de dados que pode conter diferentes espécies de informação : números , sequência de caracteres, data, hora , etc...
Mas como diferenciar um número puro de uma data ou de um valor que representa a hora ? Para diferenciar as categorias de informações contida numa Variant temos os subtipos. Os principais subtipos do VBscripts são:
Subtipo Descrição
Descrição Empty (Vazio) Valor igual a 0 para variáveis numéricas ou ("") zero-comprimento para variáveis string.
Null (Nulo) Variant contém intencionalmente nenhum valor válido.
Boolean Contém False (falso) ou True (Verdadeiro) um ou outro.
Byte Contém inteiro de 0 a 255.
Integer Contém inteiro de -32,768 a 32,767.
Currency 922,337,203,685,477.5808 a 922,337,203,685,477.5807.
Long Contém inteiro de -2,147,483,648 a 2,147,483,647.
Single 3.402823E38 a -1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos.
Double Contém um duplicar-exatidão, boiado-ponto número na série 1.79769313486232E308 para 4.94065645841247E-324 para valores negativos; 4.94065645841247E-324 para 1.79769313486232E308 para valores positivos.
Date (Tempo) Contém um número que representa uma data entre 1 de Janeiro de 100 até 31 de Dezembro de 9999.
String Variáveis alfanuméricas, que podem ter um comprimento de 0 até aproximadamente 2 bilhões de caracteres.
Object Qualquer referência de Objeto.
Error Contém um número de erro.
Para determinar o subtipo de uma variável usamos a função VarType .

Além desta função a maior parte das funções de tipos de dados do Visual Basic está disponível no VBscript: IsDate, IsNull, IsNumeric, etc...

Para declarar variáveis usamos as declarações : Dim , Private e Public e são reconhecidas exatamente como no Visual Basic

Private – Utilizada para declarar variáveis privadas a nível de script , e somente são visíveis no script onde foram declaradas. Ex: Private nome, endereco

Public - Utilizada para declarar variáveis públicas sendo visíveis a todas as procedures em todos os scripts. Ex: Public nome, endereco

Dim – Utilizada para declarar variáveis. Se declarada a nível de script as variáveis são visíveis por todas as procedures dentro do script.

Ex: Dim nome , endereco

As váriaves declaradas dentro de um procedimento são visíveis dentro do procedimento no qual foram declaradas. As declaradas fora de um procedimento são visíveis a todos os procedimentos no seu script

Para o VBscript não existem constantes verdadeiras, por ser uma linguagem não compilada não há diferença real entre uma constante e uma varíavel . O que você pode fazer é declarar variáveis e usá-las como uma constate: Ex: fruta="Maça".

Podemos usar a instrução CONST para criar constantes numéricas e strings . Ex:
Const ano = 1999
Const mês= "Setembro" (uma string sermpre estará entre aspas-")
Const data=#12-05-1999# (uma data sempre estará entre cerquilha-# e no formato mm-dd-yyyy)

Visual Basic e VBScript qual a diferença ?

  1. Todas as funções que podem ser usadas para editar arquivos e de qualquer maneira alterar o sistema não estão presentes no VBScript.
  2. O VBScript suporte somente um tipo de variável - Variant.

Muitas das características e funções do VB podem ser usadas no VBScript , assim temos:

<SCRIPT LANGUAGE="VBscript">
    MsgBox "Olá , isto é um teste", 0, "Teste"
</SCRIPT>
<SCRIPT LANGUAGE="VBscript">
 Sub Mostra_mensagem()
    MsgBox "Olá , isto é um teste", 0, "Teste"
 End Sub

 Call Mostra_mensagem 
</SCRIPT>

Como a chamada a procedure Mostra_mensagem é uma linha de código fora de qualquer função ou procedure , ela será executada quando o navegador carregar a página e chamará a procedure Mostra_mensagem.

<p align="center">
<input type="botao" value="Clique aqui" name="MsgBotao">
<p>

<SCRIPT LANGUAGE="VBscript">
 Sub msgbotao_OnClick
    MsgBox "Voce clicou no botao ! ", 0, "Clique aqui"
 End Sub
</SCRIPT>

Quando o botão for clicado a procedure msgbotao_OnClick será chamada e exibira a mensagem na tela

Fluxo lógico de programação

O VBscript suporta as estruturas necessárias para criação de Loops, desvios e fluxo lógico tais como:

For ... Next . Exemplo

<html>
<body bgcolor="FFFFFF">
<% x=0
For x = 1 to 99
response.write(x)
Next
%>
</body>
</html>
Este fluxo incrementa e mostra o número até x ser igual a 99.


A linha response.write(x) imprime na tela o valor da variavel x.

Para sair do fluxo podemos usar Exit For

Para decrementar a variavel usamos : For x=10 to 1 step –1

If ... Then... Else

Uma variação na declaração If...Then...Else permite a você escolher várias alternativas.Somando-se cláusulas ElseIf você tem a possibilidade de expandir a funcionalidade da declaração If...Then...Else controlando o fluxo do programa baseado em difentespossibilidades

<html>
<body bgcolor="FFFFFF">
<% nome = request("nome")
if nome <> "" then %>
Name <%=nome %>
<% else %>
response.write ("Por favor , informe o seu nome ! ")
<% end if %>
</body>
</html>

Select Case...End Select

Uma estrutura Select Case avalia uma única expressão no topo da estrutura. O resultado da expressão é então comparada com os valores para cada Case da estrutura. Se há uma afirmação verdadeira, o bloco de declarações associadas com aquele Case é executado: Veja Exemplo 3.

Do While ... Wend

Executa um bloco de instruções enquanto uma condição é Verdadeira.

<html>
<body bgcolor="FFFFFF">
<% x = 0
while x<10
x=x+1 %>
numero <%=x %>
<% wend %>
</body>
</html>

Do... loop

Você pode usar a declaração Do...Loop para executar um bloco de declarações num número Indeterminado de vezes. As declarações são repetidas enquanto a condição for Verdadeira ou até uma condição torna-se Verdadeira.

A palavra-chave While checa a condição em uma declaração Do...Loop.
Você pode sair de um laço Do...Loop usando a declaração Exit Do.

Sub teste()
Dim contador, numero
contador = 0
mumero= 20
Do While contador > 10
numero = numero - 1
contador = contador + 1
Loop
MsgBox "Contamos " & contador & " vezes."
End Sub

Podemos usar a palavra-chave Until para checar uma condição da declaração Do...Loop. Podemos checar a condição antes de entrar no laço, ou depois de ter entrado no laço no mínimo uma vez , enquanto a condição é Falsa, o looping ocorre.

Já acabei. Voltarei ao assunto em breve. :-)