Buscar

Linguagem de Programação Aplicada Unid III

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

102
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
Unidade III
5 LINGUAGEM DE PROGRAMAÇÃO VBSCRIPT
5.1 Introdução
O Visual Basic Script Language é uma das muitas possibilidades de linguagem script que rodam 
num servidor e, para o IIS (servidor web criado pela Microsoft para seus sistemas operacionais para 
servidores), ela é a linguagem default (padrão). Desenvolver aplicações utilizando esta linguagem não é 
difícil. A seguir, algumas características da linguagem:
• é similar ao VBA (Visual Basic Application), linguagem criada para fornecer aos aplicativos outras 
funcionalidades e Visual Basic;
• permite a manipulação de strings, datas e numéricos;
• possibilita a utilização de todos os comandos do Visual Basic, porém não propicia a manipulação 
de banco de dados e acesso aos periféricos;
• a manipulação do banco de dados é feita através do objeto ADO, o VBScript apenas cria instâncias 
deste objeto. A partir daí, podemos utilizar os métodos deste objeto para manipular os dados;
• tem um mecanismo de comunicação com servidores de objetos COM, como o Microsoft Exchange 
Server, Microsoft Index Server, Database Servers.
Baseada nas funcionalidades de programação do Visual Basic, é uma linguagem leve, que nativamente 
é executada pelo Internet Explorer e que pode ser realizada por outros browsers a partir de plug‑in.
 Observação
Sendo uma linguagem baseada nos conceitos e aplicações do Visual 
Basic puro, o VB Script adota as mesmas definições para manipulação 
de dados, criação de estruturas para execução dos scripts e estruturas 
de decisão.
103
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
5.1.1 Princípios do VBScript
5.1.1.1 Criando uma página ASP
Inicialmente, deve‑se ter em mente que alguma coisa tem que interpretar os códigos do VBScript. 
O responsável por esta interpretação é o IIS (Internet Information Server), por isso entendemos que o 
código deve ser interpretado no servidor, e não no cliente, que só terá o browser.
Para que o código seja interpretado pelo servidor, é preciso seguir algumas instruções:
Utilizando a tag <% %>
Esta tag deve ser usada quando se pretende executar qualquer código VBScript no servidor. Entre 
<% e %> é possível ser escrito qualquer código em VBScript.
Quando um script possuir HTML e código VBScript, o servidor saberá qual informação deverá ser 
retornada para o cliente (browser). Por exemplo:
<% if Hour(Now) < 12 then %>
Bom dia!
<% else %>
Boa tarde!
<% end if %>
No exemplo anterior, as linhas que estiverem entre a tag <% %> serão interpretadas pelo servidor 
IIS e dependendo da condição satisfeita, se a hora for menor que 12, será mostrado um HTML com “Bom 
dia! ”; se não, o HTML retornado pelo servidor conterá “Boa Tarde! ”.
Para retornar valores de variáveis no HTML diretamente do script, deve ser utilizada a seguinte sintaxe:
A data de hoje é <% = Date %>.
Utilizando a tag <SCRIPT>
Com esta tag também é possível criar scripts que rodam no servidor utilizando a sintaxe:
<SCRIPT LANGUAGE = VBScript RUNAT=Server>
</SCRIPT>
É preciso especificar a linguagem script a ser utilizada e onde esta será interpretada. A partir disso, 
é só fazer a chamada de alguma parte do HTML. No caso anterior, o script que estiver entre a tag 
<SCRIPT> </SCRIPT> deve ser escrito na linguagem VBScript e será interpretado por um servidor IIS. 
Esta tag é muito utilizada para criar funções e sub‑rotinas. Por exemplo:
104
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Function RetornaData()
RetornaData = Date
End Function
</SCRIPT>
Esta função retornará a data do sistema no servidor. Para fazer a chamada desta função, será 
necessário utilizar as tags <% %>, como pode ser visto no exemplo a seguir:
A data de hoje é <% = RetornaData() %>
Outra alternativa disponível no IIS para retornar valores direto para o HTML, sem utilizar a chamada 
anterior, é usando o Response.Write:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Function RetornaData()
Response.Write “A data de hoje é “ & Date & “.”
End Function
</SCRIPT>
Quando é feito um pedido ao servidor pela execução de um ASP, o servidor executa todas as funções 
declaradas no ASP. Então, pode‑se concluir que esta função também foi feita. Como o Response.Write 
retorna o conteúdo do texto diretamente para o HTML, será mostrado para o utilizador o texto definido.
O próximo passo para a criação de uma página ASP é introduzir o código HTML. 
<HTML>
<BODY>
<% if Hour(Now) < 12 then %>
<CENTER> Bom dia! </CENTER><BR>
<% else %>
<CENTER> Olá! </CENTER> <BR>
<% end if %>
<CENTER> A sua primeira página utilizando VBScript e HTML! </CENTER>
</BODY>
</HTML>
Este código inteiro constitui uma página ASP, na qual se mesclou código em HTML e VBScript. O 
servidor saberá que o código entre <% %> será interpretado e não deve ser mostrado para o cliente, 
apenas o seu resultado.
105
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
 Lembrete
Os arquivos com código VBScript devem ser nomeados com a extensão 
ASP, por exemplo: primeiro_programa.asp. Dessa forma, o IIS entenderá 
que o pedido foi feito a partir de uma página ASP.
Se for utilizada a Tag <SCRITP> </SCRIPT>, o código VBScript e HTML ficará:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Function RetornaData()
RetornaData = Date
End Function
</SCRIPT>
<HTML>
<BODY>
<CENTER><B>A data de hoje é <% = RetornaData() %>.</B></CENTER>
</BODY>
</HTML>
Com o VBScript é possível criar rotinas que sejam executadas pelo cliente. Porém, dois aspectos 
devem ser observados quando decidimos programar sub‑rotinas e funções para rodar no browser:
• no nosso caso, será necessário que o browser seja o Internet Explorer 4.0 ou superior;
• a programação deve ser baseada nos eventos dos objetos do formulário e do próprio formulário. 
Por exemplo: ONCLICK, CHANGE, GOTFOCUS.
A seguir um primeiro exemplo de script em uma página web. O objetivo desse script é mostrar a data 
da última modificação do documento.
<html>
<head>
<title> A última modificação do documento</title>
</head>
<body>
<h1>Script da última modificação de um documento</h1>
<script language=”VBScript”>document.write “Este documento foi atualizado pela última 
vez em: “document.write document.lastmodified
</script>
</body>
</html>
<p><input type=”button” name=”BOTAO1”value=”Vamos mudar o value!”></p>
106
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
</form>
</body>
</html>
A sentença document.write é um procedimento que escreve na página web o texto que recebe por 
parâmetro, o texto que está depois da sentença. A variável document.lastmodified armazena a data e a 
hora da última atualização.
O HTML:
<form NAME=RodarCli method=”POST”>
<p><input type=”button” name=”BOTAO1” value=”Vamos mudar o value!”></p>
</form>
Nesta parte está sendo criado o botão. Para que a sub‑rotina seja executada, o botão deve ser criado 
num form, ser definido um nome para este objeto e o seu tipo deve ser button. Depois de definir o objeto 
que deve disparar a ação, é necessário programar a sub‑rotina:
<script language=”VBScript”>
SUB BOTAO1_ONCLICK()
RodarCli.BOTAO1.Value = “Mudamos o Value!”
END SUB
</script>
Esta sub‑rotina será executada pelo browser. Observe que não foi configurada a Tag <SCRIPT> com 
o parâmetro RUNAT.
O evento que deve disparara ação será o ONCLICK, ou seja, quando clicarmos no botão, o código 
escrito será disparado.
 Lembrete
Por estarmos analisando uma linguagem de script, todos os objetos 
visuais a serem utilizados serão criados em tempo de execução através de 
comandos da linguagem VB Script. Não faremos uso de ferramentas visuais 
que disponibilizam os objetos de forma gráfica.
Para fazer a referência ao objeto do formulário, é necessário seguir a sintaxe que está na sequência:
NomeFormulário.NomeObjeto.PropriedadeObjeto
107
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
Por exemplo:
RodarCli.BOTAO1.Value
5.1.1.2 Características do VBScript
As linguagens de scripting têm uma série de características comuns que costumam tornar a 
programação mais fácil para as pessoas inexperientes, mas, a longo prazo, podem se converter em uma 
fonte de erros. Vejamos quais são estas características em concreto para VBScript.
• Maiúsculas e minúsculas
Em VBScript não importa se utilizamos maiúsculas ou minúsculas na hora de escrever o código.
 Observação
O VBScript não é CASE Sensitive, ou seja, ele consegue interpretar os 
comandos independentemente de estarem escritos em letra maiúscula 
ou minúscula.
• Variáveis
As variáveis são espaços onde se armazenam os dados que utilizam os programas ou scripts. Em 
VBScript, as variáveis não se devem ser declaradas, ou seja, quando é necessária uma variável, ela é 
utilizada e pronto. Mesmo assim, caso se deseje declarar uma variável, utiliza‑se a palavra DIM. Não 
existem tipos: as variáveis não estão classificadas por tipos, isto quer dizer que podem ser salvar nelas 
igualmente números, letras ou outras coisas.
 Lembrete
As variáveis só podem ser utilizadas ao longo de um código de programa 
caso tenham sido declaradas de forma correta, definindo‑se o nome e o seu 
tipo. Essa declaração pode ser feita em qualquer ponto do código, porém o 
ideal é que sejam declaradas no início para um melhor entendimento.
• Quebras de linha
As quebras de linha são muito importantes, pois expressam o final de uma instrução e o princípio da 
seguinte. Não se pode colocar duas instruções em uma mesma linha.
108
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
• Comentários
Em VBScript, os comentários são colocados com uma aspas simples ‘. Isto serve para que tudo o que 
se encontre nessa linha depois das aspas simples seja ignorado pelo explorador.
Na sequência, um simples script que serve de exemplo para tudo que foi dito anteriormente. No 
exemplo a seguir, são abertas umas janelinhas com mensagens (sentença msgbox), sendo as últimas o 
conteúdo da variável pepe. Durante o exemplo, o valor da variável muda e logo volta a mostrar.
O exemplo demonstra que não importam as maiúsculas e minúsculas, e que é indiferente o tipo do 
conteúdo da variável, texto ou números.
<HTML>
<HEAD>
<TITLE>Exemplo2 Comentário, caixa alerta e variáveis</TITLE>
</HEAD>
<BODY>
<script language=VBScript>’Isto é um comentário
PEPE=”OIquot;
msgbox(pepe)
pepe=3456
‘NAO importam as maiusculas‑minusculas
msgbox(PEPE)
</script>
</BODY>
</HTML>
5.2 Diferentes formas de executar scripts
Agora que já foi abordado como incluir scripts nas suas páginas e alguns fundamentos da linguagem, 
serão vistos dois casos em que o Internet Explorer pode executar seus scripts. A seguir, será visto o 
conceito do evento. As formas de execução de VBScript são as seguintes:
• Scripts que se executam enquanto o navegador abre a página.
• Scripts que se executam como resposta à ação de um usuário.
O primeiro dos casos se utiliza quando se quer fazer algo enquanto o navegador está carregando a 
página. Por exemplo, poderia mostrar uma mensagem de boas‑vindas que apareça quando o usuário 
entrar na sua página, ou que o navegador lhe informe da última atualização do documento.
O segundo caso é útil quando se deseja realizar ações como resposta a eventos do usuário. Os 
eventos são ações que ocorrem quando um usuário faz alguma coisa sobre a página web, ou seja, um 
evento poderia ser de um usuário que escreve algo em uma caixa de texto, ou que coloque o mouse 
109
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
em cima de um link etc. Quase qualquer coisa que o usuário pode realizar dentro da página tem um 
evento relacionado.
Ao utilizar os eventos, pode‑se preparar algum efeito que seja visível somente quando o usuário 
realizar alguma ação dentro da página web.
Será dado um exemplo para a compreenção das duas formas de execução dos scripts. Vamos fazer 
com que o navegador nos diga seu número de versão e outros dados em uma caixa de diálogo, e isso 
será feito de duas maneiras: enquanto o usuário carrega a página e quando ele apertar um botão.
Na sequência, um exemplo de execução ao carregar a página. A execução de scripts tem início 
quando o usuário carrega a página. Esta é a forma mais simples e já foi vista anteriormente.
<html>
<head>
<title>Script de execução direta</title>
</head>
<body>
Enquanto se carrega a página veremos a versão do navegador em uma caixa de diálogo.
<script language=vbscript>msgbox(navigator.appVersion)
</script>
</body>
</html>
Este exemplo não tem nenhum mistério, pois é muito parecido com os exemplos que já foram 
realizados. A única novidade é a variável navigator.appVersion. Esta armazena o que queremos que 
seja visto na caixa de diálogo: a versão do navegador.
A seguir, tem‑se um exemplo de execução como resposta a ação do usuário. Nele existe uma amostra 
do que o programador tem que fazer quando deseja que esta caixa de diálogo não apareça até que o 
usuário clique em um botão.
<html>
<head>
<title>Script de execução como resposta a um evento</title>
</head>
<body>
Clique o botão para ver a versão do navegador
<input type=button value=Clique aqui onclick=”msgbox(navigator.appVersion)”language=
”vbscript”>
</body>
</html>
110
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
Este exemplo tem algumas informações novas que devem ser destacadas:
1. Cria‑se um botão com a etiqueta <INPUT>.
2. Acrescenta‑se o atributo onclick. Este serve para indicar (na linguagem de script) as ações que 
queremos realizar como resposta ao evento “click sobre o botão”.
3. Acrescentamos o atributo language para especificar a linguagem em que está escrito o código 
script associado ao evento.
Agora temos um botão que, quando se clica, executará o código que abre uma caixa de diálogo com 
a versão do navegador.
 Saiba mais
Como referência bibliográfica adicional sobre as linguagens de script, 
segue a indicação:
COSTA, D. G. Administração de redes com scripts: bash script, python e 
VBScript. São Paulo: Brasport, 2007.
5.3 Variáveis em VBScript
5.3.1 Conceito e utilização
Têm‑se como definição de variável tudo aquilo que é sujeito a variações, que é incerto, instável 
ou inconstante. E quando se fala de computadores, temos que ter em mente que o volume de 
informações a serem tratadas é grande e diversificado. Dessa forma, os dados a serem processados 
serão bastante variáveis.
Como visto anteriormente, informações correspondentes a diversos tipos de dados são armazenadas 
nas memórias dos computadores. Para acessar individualmente cada uma dessas informações, em 
princípio, seria necessário saber o tipo de dado dessa informação (ou seja, o número de bytes de memória 
por ela ocupados) e a posição inicial deste conjunto de bytes na memória.
Percebe‑se que esta sistemáticade acesso a informações na memória é bastante ilegível e difícil de 
trabalhar. Para contornar essa situação, criou‑se o conceito de variável, que é uma entidade destinada 
a guardar uma informação.
Basicamente, uma variável possui três atributos: um nome, um tipo de dado associado a ela e a 
informação por ela guardada.
111
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
Toda variável possui um nome que tem a função de diferenciá‑la das demais. Cada linguagem de 
programação estabelece suas próprias regras de formação de nomes de variáveis.
Para os algoritmos, serão adotadas as seguintes regras:
• um nome de variável deve necessariamente começar com uma letra;
• um nome de variável não deve conter nenhum símbolo especial, exceto a sublinha (_), e nenhum 
espaço em branco;
• um nome de variável não poderá ser uma palavra reservada a uma instrução de programa.
Exemplos de nomes de variáveis:
• Salário – correto
• 1ANO – errado (não começou uma letra)
• ANO1 – correto
• SAL/HORA – errado (contém o caractere / )
• SAL_HORA – correto
• _DESCONTO – errado (não começou com uma letra)
Obviamente, é interessante adotar nomes de variáveis relacionados às funções que serão exercidas 
por elas dentro de um programa.
Outro atributo característico de uma variável é o tipo de dado que ela pode armazenar. Ele define a 
natureza das informações contidas na variável. Por último, há o atributo informação, que nada mais é 
do que a informação útil contida na variável.
Uma vez definidos, os atributos nome e tipo de dado de uma variável não podem ser alterados e assim 
permanecem durante toda a sua existência, desde que o programa que a utiliza não seja modificado. 
Por outro lado, o atributo informação está constantemente sujeito a mudanças de acordo com o fluxo 
de execução do programa.
Em resumo, o conceito de variável foi criado para facilitar a vida dos programadores, permitindo 
acessar informações na memória dos computadores por meio de um nome, em vez do endereço de uma 
célula de memória.
112
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
5.3.2 Tipos de dados
O Visual Basic Script possui vários tipos de dados, mas, na prática, só possui um tipo de variável, 
que vai mudando de um estado a outro segundo a informação que é introduzida. Este tipo principal de 
dados é o tipo Variant, no qual podemos introduzir vários subtipos de dados com total liberdade.
Para mudar o subtipo de um Variant, é necessário inserir um dado na variável. A variável Variant 
muda automaticamente de um subtipo a outro, sem que tenhamos que fazer nenhuma operação 
adicional. Os distintos subtipos de dados que temos são os seguintes:
Quadro 14
SubTipo Descrição
Empty Valor é 0 (zero) para variáveis numéricas e comprimento zero (“”) para variáveis string.
Null Variant possui um valor que não é válido.
Boolean Verdadeiro ou Falso.
Byte Inteiro com valores entre 0 e 255.
Integer Inteiro com valores entre ‑32.768 e 32.767.
Currency Tipo moeda. Valores entre ‑922.337.203.685.477.5808 e 922.337.203.685.477.5807.
Long Inteiro com valores entre ‑2.147.483.648 e 2.147.483.647
Single Ponto flutuante com precisão simples. Valores entre: – 3.402823E38 e ‑1.401298E‑45 para números negativos e entre 1.401298E‑45 e 3.402823E38 para números positivos.
Double
Ponto flutuante com dupla precisão. Valores entre: – 1.7976931348623E308 ... 308 e 
‑4.94065645841247E‑324 para valores negativos e entre 4.94065645841247E‑324 e 
1.79769313486232E308 para valores positivos.
Date (Time) Contém um número que representa uma data entre 01/01/100 e 31/12/9999
String Contém um comprimento variável de texto que pode chegar até 2 bilhões de caracteres.
Object Contém um objeto.
 Exemplo do comportamento de uma variável do tipo Variant:
Figura 26
113
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
 Observação
O tipo Variant, sendo um sub‑tipo genérico, é o que utiliza a maior 
quantidade de memória alocada, portanto, deve‑se, sempre que possível, evitar 
o seu uso, otimizando assim a utilização dos recursos de hardware do sistema.
5.4 Funções de conversão de tipos de dados
Antes de descrever as funções, é necessário saber para que serve uma função de conversão de tipo. 
Essas funções são utilizadas para forçar uma variável Variant a assumir um subtipo específico.
A partir do momento que as páginas ASP começaram a ser distribuídas pela internet, ou seja, 
pessoas do mundo inteiro acedendo a sua página, as configurações de datas e moeda passaram 
a ser um fator preocupante, pois estas configurações são recuperadas da opção Configurações 
Regionais do Painel de Controle da máquina, onde o VBScript está sendo executado. Como o 
VBScript, na maioria das vezes, é executado num servidor, as configurações recuperadas são as 
aquelas feitas no próprio servidor.
As funções de conversão de dados foram criadas para evitar erros em tempo de execução ou 
mesmo de lógica por sua aplicação não reconhecer o tipo de dados pelas configurações. Essas funções 
conseguem reconhecer as configurações regionais e interagir com vários formatos diferentes de dados 
sem mudá‑los, evitando que erros ocorram.
O quadro a seguir descreve as funções que permitem a conversão de dados:
Quadro 15 
Função Valor retornado Descrição
Cbool Boolean Converte uma expressão de uma variante de booleano subtipo
Cbyte Byte Converte uma expressão de uma variante de byte subtipo
Ccur Currency Converte uma expressão de uma variante da moeda subtipo
Cdate Date Converte uma data válida e expressão tempo para a variante do subtipo data
CDbl Double Converte uma expressão de uma variante do subtipo duplo
Cint Integer Converte uma expressão de uma variante de integer subtipo
CLng Long Converte uma expressão de uma variante do subtipo longo
CSng Single Converte uma expressão de uma variante de subtipo único
CStr String Converte uma expressão de uma variante de corda subtipo
114
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
5.4.1 Identificando o tipo de dados
Como o VBScript consegue identificar uma série de subtipos de variáveis, será necessário, às 
vezes, que saibamos qual o subtipo que se está trabalhando no script. Para isso, usaremos a função 
VarType, que identifica o subtipo por um valor numérico. A tabela a seguir descreve os valores 
retornados pela função:
Tabela 1 – Valores retornados pela função
Subtipo Valor Retornado
Empty 0
Null 1
Integer 2
Long 3
Single 4
Double 5
Currency 6
Date (Time) 7
String 8
Automation Object 9
Error 10
Boolean 11
Variant 12
Non‑Automation Object 13
Byte 17
Array 8192
O exemplo a seguir demonstra a utilização das funções para conversão de tipo de dados:
Dim Retorna, cont
Retorna = 1
For cont = 1 to Valor
Retorna = Retorna * Cont
Next
Media = Retorna
End Function
teste = 5
if teste = 5 then
Mensagem = “O valor da variável Teste é igual a 5”
End if
ResultMedia = Media(teste)
%>
115
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
<HTML><BODY><center><b>
<FONT COLOR=”#008000”> O tipo que variável <i>Teste</i> assumiu foi: <% =
VarType(teste) %></FONT><BR>
<FONT COLOR=”#0000C0”>O tipo que variável <i>Mensagem</i> assumiu foi: <% =
VarType(Mensagem)
%></FONT><BR>
<FONT COLOR=”#400040”> O tipo que variável <i>ResultMedia</i> assumiufoi: <% =
VarType(ResultMedia)
%></FONT><BR>
<FONT COLOR=”#0000FF”>As variáveis Retorna e Cont não podem ser referenciadas, pois 
existem apenas quando a Função Media está a ser executada/FONT>
</b></center></BODY></HTML>
Para verificar o subtipo de dados que a variável teste assumiu, utilize o código script:
<% = VarType(teste) %> 
que já retornará o valor numérico correspondente ao subtipo assumido.
No caso do variável teste, o valor retornado é 2, que indica o subtipo Integer. Não podemos 
referenciar as variáveis cont e Retorna, pois elas existem apenas para a função, para o restante do 
script são inválidas.
5.5 Declaração de variáveis
Quando declaramos variáveis, precisamos ter em mente a sua utilização: se será uma variável que 
deverá ser utilizada por toda uma aplicação ou apenas por um módulo, uma função, sub‑rotina. Este 
período de vida da variável é flexível, ou seja, podemos definir onde, quando e por quanto tempo esta 
variável deverá existir.
As variáveis no VBScript podem existir em dois níveis ou escopos: script ou procedimento. O termo 
escopo está relacionado ao espaço de tempo no qual uma memória pode ser referenciada na memória.
O espaço de tempo, que se refere ao tempo de vida da variável, depende em qual nível esta variável 
foi declarada.
Quando uma variável é definida fora de qualquer função e procedimento, é caracterizada uma 
variável válida para todo o script.
5.5.1 Procedimento
Quando verificar que uma variável precisa ser apenas válida para uma função ou procedimento, 
declare‑a dentro deste procedimento ou função. Desta maneira, assim que a função ou procedimento 
for executado, a variável deixa de existir na memória.
116
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
Uma variável se declara utilizando a palavra DIM, vejamos como:
<script language=”vbscript”>
 dim minha_nova_variavel
 ‘Agora ja existe a variável
 ‘Seguidamente vou fazer uso dela
 minha_nova_variavel = “Valor da variavel”
</script>
Não importa que tipo de informação vai conter a variável, sempre se declaram de forma igual.
5.5.1.1 Option explicit
Pode‑se utilizar a cláusula Option explicit para forçar a declaração de variáveis em nossos scripts. 
Se desejar evitar a possível fonte de erros que supõe a liberdade de não declarar as variáveis, pode ser 
utilizada esta cláusula, fazendo com que seus scripts respondam com mensagens de erro caso se utilize 
uma variável que não tiver sido declarada previamente. Vejamos seu uso com um exemplo:
<HTML>
<HEAD>
<TITLE>Option explicit</TITLE>
</HEAD>
<BODY>
<script language=vbscript>
option explicit
dim Pepe
pepe = 3
tomas = 87
</script>
</BODY>
</HTML>
Este script responderá com uma mensagem de erro quando se executar, pois a variável “tomas” não 
foi declarada antes de seu uso.
A seguir, um exemplo mais completo de um script com a adoção de procedimentos e declaração de 
variáveis:
<% Dim teste
Dim Mensagem
Dim ResultMedia
Function Media(Valor)
Dim Retorna
Dim cont
117
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
Retorna = 1
For cont = 1 to Valor
Retorna = Retorna + Cont
Next
Retorna = Retorna / cont
Media = Retorna
End Function
teste = 5
if teste = 30 then
Mensagem = “O valor da variável Teste é igual a 30”
Else
Mensagem = “O valor da variável Teste é igual a 5”
End if
ResultMedia = Media(teste)%>
<HTML><BODY>
<CENTER><B><% = mensagem %><BR><BR>
A média ponderada dos valores da variável Teste é igual a: <% = ResultMedia %>
</B></CENTER>
</BODY></HTML>
Explicação do código:
<% Dim teste
Dim Mensagem
Dim ResultMedia
No exemplo criado, as variáveis anteriores foram declaradas fora de qualquer função ou sub‑rotina; 
dessa forma, podem ser utilizadas por todo o script escrito para esta página, o que significa que podem 
ser referenciadas em qualquer ponto do script.
Function Media(Valor)
Dim Retorna
Dim cont
Retorna = 1
Diferente das variáveis teste, Mensagem e ResultMedia, as variáveis Retorna e cont podem apenas 
ser referenciadas dentro da função. Para o restante do scritp, as variáveis Retorna e cont não são válidas. 
Até este ponto, foram vistos os tipos de variáveis, funções de conversão e seu escopo (“tempo de vida”).
118
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
Para declarar variáveis em seu script, o programador deve utilizar as cláusulas:
Dim, Public, Static.
Dim
Variáveis declaradas com o Dim num script estão disponíveis para todos os procedimentos inclusos 
neste script, porém as variáveis declaradas em um procedimento apenas poderão ser utilizadas neste 
procedimento. Por exemplo:
Dim nomevar [([dimensão]))
Dim nomevar [([dimensão])), nomevar2
Onde nomevar e nomevar2 são nomes de variáveis e dimensão representa o número da dimensão 
do vetor.
Com a cláusula Dim é também possível declarar vetores. Um vetor é tratado como uma variável, 
porém é utilizado para armazenar uma coleção de informações similares. Esta coleção é acedida pelo 
seu índice, começando pelo 0 (zero). Por exemplo, o próximo código cria um vetor com cinco posições. 
Como os vetores começam com a posição zero, cinco posições da variável TipoProduto são alocadas. A 
segunda e terceira linha do código preenchem a primeira e segunda posições do vetor com os valores 
Material de Construção e Material Escolar:
Dim TipoProduto(4) ‘Como o vetor começa com 0 (zero), a primeira posição é 0 e a quinta posição é 4
TipoProduto(0) = “Material de Construção”
TipoProduto(1) = “Material Escolar”
 Observação
A opção Option Explicit não indica quando variáveis que foram 
declaradas não são utilizadas ao longo do código. A criação de variáveis é 
uma atividade que deve ser feita com muito critério, evitando, dessa forma, 
definições desnecessárias e elevando a utilização dos recursos de hardware.
5.5.1.2 Função ReDim
A função ReDim é utilizada para manipular vetores dinâmicos. Para o VBScript, os vetores podem ser 
definidos em dois tipos: estáticos ou dinâmicos. Um vetor estático tem seu número de índices definidos, 
como o vetor que foi definido no exemplo anterior, que possui cinco posições.
Um vetor dinâmico tem o número de índices variado, o qual é definido quando a aplicação é 
executada. Podemos criar um vetor dinâmico apenas declarando‑o com os parênteses vazios.
119
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
Os vetores dinâmicos são diferentes dos estáticos. Eles são utilizados quando a alocação de memória 
precisar ser dinâmica, ou seja, o vetor pode assumir vários tamanhos. Para que isso seja possível, utilize 
o comando ReDim. Este comando é utilizado para redefinir o tamanho do vetor, que pode aumentar ou 
diminuir. Se precisarmos aumentar o tamanho do vetor e precisarmos manter os elementos já inclusos 
nas posições existentes, utiliza‑se o comando Preserve. Por exemplo, o código a seguir cria um vetor 
dinâmico chamado ProdutosSelecionados e redimensiona o vetor com três posições. A última linha 
expande o número de elementos do vetor para seis. Como está sendo utilizada a cláusula Preserve, o 
conteúdo já incluso no vetor permanecerá.
Dim ProdutosSelecionados()
ReDim ProdutosSelecionados(3)
ProdutosSelecionados(0) = “Caderno”
Redim Preserve ProdutosSelecionados(6)
5.5.1.3 Public
Quando declaramos uma variável como pública, ela pode ser referenciada por todo o script da 
página. Também pode‑se declarar vetores estáticos ou dinâmicos com a cláusula Public.
Sintaxe
Public nomevar[([dimensão])]Onde nomevar é o nome da variável e dimensão é o número de elementos do vetor.
5.5.1.4 Private
Variáveis declaradas com a cláusula Private são o oposto das variáveis declaradas com a cláusula 
Public. São válidas apenas dentro do script no qual foram declaradas. Podemos também declarar vetores 
dinâmicos e estáticos com o Private.
Sintaxe
Private nomevar[([dimensão])]
Onde nomevar é o nome da variável e dimensão é o número de elementos do vetor.
5.5.1.5 Regras para nomear as variáveis
Para nomear as variáveis, é preciso seguir algumas regras:
• devemos começar com um caractere alfabético;
• não se pode exceder o tamanho de 255 caracteres;
• o nome deve ser único no escopo no qual a variável é declarada.
120
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
Exemplo com a opção Option Explicit:
<%
teste = 5
if teste = 30 then
Mensagem = “O valor da variável Teste é igual a 30”
Else
Mensagem = “O valor da variável Teste é igual a 5”
End if
%>
<HTML><BODY>
<CENTER><B><% = Mensagem %><BR><BR>
</B></CENTER>
</BODY></HTML>
Onde teste e Mensagem são variáveis declaradas implicitamente, o VBScript encarrega‑se de 
entendê‑las como variáveis. Esta declaração implícita não é considerada uma boa prática pelos 
programadores, pois estamos sujeitos a erros de digitação, e para este tipo de declaração, declarar uma 
variável chamada teste e outra teste são consideradas variáveis diferentes. Para evitar esse tipo de erro, 
a declaração do Option Explicit está disponível para que obrigatoriamente todas as variáveis sejam 
declaradas explicitamente. Se optar por utilizá‑lo, a sua declaração deve ser feita antes de qualquer 
outra declaração, como, por exemplo:
<% Option Explicit
teste = 5
if teste = 30 then
Mensagem = “O valor da variável Teste é igual a 30”
Else
Mensagem = “O valor da variável Teste é igual a 5”
End if
%>
<HTML><BODY>
<CENTER><B><% = Mensagem %><BR><BR>
</B></CENTER>
</BODY></HTML>
Observe neste exemplo que foi declarada a cláusula Option Explicit, porém não foi exposta 
explicitamente a variável teste. Ao executar este ASP no servidor, será retornado um erro.
A mensagem do erro retornado Variable is undefined: ‘teste’ significa que a variável não foi 
declarada. Se voltarmos ao script, percebe‑se que realmente a variável não foi declarada.
121
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
<% Option Explicit
Dim teste
teste = 5
if teste = 30 then
Mensagem = “O valor da variável Teste é igual a 30”
Else
Mensagem = “O valor da variável Teste é igual a 5”
End if
%>
Se o ASP for executado novamente, não ocasionará o erro, pois a variável foi declarada.
6 OPERADORES E ESTRUTURAS DE FLUXO DE EXECUÇÃO 
6.1 Operadores
6.1.1 Operadores aritméticos
A linguagem VBScript é muito rica em operadores, sendo alguns mais utilizados do que outros, como 
é o caso dos operadores aritméticos que executam operações aritméticas. A seguir estão relacionados 
os operadores aritméticos binários, ou seja, que executam operações entre dois operandos em VBScript.
Quadro 16
Símbolo Operação
+ Soma
‑ Subtração
* Multiplicação
/ Divisão em vírgula flutuante. É a divisão normal devolvendo um número real se for o resultado
\ Divisão de inteiros. Devolve um número inteiro, resultado da divisão
^ Potência
Mod Resto da divisão
Vejamos a seguir um exemplo de script que realiza ações com estes operadores:
dim v1
dim v2
v1 = 34
v2 = 43
soma = v1 + v2
subtracao = v1‑ v2
122
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
potencia = v1 ^ v2
divisaoInteiros = v1 \ v2
msgbox(divisaoInteiros)
DivisaoReal = v1 /v2
msgbox(divisaoReal)
A função msgbox serve para mostrar um valor em uma janelinha de alerta típica de Windows. O 
VBScript possui também um operador do tipo unário (‑) que indica a troca do sinal algébrico do valor.
O operador (=) já é conhecido dos exemplos apresentados anteriormente. Em VBScript, o sinal de 
igual não tem a interpretação dada em matemática. Representa a atribuição da expressão à direita ao 
nome da variável à esquerda. Já os operadores + – / * representam as operações aritméticas básicas de 
soma, subtração, divisão e multiplicação.
6.1.2 Operadores relacionais
Os operadores relacionais são usados para fazer comparações. Em VBScript não existe um tipo 
de variável chamada booleana, isto é, que assume um valor verdadeiro ou falso. O valor zero (0) é 
considerado falso e qualquer valor diferente de 0 é considerado verdadeiro e é representado pelo inteiro 
1. Os operadores relacionais comparam dois operandos e retornam 0 se o resultado for falso e 1 se o 
resultado for verdadeiro. Os operadores relacionais disponíveis em VBScript são:
Quadro 17
Símbolo Operação
= <> Igual e diferente
> < Maior que e menor que
>= <= Maior ou igual que e menor ou igual que
A seguir um exemplo de script que realiza operações de comparação, embora antes de vê‑lo 
deve‑se pontuar que os operadores de comparação costumam ser utilizados dentro de uma estrutura 
condicional, que avalia uma expressão com estes comparadores e realiza ações dependendo do resultado 
dessas comparações. Por este motivo incluímos no script a estrutura condicional IF, que veremos com 
profundidade mais adiante.
preco = 20000
dinheiroAtual = 3500
if (dinheiroAtual = preco) then
 msgbox (“está certinho”)
end if
if (dinheiroAtual < preco) then
 msgbox (“falta dinheiro”)
end if
123
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
Nota‑se que o operador relacional de igualdade (=) tem a mesma simbologia do operador de atribuição, 
portanto, deve‑se tomar muito cuidado na aplicação de ambos, pois não haverá erro de execução pelo 
interpretador, podendo não se obter o resultado esperado com a utilização errada deste operador. 
6.1.3 Operadores lógicos
Estes operadores são empregados para comparar os bits contidos em duas variáveis, por isso, são 
denominados operadores lógicos binários. Ou seja, estes operadores fazem uma comparação lógica 
entre cada bit dos operandos envolvidos. Os operadores binários disponíveis são:
Quadro 18
Operador Operação
AND E lógico
OR OU lógico
XOR XOR
NOT NÃO lógico
Exemplo de utilização dos operadores lógicos em VBScript:
Dim a : a = 10
Dim b : b = 0
Dim c
 If a<>0 AND b<>0 Then
 x= msgbox (“AND Resultado do operado é: True”)
 Else
 x= msgbox (“AND Resultado do operado é: False”)
 End If
 If a<>0 OR b<>0 Then
 x= msgbox (“OR Resultado do operado é: True”)
 Else
 x= msgbox (“OR Resultado do operado é: False”)
 End If
 If NOT(a<>0 OR b<>0) Then
 x= msgbox (“NOT Resultado do operado é: True”)
Else
 x=msgbox (“NOT Resultado do operado é: False”)
 End If
 If (a<>0 XOR b<>0) Then
 x=msgbox (“XOR Resultado do operado é: True”)
 Else
 x=msgbox (“XOR Resultado do operado é: False”)
 End If
124
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
6.1.4 Operadores de concatenação
Esse tipo de operador tem a função de interligar duas cadeias de caracteres (strings). Como operador 
de cadeias de caracteres em Visual Basic Script temos um único exemplo: a concatenação. O operador 
para concatenar cadeias é o &. Vejamos um exemplo de utilização deste operador:
Dim a : a = “Microsoft”
Dim b : b = “VBScript”
Dim c
 c=a+b
 x=msgbox (“Concatenação do valor:1 é “ &c) ‘Adiciona um valor
 c=a&b
 x=msgbox (“Concatenação dovalor:2 é “ &c) ‘Concatena dois valores
6.2 Estruturas de fluxo de execução
6.2.1 Estruturas de decisão
Uma das tarefas fundamentais de qualquer programa é decidir o que deve ser executado a seguir. 
Os comandos de decisão permitem determinar qual é a ação a ser tomada com base no resultado de 
uma expressão condicional. Isso significa que pode‑se selecionar entre ações alternativas dependendo 
de critérios desenvolvidos no decorrer da execução do programa.
6.2.1.1 IF...THEN
O comando if é usado para testar uma condição e caso esta seja verdadeira, o programa irá executar 
uma instrução ou um conjunto delas.
A sintaxe de estrutura é mostrada a seguir:
IF (expressão) then
Sentenças
....
END IF
Em primeiro lugar, tem‑se a sentença IF, logo, uma expressão, que pode ou não ir entre parênteses, 
e mais tarde a palavra THEN. Vemos que logo há uma quebra de linha antes de colocar as sentenças 
associadas à avaliação positiva da sentença. 
Em VBScript, as linhas sim que importam. Depois de colocar as sentenças associadas à avaliação 
positiva, é utilizado um END IF para acabar a estrutura do IF.
125
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
6.2.1.2 IF...THEN...ELSE
Opcionalmente, pode‑se colocar uma série de sentenças associadas à avaliação negativa da expressão. 
Essas sentenças devem ser colocadas depois da ordem ELSE e antes do END IF.
A seguir, a sintaxe desse tipo de estrutura:
IF (expressão) then
Sentenças
....
ELSE
Sentenças
....
END IF
6.2.1.3 IF...THEN...ELSEIF
Em Visual Basic Script existe a possibilidade de utilizar um enunciado especial no lugar onde seria 
utilizado um ELSE. Serve para encadear sentenças IF de modo que em um resultado negativo de um IF 
se possa avaliar outra expressão, que teria por sua vez outros enunciados THEN e provavelmente ELSE 
ou outro ELSEIF. Pode ser visto em um exemplo com mais facilidade:
IF (expressao1) then
Sentencas1
....
ELSEIF (expressao2) then
Sentencas2
....
ELSEIF (expressao3) then
Sentencas3
....
ELSE
Sentencas4
....
END IF
Avalia‑se a primeira expressão; em caso positivo, executam‑se as sentenças1; no caso negativo, 
avalia‑se a expressão 2. Se a expressão 2 for positiva, executam‑se as sentenças 2; em caso negativo, 
avaliamos a expressão 3 com o seguinte ELSEIF. Tudo acaba em um ELSE neste exemplo, porém o ELSE 
final não é obrigatório.
126
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
A seguir um exemplo de aplicação desse tipo de estrutura:
Dim strCountry
strCountry = “USA”
If strCountry = “USA” Then
 WScript.Echo “United States of America.”
ElseIf strCountry = “CA” Then
 WScript.Echo “Canada.”
Else
 WScript.Echo “Some other country.”
End If
6.2.1.4 Select Case
Com a estrutura de controle CASE podemos avaliar uma variável e realizar ações dependendo do 
valor desta. A diferença com o IF consiste em que o número de possibilidades da avaliação desta variável 
não tem porque ser sim ou não, podendo fazer coisas para um número indeterminado de valores. 
A sintaxe é a seguinte:
SELECT CASE (variável)
CASE (valor1):
(ação para caso valor1)
CASE (valor3):
(ação para caso valor2)
CASE (valor3):
(ação para caso valor3)
CASE ELSE:
(ação em caso de que não se cumpra nenhum anterior caso)
6.2.1.5 End Select
Funciona da seguinte forma: primeiro se avalia a variável, se essa variável tiver como valor o valor1, 
são realizadas as ações associadas ao valor1. Se tiver o valor2, executam‑se as ações relacionadas com 
este valor 2. Assim, com quantos valores desejados. Por último, tem‑se um ELSE para realizar ações no 
caso de que não tivessem sido nenhum dos valores anteriores. Este ELSE é opcional.
A seguir tem‑se um exemplo com esta sentença muito simples. O primeiro a se fazer é solicitar um 
número e logo informar o dia da semana com o que corresponde. Se o número não for do um ao sete, 
informa‑se isso também.
Dim dia
dia = inputbox (“diz um dia da semana”)
SELECT CASE dia
127
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
CASE 1:
msgbox(“O dia é SEGUNDA”)
CASE 2:
msgbox(“O dia é TERÇA”)
CASE 3:
msgbox(“O dia é QUARTA”)
CASE 4:
msgbox(“O dia é QUINTA”)
CASE 5:
msgbox(“O dia é SEXTA”)
CASE 6:
msgbox(“O dia é SABADO”)
CASE 7:
msgbox(“O dia é DOMINGO”)
CASE ELSE:
msgbox(“Tem que ser um dia da semana em número, do 1 ao 7”)
END SELECT
6.2.2 Estruturas de repetição
As estruturas de repetição – também conhecidas como estruturas de looping – permitem a execução 
de uma linha ou bloco de código repetidamente até que uma condição seja verdadeira.
O uso de loopings nos programas é uma prática comum, pois, em muitos casos, é preciso percorrer 
uma determinada coleção de dados, um conjunto de registros, valores de matrizes etc.
6.2.2.1 Laço FOR
A sentença FOR é utilizada para os loops quando sabe‑se o número de vezes que deve‑se executar 
o loop. A seguir, sua simples sintaxe: 
FOR (iniciacao) TO (termo do loop) STEP (passo)
sentencas
........
NEXT
128
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
A sentença realiza uma repetição através da iniciação até o termo do loop. Para levar a conta se 
utiliza uma variável, como será visto no exemplo de como se utiliza esta variável. Com cada execução do 
loop se executam umas sentenças. NEXT serve para delimitar o final do loop, quando se encontra com 
o NEXT volta‑se outra vez ao princípio do FOR, assim até realizar o número de execuções determinado.
Existe um valor que serve para indicar o quanto que se deseja realizar os saltos entre execução 
e execução, é o valor STEP. Por exemplo, um STEP 2 determinaria que entre execução e execução, a 
variável incrementa‑se de duas unidades. No caso de não indicar nada, realizam‑se passos de um em 
um. Também podemos realizar passos em valores negativos. Um exemplo destes dados seria o seguinte:
for i=0 to 6 step 2
msgbox(i)
next
6.2.2.2 LOOP FOR EACH
A estrutura de controle FOR EACH serve para mover‑se pelos elementos de uma estrutura de dados, 
como poderia ser um vetor, e realizar ações para cada um dos elementos.
Vejamos com um exemplo esta estrutura de controle. Primeiro deve ser criado um vetor e preenche‑se 
com números cada um de seus campos, com um loop FOR normal. Mais tarde, é utilizado o loop FOR 
EACH para acessar a cada uma das posições deste vetor de números e escrever na página cada um 
desses números.
dim tor(20)
for i=1 to 20
 tor(i)=i
next
for each in tor
 response.write(tor(i))
next
No segundo loop indica‑se que para cada i (i é o índice com o qual podemos nos mover no loop e 
na estrutura) dentro de tor (que é a estrutura, neste caso um vetor) faça um response.write(tor(i)). Com 
tor(i) acessa‑se ao campo atual e response.write() serve para escrever algo na página web. Combinados, 
o que é escrito é o que existe na posição atual do vetor.
6.2.2.3 LOOP WHILE WEND
O loop WHILE...WEND serve para realizar um tipo de loop muito utilizado em programação, que é 
o loop Enquanto, que se executa enquanto se cumprir uma condição. 
A diferença do loop FOR é que este é utilizado quando não conhecemos o número de iterações que 
temos que realizar. 
129
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
O loop funciona da seguinte maneira. Quando se vai executar, avalia‑se uma expressão e comprova‑se 
que esta dá resultados positivos.Se for assim, executa‑se o corpo do loop (as sentenças que continuam 
até o WEND); em caso contrário, se sai. Isso pode ser visto na sintaxe a seguir.
WHILE (condicao)
sentenças
....
WEND
A seguir um pequeno exemplo sobre este loop que realiza uma conta número a número até 
chegar ao 13. Em cada iteração do loop é mostrada em uma janelinha o número atual e é oferecida a 
possibilidade de alterá‑lo, já que a janelinha é uma janela Input que oferece a oportunidade de mudar 
o valor e devolver esse valor mudado ou não. Caso não se mexa em nada no exemplo, este contará até 
13, mas se introduzirmos um número no inputbox, a conta continuará pelo número introduzido. Se o 
número introduzido for maior que 13, este também sairá do loop.
option explicit
dim a
a = 0
WHILE (a < 13)
 a = a + 1
 a=inputbox(“Dá‑me um valor inteiro, please”,”Petição de número”,a,200,100)
WEND
6.2.2.4 Loop DO...LOOP
O loop DO...LOOP é muito versátil. Com ele se pode criar grande variedade de loops diferentes, os 
quais comprovem uma condição antes de executar o loop uma vez, depois da primeira execução e com 
combinações com enquanto (WHILE) que se cumpre uma condição ou até (UNTIL) que essa condição 
se cumpra. A sintaxe desta estrutura é a seguinte:
DO [WHILE | UNTIL (condição)]
 sentenças
........
LOOP [WHILE | UNTIL (condição)]
O que sempre tenderemos nesses loops é o DO e o LOOP, entre estes dois colocaremos as sentenças 
que queremos executar em cada iteração do loop. Os loops têm que avaliar entre cada iteração se 
continuam se executando ou não, para isso avaliam uma condição. A versatilidade deste loop é que a 
condição se pode expressar de muitas maneiras distintas.
• Condição expressada ao lado do DO: neste caso, a condição se avalia antes de começar a se 
executar o loop.
130
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
• Condição expressada ao lado do LOOP: neste caso, a condição se avalia depois de se executar o 
loop. Tem como diferença principal frente ao outro método que neste caso o loop se executará 
pelo menos uma vez.
Além de poder expressar a condição nesses dois sites, também se pode construir a condição com 
um enunciado enquanto (WHILE) ou um enunciado até (UNTIL). As diferenças semânticas dessas duas 
possibilidades se transferem também à sua maneira de funcionar.
Na sequência, dois exemplos deste loop para compreender seu funcionamento. O exemplo pede 
constantemente o nome do autor da página e não para até que o nome seja “migue”. O usuário também 
tem a possibilidade de escrever “out”; nesse caso, comprovado com um enunciado IF, se sai do loop 
rompendo com a sentença EXIT DO, utilizada para romper loops.
Dim entrada
entrada = “”
DO WHILE (entrada <> “migue”)
 entrada = inputbox (“Diga o nome do autor”,”seguraca”,”migue”,2,3)
if (entrada = “out”) then
 msgbox “saia pela porta dos fundos”
 exit do
end if
LOOP
O seguinte exemplo realiza uma conta e entre conta e conta se mostra o valor da conta atual em 
uma janelinha onde sai um botão de Tentar outra vez e outro de Cancelar. Se clicar em Tentar outra vez, 
continua se executando o loop e se clicar Cancelar, sai pela porta de trás, de maneira parecida a como 
se saía no exemplo anterior, com EXIT DO.
option explicit
dim cont
dim resposta
cont = 0
DO
 cont = cont + 1
 resposta = msgbox (cont,69,”Variavel do loop, com valor 6 se sair”)
 if (resposta = 2) then
 msgbox “Conta Cancelada”,16,”Cancelou!”
 exit DO
 end if
LOOP UNTIL (cont = 6)
131
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
 Saiba mais
No fim da década de 1970, surgiu uma nova linguagem de programação 
voltada para o ensino, principalmente, de crianças e adolescentes. Essa 
linguagem se chama Logo. Versões desse programa ainda podem ser 
encontradas gratuitamente na internet. Para aqueles que tiverem a 
curiosidade, o site xLogo oferece gratuitamente o manual e o programa:
<http://xlogo.tuxfamily.org/pt/>.
6.3 Array
Os arrays ou matrizes são umas estruturas de dados muito utilizadas em qualquer linguagem. Trata‑se 
de variáveis, porém que estão preparadas para salvar uma quantidade maior de elementos. É como uma 
variável que tem vários compartimentos para salvar a informação e cada um desses compartimentos 
há que acessar como um índice. 
Antes de utilizar um array, devemos declará‑lo de maneira obrigatória. Para isso, utilizamos a 
palavra‑chave DIM da seguinte maneira: 
dim meuArray(20)
Depois da palavra DIM, deve‑se indicar o nome do array e, a seguir, entre parênteses, coloca‑se o 
número de posição máxima do array, neste caso, 20.
Os arrays em ASP começam desde a posição 0, ou seja, o primeiro elemento de um array está na 
posição 0. Portanto, se o array foi definido com 20 campos, como no exemplo, terá 21 elementos, a 
primeira posição será a 0 e a última posição seria a 20.
Para atribuir um valor a um array, se realiza igual a uma variável, porém acessando com o índice da 
posição a ser escrita.
meuArray(0) = 234
Para utilizar o conteúdo de um array, deve‑se indicar o índice que se deseja acessar. Por exemplo, caso 
se queira imprimir na página a primeira posição do array, esta ação deveria ser feita da seguinte maneira:
response.write(meuArray(0))
A seguir, um exemplo sobre como utilizar os arrays, em que serão realizados dois percorridos, um 
para escrever nele e o outro para ler a informação e escrevê‑la na página.
132
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
dim matriz (10)
for i=1 to 10
 matriz(i)=100 * i
next
for i=1 to 10
 response.write(“Posicao “ & i & “: “ & matriz(i) & “<br>”)
next
Este exemplo escreveria na página as posições do array, que contém variáveis numéricas que 
correspondem multiplicar seu índice por 100.
6.3.1 Arrays multidimensionais
Podem‑se construir matrizes multidimensionais, ou seja, que permitem criar matrizes de várias 
coordenadas. Para trabalhar com elas, utiliza‑se uma vírgula que separa os dois índices. Por exemplo, 
pode‑se definir uma matriz de 8x8 desta maneira:
dim meuArray2Dimensoes (7,7)
Como o array é de oito campos, utilizamos sete e suas posições serão as oito que vão desde o um 
ao oito. Para escrever e ler do array, pode‑se utilizar a vírgula de maneira similar a como se declara. Por 
exemplo, para colocar dados na posição 1,2, deve‑se fazer o seguinte:
meuArray2Dimensoes (1,2) = “texto posicao 1,2”
6.3.2 Redimensionamento de array
Existem situações em que necessitamos alterar o tamanho de um array em tempo de execução, ou 
seja, conforme o código vai sendo executado. Chamamos esse tipo de array, que se redimensiona, de 
array dinâmico. Para criar este tipo de array, pode‑se utilizar a sentença dim (como os anteriores) ou a 
sentença redim, com a particularidade de que não se coloca nenhum valor entre parênteses, onde antes 
se indicava o número de campos do array.
dim meu_array()
redim meu_outro_array()
Quando são utilizados arrays dinâmicos, pode‑se usar a sentença redim para indicar o número de 
dimensões e a quantidade de campos de cada dimensão. Com esta sentença indica‑se que meu_array 
deve ter o tamanho 10. Campos desde 0 até a 10.
redim meu_array(10)
133
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
Caso se indique a chave “preserve”, garante‑se que o conteúdo dos campos que havia previamente 
no array se mantém.
redim preserve meu_array(20)
Por último, se em qualquer momento é reduzido o número de campos,perde‑se o que possa ter sido 
salvo nos campos que se eliminaram.
No seguinte exemplo foi criado um array dinâmico e o seu redimensionamento inicialmente a 
tamanho três. São preenchidos e mostrados seus distintos valores. Posteriormente, redimensiona‑se 
outra vez para que se chegue até a posição sete, salvando os valores antigos, para preencher os campos 
criados novos e mostrar todos os valores do array.
dim frutas()
redim frutas(3)
frutas(0) = “Pêra”
frutas(1) = “Uva”
frutas(2) = “Maçã”
frutas(3) = “Melão”
for each in frutas
 response.write frutas(i) & “<br>”
next
redim preserve frutas(7)
frutas(4) = “Melancia”
frutas(5) = “Laranja”
frutas(6) = “Banana”
frutas(7) = “Tangerina”
for each in frutas
 response.write frutas(i) & “<br>”
next
Nota: os arrays de mais de uma dimensão também podem se redimensionar, porém só se pode 
alterar a última dimensão. Por exemplo, em um array de duas dimensões meuarray(2,4), se poderia 
redimensionar a segunda dimensão redim meuarray(2,8). Ou em um array de três dimensões, onde 
também pode‑se mudar somente a última dimensão.
6.3.3 Obtendo o número de campos de um array
Um dos dados típicos que necessitamos extrair de um array é seu número de posições. Isso é útil, 
por exemplo, para fazer um percorrido a um array, desde o primeiro até o último campo. Para isso, é 
utilizada a função uBound() de VBScript. uBound() recebe o array do que queremos obter seu número 
de posições e devolve a posição mais alta do array. Por exemplo:
134
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
dim cidades(5)
document.write ubound (cidades)
Na página, seria escrito o número do campo mais alto do array cidades, neste caso cinco.
Temos disponível a função lBound(), que devolve o número da posição com índice menor do array.
document.write lbound (cidades)
A última linha sobre o array de cidades definido anteriormente escreveria um zero na página web, 
visto que o array começa na posição zero.
6.4 Funções ou procedimentos
As funções servem para agrupar um conjunto de instruções de acordo com a tarefa que 
elas desempenham. Uma vez implementada corretamente essa tarefa, basta usar a sua função. 
Por exemplo, quando utilizada “response.write” para imprimir informações na tela, não há 
preocupação de como o programa realiza esta tarefa, pois a função já fornecia este serviço de 
forma adequada.
As funções, quando bem empregadas, facilitam bastante a organização modular do programa, 
permitindo a reutilização de suas partes, além de facilitar a sua manutenção.
Uma função é uma unidade de código de programa autônoma desenhada para cumprir uma tarefa 
particular. Provavelmente, a principal razão da existência de funções é impedir que o programador 
tenha que escrever o mesmo código repetidas vezes.
A primeira atitude a ser tomada ao criar um procedimento é pensar as coisas que se desejam fazer 
dentro da função, a informação que é necessitada (e que terá que ser recebida como parâmetro) e a 
informação que será devolvida. Com estas ideias claras, pode‑se construir os procedimentos e funções 
sem muita dificuldade, seguindo estas estruturas.
Para um procedimento
Sub nome (parametro1, parametro2...)
... Código do procedimento
end Sub
Para uma função
Function nome (parametro1, parametro2...)
... Código da função
end Function
135
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
LINGUAGEM DE PROGRAMAÇÃO APLICADA
6.4.1 Procedimentos ou sub
Diz‑se que um procedimento era uma sub‑rotina que se chamava e realizava ações, mas que não 
devolvia nenhum valor e, portanto, não era possível utilizá‑la dentro de uma expressão. A seguir, um 
exemplo de procedimento. É uma sub‑rotina que escreve na barra de estado uma mensagem. Utiliza‑se 
um loop vazio para que o navegador esteja um pouco mais lento e o texto saia pouco a pouco. Ao invés 
desse loop, poderia ser utilizada uma função chamada setTimeout, porém não será introduzida agora.
sub mostraAbaixo(texto)
dim i, j
dim actual
for i=0 to len(texto)
 actual = left(texto,i)
 window.status = actual
 ‘loop para frear o navegador deveria utilizar‑se a função setTimeOut
 for j=0 to 20000
 j = j
 next
next
end sub
6.4.2 Funções
Uma função nada mais é do que um pedaço de código que opera para devolver um valor. Agora será 
visto detalhadamente um exemplo de seu uso. Define‑se uma função que realize um cálculo matemático 
e devolva o resultado do mesmo. Extrai‑se os operandos de um formulário. Agora, o exemplo pode ser 
um pouco complexo, por tratar com formulários – os quais ainda não foram vistos –, porém pode‑se ver 
o código da função e ter uma ideia exata de seu uso, que, afinal de contas, é o que importa.
O código da função será o seguinte:
function operar (operador,op1,op2)
select case operador
 case “+”:
 operar = op1 + op2
 case “‑”:
 operar = op1 – op2
 case “*”:
 operar = op1 * op2
 case else:
 operar = op1 / op2
end select
end function
136
Re
vi
sã
o:
 F
ab
ríc
ia
 -
 D
ia
gr
am
aç
ão
: J
ef
fe
rs
on
 -
 0
7/
06
/1
7
Unidade III
A função recebe três parâmetros; o primeiro é um operador, que não é nada mais do que um texto 
com o sinal da operação a realizar. Os dois seguintes parâmetros são os operadores que há que tratar.
A função realiza uma operação matemática dependendo do operador e devolve em cada caso o 
resultado conveniente. Para devolver um valor, deve‑se realizar uma atribuição do nome da função ao 
valor que se deseja devolver.
Não implica nenhuma complicação maior. A seguir o código que pode ser utilizado para fazer a 
chamada à função.
meuOperador=”+”
meuOperando1=221
meuOperando2=32
resultado = operar(meuOperador,meuOperando1,meuOperando2)
No final de todas essas sentenças, a variável resultado terá como valor 253.
 Resumo
Nesta unidade apresentamos os principais conceitos de uma linguagem 
de programação baseada em scripts, a linguagem VB Script. 
Mostrou‑se como um script é inserido dentro de uma página 
desenvolvida para web através da criação de páginas com extensão ASP. 
A estrutura de uma página ASP, com seus marcadores e formatações, foi 
demonstrada por meio de de alguns exemplos, bem como os requisitos 
necessários para que uma página ASP possa ser executada por um sistema 
operacional. Foram apresentadas as principais características da linguagem 
VB Script como tipos de dados e quais os operadores e as estruturas de 
controle de fluxo de execução de um código. 
Mostrou‑se também como criar, através de um código botões, caixas 
de texto e mais alguns objetos para interação direta do usuário com o 
software. Tipos de variáveis e formas de declará‑las foram demonstradas 
com exemplos para fácil entendimento.

Outros materiais

Outros materiais