Portal Chamar Táxi

Tutorial de Visual Basic Script

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Manual da linguagem de scripting de Microsoft para páginas web com a qual poderá aprender a realizar efeitos para o Internet Explorer. Explore as características do HTML Dinâmico com a linguagem do navegador mais habitual.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Introdução ao Visual Basic Script



Conheça o que é o scripting para páginas web, qua linguagens existem e como incrustar seus scripts nas páginas. Descubra a primeira utilidade da linguagem através de um exemplo prático.

Por Miguel Angel Alvarez - Tradução de JML




A linguagem para descrever páginas, HTML, fica limitada na hora de definir qualquer tipo de interatividade. Uma vez que tivermos explorado sua potência, necessitaremos aprender alguma linguagem nova para fazer pequenos efeitos ou interatividades.

Scripts
São os pequenos programinhas que, incrustados nas páginas, nos permitem definir aqueles efeitos ou interatividades.

Visual Basic Script
Neste manual trataremos de Visual Basic Script, uma linguagem compatível com Internet Explorer e outros sistemas Microsoft, que à princípio é uma vantagem é uma vantagem para programadores experientes nestes sistemas.

Outras linguagens
Existem dois tipos principais de linguagens de scripting, e uma infinidade de utilidades diferentes, mas vale destacar a linguagem Javascript por ser parecida em utilidade a VBScript, mas compatível com os dois navegadores mais habituais.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Como colocar scripts

Para colocar um script em uma página web utilizamos a etiqueta de HTML <SCRIPT>. Tudo que colocarmos entre essa etiqueta e a de fechamento, </SCRITP>, tem que ser código da linguagem de scripting que estivermos utilizando.
Também devemos indicar a linguagem com a qual estamos programando. No nosso caso, colocaremos: <script language="VBScript" >
---Aqui colocaremos nossos scripts---
</script>


Parece uma besteira, mas observem que a palavra language em inglês se escreve com dois "G": language. Se vocês errarem neste ponto, coisa bastante provável se escreverem rápido e distraídos, não funcionarão seus scripts, pois o navegador pensará que estão escritos em JavaScript.

Primeiro Script simples

Para terminar este capítulo vamos ver um primeiro exemplo de script em uma página web. O objetivo deste 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>



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.
Este script dará como resultado que o documento lhe informe de sua última atualização, de uma maneira parecida a esta
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Primeiros passos com a linguagem


Neste capítulo você poderá encontrar as primeiras pistas da programação dinâmica de páginas em VBScript. É uma lista das regras básicas da linguagem.

Por Miguel Angel Alvarez - Tradução de JML




As linguagens de scripting têm uma série de características comuns, estas 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 nosso código.

Variáveis
As variáveis são espaços onde se armazenam os dados que utilizam os programas ou scripts.
Não se declaram: em VBScript as variáveis não se devem ser declaradas, ou seja, quando necessitarmos uma variável, simplesmente a utilizamos e pronto. Mesmo assim, se desejarmos declarar uma variável utilizamos a palavra DIM
Não existem tipos: as variáveis não estão classificadas por tipos, isto quer dizer que podemos salvar nelas igualmente números ou letras ou outras coisas.

Quebras de linha
As quebras de linha são muito importantes. 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.

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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Exemplo de tudo isto

Vamos ver a seguir um simples script que serve de exemplo para tudo que foi dito anteriormente.
No exemplo a seguir abrem umas janelinhas com mensagens (sentença msgbox) sendo as mensagens 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 alert 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>
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Diferentes formas de executar scripts



Vamos aprender agora quais são as maneiras de executar scripts nas páginas e os casos para utilizar cada uma delas.

Por Miguel Angel Alvarez - Tradução de JML




Agora que você já sabe como incluir scripts nas suas páginas e alguns fundamentos da linguagem, vamos ver os dois casos em que o Internet Explorer pode executar seus scripts, e de passo damos uma primeira olhada no 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 quiser 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 (tal como foi visto no capítulo 1).

O segundo caso é útil quando desejar 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 em cima de um link, etc. Quase qualquer coisa que o usuário pode realizar dentro da página tem um evento relacionado.

Utilizando os eventos podemos preparar algum efeito que seja visível somente quando o usuário realizar alguma ação dentro da página web.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Exemplo de tudo isto

Vejamos agora um exemplo para compreender de vez as 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. Vamos fazer de duas maneiras: enquanto o usuário carrega a página e quando ele apertar um botão.

Exemplo de execução ao carregar a página
Começamos pela execução de scripts quando o usuário carrega a página. Esta é a forma mais simples, e realmente você já deve conhecer vários exemplos disso pelo que foi visto nos capítulos anteriores.


<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 aos exemplos que realizamos. 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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Exemplo de execução como resposta à ação do usuário
Agora vejamos o que temos que fazer quando desejarmos 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>





Este exemplo tem algumas coisas novas que temos que destacar:
Cria-se um botão com a etiqueta <INPUT>
Acrescentamos 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".
Acrescentamos o a atributo language para especificar a linguagem em que está escrito o código script associado aol 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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Declarar variáveis


Umas notas sobre a declaração de variáveis em VBScript que tinham ficado pendentes. Aprenda como fazer este passo evitando erros.

Por Miguel Angel Alvarez - Tradução de JML




Antes de passar a temas mais interessantes falta explicar a forma de declarar variáveis em VBScript. Dissemos antes que não era necessário declarar estas variáveis, mas pode ser um bom costume fazer para evitar erros.

Uma variável se declara utilizando a palavra DIM, vejamos como:

<script language="vbscript">
dim minha_nova_variavel

'Agora ja existe a variavel
'Seguidamente vou fazer uso dela

minha_nova_variavel = "Valor da variavel"
</script>




Como devemos lembrar não importa que tipo de informação vai conter a variável, sempre se declaram de forma igual.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Como devemos lembrar não importa que tipo de informação vai conter a variável, sempre se declaram de forma igual.

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 utilizar esta cláusula e fará com que seus scripts respondam com mensagens de erro se utilizar uma variável que não tiver declarado 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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Tipos de dados


Vejamos agora quais são os tipos de dados que suporta VBScript.

Por Miguel Angel Alvarez - Tradução de JML


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 introduzirmos dentro. 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, só temos que introduzir 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:


Booleano
É um tipo de dados que contém um sim ou um não.
Correspondem-se:
TRUE equivale a (-1)
FALSE equivale a (0)


Byte
Numérico, inteiro sem sinal até 65.000

Currency
Tipo de moeda, utiliza-se para manipular de maneira exata valores monetários, e em geral qualquer cálculo que requeira uma precisão de até 15 dígitos decimais

Data
É um tipo de 64 bits de tamanho que armazena datas. Utiliza-se o formato americano: mês, dia, hora.

Double
Vírgula flutuante com dupla precisão (64 bits)
I
nteiro
Número inteiro, com sinal.
Desde -32.768 até 32.767
I
nteiro longo
Este tipo é um valor inteiro com sinal de dupla precisão. Como os novos computadores trabalham com palavras de 32 bits, e não menos, recomenda-se usar este tipo antes do tipo inteiro normal.

Objeto
O subtipo de objeto é uma referência de ponteiro de 32 bits a uma instância de objeto de automatização OLE. Os controles Active-X e Java. Utilizam esta sintaxe:
Set meuobjeto = new oleObjeto

Single
Vírgula flutuante de precisão simples

Cadeia
Conjunto contínuo de valores de caracteres, de longitude variável.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Segundo o tipo de dados que achar na variável, VarType devolverá um valor diferente, como indica esta tabela:
Constant------- Value----------- Description
vbEmpty------- 0----------------- Empty (uninitialized)
vbNull---------- 1----------------- Null (no valid data)
vbInteger-------2----------------- Integer
vbLong--------- 3----------------- Long integer
vbSingle --------4---------------- Single-precision floating-point number
vbDouble------- 5---------------- Double-precision floating-point number
vbCurrency------ 6---------------- Currency
vbDate--------- 7------------------------ Date
vbString --------8------------------------ String
vbObject------- 9----------------------- Automation object
vbError---------- 10--------------------- Error
vbBoolean------ 11---------------------- Boolean
vbVariant------- 12------------- Variant (used only with arrays of Variants)
vbDataObject----- 13-------------------- A data-access object
vbByte---------- 17------------------------- Byte
vbArray--------- 8192---------------------------- Array
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Operadores I – Aritméticos



Vejamos os operadores aritméticos que podemos utilizar em Visual Basic Script.

Por Miguel Angel Alvarez - Tradução de JML


Visual Basic Script, como qualquer linguagem de programação, tem um conjunto de operadores, divididos em várias seções:

Operadores Aritméticos

Que suportam as operações matemáticas mais simples.
+ Soma
- Subtração
* Multiplicação
/
Divisão em vírgula flutuante. É a divisão normal.
Devolve 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

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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Operadores II – Comparação


Vemos neste capítulo os diferentes operadores de comparação de Visual Basic Script.

Por Miguel Angel Alvarez - Tradução de JML




Para realizar comparações, Visual Basic Script possui os seguintes operadores:
= <> Igual e diferente
> < Maior que e menor que
>= <= Maior ou igual que e menor ou igual que


Vejamos a seguir um exemplo de script que realiza operações de comparação, embora antes de vê-lo deveríamos 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
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Operadores III lógicos e cadeias



Neste último capítulo de operadores vamos ver os relacionados com as operações lógicas e as operações de concatenação de cadeias.

Por Miguel Angel Alvarez - Tradução de JML




Operadores lógicos

Os operadores lógicos se utilizam sobre expressões booleanas e nos devolvem um valor booleano (verdadeiro ou falso) resultado dessa operação. Um matiz seria que não é necessário que as parcelas relacionadas no cálculo sejam variáveis booleanas, podendo ser de qualquer tipo.

Como operadores lógicos enmVisual Basic Script temos:
AND E lógico
OR OU lógico
Xor Xor
Not NÃO lógico


Operadores de cadeias

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:

cadeia1 = "Oi "

cadeia2 = "Zé!"

concatenar = cadeia1 & cadeia2

msgbox (concatenar)
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Estruturas de controle



Vemos o que são as estruturas de controle e as que temos disponíveis com a linguagem VBScript.

Por Miguel Angel Alvarez - Tradução de JML




As estruturas de controle nos permitem realizar ações típicas em nossos scripts como podem ser os loops ou a tomada de decisões.

VBScript tem as estruturas de controle típicas das linguagens de programação. Veremos nos seguintes capítulos a sintaxe e a maneira de trabalhar destas estruturas detalhadamente:

Condicionais
IF, condicional que decide entre sim/não
CASE, outra condicional com várias possibilidades
Loops
FOR, repetição um determinado número de vezes
FOR EACH, repetição para um conjunto de elementos
WHILE...WEND, repetição enquanto ocorra alguma coisa
DO...LOOP, repetição um determinado número de vezes
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Estrutura IF



Vemos todos os diferentes usos de IF, com enunciados ELSE e ELSEIF.

Por Miguel Angel Alvarez - Tradução de JML






A estrutura de controle IF permite decidir entre duas opções resultantes da avaliação de uma sentença. Se a avaliação for positiva se faz uma coisa, também podemos especificar ações para realizar no caso de que a avaliação seja negativa. Veamos cómo funciona en VBscript. IF (expresion) then
Sentencias


....
END IF

Vemos que em primeiro lugar temos 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 colocamos um END IF, para acabar a estrutura do IF.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Enunciado ELSE

Opcionalmente pode-se colocar uma série de sentenças associadas à avaliação negativa da expressão. Estas sentenças devem ser colocadas depois da ordem ELSE e antes do END IF.
IF (expresion) then
Sentencas
....
ELSE
Sentencas
....
END IF



Enunciado ELSEIF

Em Visual Basic Script existe a possibilidade de utilizar um enunciado especial no lugar onde utilizaríamos 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. Poderia 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, no 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.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Estrutura CASE



Vemos a sentença CASE em VBScript, com exemplos sobre seu funcionamento.

Por Miguel Angel Alvarez - Tradução de JML




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 (variavel)
CASE (valor1):
(acao para caso valor1)
CASE (valor3):
(acao para caso valor2)
CASE (valor3):
(acao para caso valor3)
CASE ELSE:
(acao em caso de que nao se cumpra nenhum anterior caso)
END SELECT



Funciona assim, primeiro se avalia a variável, se essa variável tiver como valor o valor1 realizamos as ações associadas ao valor1. Se tiver o valor2, executamos as ações relacionadas com este valor3. Assim com quantos valores desejarmos. Por último temos um ELSE para realizar ações no caso de que não tivessem sido nenhum dos valores anteriores. Este ELSE é opcional.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Vejamos com um exemplo esta sentença muito simples. O primeiro que faz é solicitar um número e logo informa o dia da semana com o que corresponde. Se o número não for do um ao sete, informa isso também.
dim dia


dia = inputbox ("diz um dia da semana")
SELECT CASE dia
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
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Loop FOR



Loop FOR , o mais simples e habitual. Vemos sua sintaxe e um exemplo de seu funcionamento em VBScript .

Por Miguel Angel Alvarez - Tradução de JML




A sentença FOR é utilizada para os loops, quando sabemos o número de vezes que devemos executar o loop. Vejamos sua simples sintaxe:
FOR (iniciacao) TO (termo do loop) STEP (passo)
sentencas
........
NEXT


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, já veremos no exemplo 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 grande que se deseja realizar os saltos entre execução e execução, é o valor STEP. Um STEP 2 determinaria que entre execução e execução a variável incrementa-se em 2 unidades. No caso de não indicar nada realizam-se passos de 1 em 1. 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


Este exemplo apresentaria uma mensagem com um numero da variável i, utilizada para levar a conta das execuções do loop.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Loop FOR EACH



Um loop FOR especial, utilizado para percorrer os elementos de uma estrutura de dados. Explicamos seu funcionamento em VBScript.

Por Miguel Angel Alvarez - Tradução de JML




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: No exemplo, primeiro criamos um vetor e preenchemos com números cada um de seus campos, com um loop FOR normal. Mais tarde utilizamos o loop FOR EACH para acessar a cada uma das posições deste vetor de números e escrever na página cada um destes números.
dim tor(20)
for i=0 to 20
tor(i) = i
next
for each i in tor
document.write (tor(i))
next

Observemos o 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 document.write(tor(i)). Com tor(i) acessamos ao campo atual e document.write() serve para escrever algo na página web. Conbinados, o que é escrito é o que existe na posição atual do vetor.



O.b.s.: Este exemplo não foi provado em Mozilla Firefox.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Loop WHILE WEND


Vemos a sintaxe deste loop while wend e um exemplo.

Por Miguel Angel Alvarez - Tradução de JML




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 se utiliza quando não conhecemos o número de iterações que temos que realizar.

O loop funciona da seguinte maneira. Quando se vai executar, avalia uma expressão e comprova que esta dá resultados positivos. Se for assim, executa o corpo do loop (as sentenças que continuam até o WEND), em caso contrário se sai. Podemos ver a sintaxe a seguir. WHILE (condicao)
sentencas
....
WEND


Agora vamos ver 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 mostra em uma janelinha o número atual e oferece a possibilidade de altera-lo, já que a janelinha é uma janela Input, que oferece a oportunidade de mudar o valor e devolve esse valor, mudado ou não. Como dizíamos, se deixarmos o exemplo sem tocar nada, contará até 13, mas se introduzirmos um número no inputbox continuará a conta pelo número introduzido. Se o número introduzido for maior que 13 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
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Loop DO LOOP



Este é o loop mais potente que se pode encontrar em VBS, contamos a sintaxe e oferecemos alguns exemplos de loops um pouco mais complexos.

Por Miguel Angel Alvarez - Tradução de JML




O loop DO...LOOP é muito versátil. Com ele se pode criar grande variedade de loops diferentes, loops que 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 (condicao)]
Sentencas
.....
LOOP [WHILE | UNTIL (condicao)]


Vamos tratar de explicar esta sentença de maneira pausada para que seja mais fácil de entender. 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. O loops têm que avaliar entre cada iteração se continuam se executando ou não, para isso avaliam uma condição. O versátil 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.
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 nesse 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 destas duas possibilidades se transferem também a sua maneira de funcionar.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,629
Gostos Recebidos
1
Veremos dois exemplos deste loop para compreender seu funcionamento. O exemplo pede constantemente o nome do autor da página e não pára 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 saia no exemplo anterior, com EXIT DO.
option explicit
dim cont
dim resposta
cont = 0
DO
cont = cont +1
respuesta = 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)
 
Topo