Curso Básico de ASP 3.0 – Módulo 02 – Lição 06
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.
O Escopo das variáveis no VBScript
O escopo de uma variável, define em que partes do código de um Script, a variável pode ser utilizada, ou seja, em que partes do código o valor da variável está acessível para ser utilizado em funções, fórmulas e expressões de cálculo. Em VBScript, podemos ter dois escopos para as variáveis:
- Escopo de Script: Uma variável declarada dentro do Script, mas fora de qualquer Procedimento. Com isso a variável pode ser utilizada dentro de todo o bloco de código do Script, inclusive dentro dos Procedimentos, caso exista algum. Uma variável declarada em nível de Script, existe enquanto o Script estiver sendo executado. Quando falamos de Script, não é um único bloco de Script, pois sabemos que uma página pode conter mais do que um bloco de Script. Uma variável declarada em nível de Script, poderá ser utilizada em todos os Blocos de script, da página.
- Escopo de procedimento: A variável somente pode ser utilizada, dentro do procedimento onde a variável é declarada. Se tentarmos utilizar a variável fora do procedimento onde ela foi declarada, não teremos acesso ao seu valor. Uma variável declarada em nível de procedimento, existe enquanto o procedimento estiver sendo executado.
NOTA: Um procedimento é um bloco de código que pode ser chamado em qualquer ponto do Script. Ao chamarmos um procedimento, a execução é deslocada para dentro do procedimento. Após concluído o procedimento, a execução segue com a linha seguinte à que chamou o procedimento. Veremos maiores detalhes sobre procedimentos e funções, no final deste módulo.
Vamos analisar o exemplo da Listagem 2.18, para entendermos melhor este conceito de escopo de uma variável. Neste exemplo irei apresentar um conceito muito importante, o conceito de evento e procedimentos que executam código em resposta a eventos.
Listagem 2.18 – Exemplo para análise do escopo de variáveis.
1 <HTML>
2 <HEAD>
3 <TITLE>Analisando o escopo de variáveis !!!</TITLE>
4 <SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
5 <!--
6 ' No evento onclick, do botão analisar,
7 ' chamamos o procedimento proc1.
8 Sub analisar_onclick
9 Call proc1
10 End Sub
11 -->
12 </SCRIPT>
13 </HEAD>
14 <BODY>
15 <SCRIPT LANGUAGE=vbscript>
16 <!--
17 ' As variáveis declaradas abaixo
18 ' Serão visíveis em todo o Script
19 Dim x, y
20 x=10
21 y=20
22 'Agora vamos criar um procedimento
23 'E declarar duas variáveis dentro deste procedimento.
24 'Estas variáveis somente serão visíveis,
25 'Dentro deste procedimento.
26 Sub proc1()
27 Dim a, b
28 a=5
29 b=7
30 MsgBox "x= " & x & " y= " & y & " a= " & a & " b= " & b
31 End Sub
32 ' Agora vamos tentar utilizar os valores de a e b
33 ' Fora do procedimento proc1.
34 ' Observe que a variável aux1 não é calculada
35 ' corretamente, uma vez que os valores de a e b
36 ' não estão disponíveis, fora do procedimento proc1
37 aux1=a+b
38 MsgBox "aux1= " & aux1
39 -->
40 </SCRIPT>
41 <P>EXEMPLO PARA ANÁLISe DO ESCOPO DE VARIÁVEIS.</P>
42. <P>CLIQUE NO BOTÃO ANALISAR - >>
43 <INPUT id=”analisar” name=”analisar” type=”button” value=”analisar”></P>
44 </BODY>
45 </HTML>
Vamos analisar uma série de detalhes sobre esta listagem.
1) Na linha 43, temos a tag INPUT, com type=”button”, esta tag insere um botão de comando, no qual o usuário pode clicar. Na Figura 2.23, podemos ver a página com o botão analisar.

Figura 2.23 Botão analisar,criado com a tag <INPUT TYPE=”BUTTON”>
2) Ao carregar esta página no Internet Explorer, serão automaticamente executadas, as linhas 37 e 38, pois todo código que não estiver dentro de um procedimento, é automaticamente executado, quando a página é carregada. Este código exibe o valor da variável aux1. Porém, conforme podemos notar na Figura 2.24, o valor exibido é zero, e não 12 que seria a soma de a=5, com b=7. Isto acontece, porque as variáveis “a” e “b” foram definidas dentro do procedimento proc1, e somente existem, quando o procedimento proc1 for chamado. Nesta caso como não existem os valores, a variável aux1 fica com o seu valor inicial de quando foi declarada, que por padrão do VBScript, é zero.

Figura 2.24 Variável aux1, com seu valor zerado.
3) Qualquer coisa que o usuário faça em uma página é considerado um evento. Por exemplo, quando o usuário clica no botão analisar, é gerado o evento analisar_onclick. Podemos escrever código VBScript, para qualquer evento, definido no modelo de eventos do Internet Explorer. No nosso exemplo, nas linhas de 8 à 10, definimos código em resposta ao evento onclick, do botão analisar. Quando o usuário clicar no botão analisar, este evento é gerado e o código da linha 9 é executado. Este código chama o Procedimento proc1. Dentro do procedimento proc1, são definidas as variáveis a e b (linhas 27 à 29). Depois é utilizado o comando MsgBox para exibir os valores das variáveis x, y, a e b. Como as variáveis x e y, foram declaradas em nível de Script, isto é, fora de qualquer procedimento, estas são acessíveis em qualquer ponto do Script. Com isso a mensagem exibe os valores corretamente, conforme indicado na Figura 2.25. Veremos maiores detalhes sobre eventos e procedimentos no Módulo 4.

Figura 2.25 Variáveis em nível de Script são visíveis em toda a página.
4) Todas as linhas que iniciam com um apóstrofe (‘), são comentários. Linhas de comentários servem para documentar nossos scripts, facilitando a interpretação e o entendimento dos Scripts. Crie o hábito de inserir comentários detalhados nos scripts que você cria. Estes comentários podem ser úteis até para você mesmo, caso tenha que alterar um script que você fez, uns seis meses depois de tê-lo criado.
Conclusão
Com esse exemplo, foi possível verificar, na prática, o conceito de escopo (algumas vezes chamado de visibilidade) das variáveis. Nas próximas lições, trataremos das Estruturas e laços de controle, que são elementos muito importantes na criação de scripts.
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.