Você está na página 1de 7

APOSTILA VBSCRIPT

ActiveX & Scripting O ActiveX Scripting oferece muito mais do que apenas uma linguagem de scripting para navegadores da Web. ActiveX uma plataforma para desenvolvimento de qualquer quantidade de linguagens de scripting para qualquer finalidade que os desenvolvedores da Web exijam. Usando os servios de scripting do ActiveX, uma linguagem de scripting pode ser implementada em qualquer plataforma. O ActiveX Scripting construdo a partir de dois componentes principais bsicos: Hosts de Scripting do ActiveX - Os aplicativos em que um scripting executado. VBScript em outras Aplicaes e Browsers Como um desenvolvedor, voc tem licena para usar seus cdigos fontes em VBScript em suas aplicaes. A Microsoft fornece implementaes binrias do VBScript em Windows 16-bits e 32-bits, e para o Macintosh. VBScript integrado com browsers da World Wide Web. VBScript e ActiveX Scripting pode tambm ser usuados como uma lnguagem geral em outras aplicaes. Adicionando Cdigos do VBScript para uma Pgina HTML Voc pode usar os elementos de SCRIPT, para adicionar cdigos do VBScript em uma pgina HTML. A Tag <SCRIPT> Os cdigo do VBScript so escritos dentro da tag <SCRIPT>. Por Exemplo, um procedimento para testar uma data de entrega pde aparecer como se segue: <SCRIPT LANGUAGE="VBScript"> <!-Function CanDeliver(Dt) CanDeliver = (CDate(Dt) - Now()) > 2 End Function --> </SCRIPT> Inicia e conclui com a tag <SCRIPT>. O atributo LANGUAGE indica a linguagem de scripting. Voc deve especificar a lnguagem porque os browsers podem usar outros tipos linguagens de scripting. Note que a funo CanDeliver embutida nas tags de comentrio (<!-- e --> ). Isto previne browsers que no compreende a tag <SCRIPT> de exibir o cdigo. Voc pode incluir o Script na seo HEAD da pgina: <HTML> <HEAD> <TITLE>Place Your Order</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-Function CanDeliver(Dt) CanDeliver = (CDate(Dt) - Now()) > 2 End Function -->

</SCRIPT> </HEAD> <BODY> ... Voc pode usar blocos de SCRIPT em qualquer parte de uma pgina HTML. Voc pode coloc-lo na seo BODY e ou HEAD. Entretanto, voc provavelmente desejar colocar todo o cdigo de scripting na seo HEAD, com o intuito de organiz-lo. Guardando seu cdigo na seo HEAD voc assegura que todo o cdigo est sendo lendo e decodificado antes de qualquer chamadas da seo BODY da pgina HTML. Um exceo notvel para esta regra que voc pode desejar fornecer cdigo do inline scripting ao responder os eventos de objetos em seu formulrio. Por Exemplo, voc pode embutir cdigo do scripting para responder a um clique no boto em um formulrio: <HTML> <HEAD> <TITLE>Test Button Events</TITLE> </HEAD> <BODY> <FORM NAME="Form1"> <INPUT TYPE="Button" NAME="Button1" VALUE="Click"> <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript"> MsgBox "Button Pressed!" </SCRIPT> </FORM> </BODY> </HTML> A maior parte de seu cdigo aparecer em procedimentos Sub ou Function, sendo executadas apenas quando forem chamadas. Entretanto, voc pode escrever cdigos em VBScript fora dos procedimentos, mas ainda dentro um bloco de SCRIPT. Este cdigo executado apenas uma vez, quando a pgina HTML for carregada. Isto permite a voc iniciar dados ou criar um dinamismo na forma de exibir sua pgina, enquanto ela carregada.

Tipos de Dados do VBScript O VBScript tem unicamente um tipo de dado chamado Variant. Um dado Variant uma espcie especial de tipo de dados que pode conter espcies diferentes de informao, dependendo de como seja usado. Como Variant o nico tipo de dados do VBScript, este ser tambm o tipo de dado retornado pelas funes do VBScript. Uma varivel declarada como Variant pode conter um valor numrico, ou uma cadeia de caracter. Se voc est trabalhando com dados que compare nmeros iguais, o VBScript assume que seu tipo de dado nmerico. Parecidamente, se voc est comparando caracteres literais, o VBScript trata seus dados como string. Voc pode usar nmeros como strings simplesmente cercando-os com aspas (" "). Subtipos Variant Alm do tipo numrico ou string, uma Variant podem fazer distines sobre uma natureza especfica de informao numrica. Por Exemplo, voc pode ter informao numrica que representa uma data ou um tempo. Certamente, voc pode tambm ter uma variedade rica de informao numrica, essas

categorias diferentes de informao que pode ser contida em uma Variant so chamadas subtipos. A seguinte tabela mostra os subtipos de dados que uma Variant pode conter: Subtipo Descrio Empty (Vazio) Descrio Valor igual a 0 para variveis numricas ou ("") zero-comprimento para variveis string. Variant contm intencionalmente nenhum valor vlido. Contm False (falso) ou True (Verdadeiro) um ou outro. Contm inteiro de 0 a 255. Contm inteiro de -32,768 a 32,767. 922,337,203,685,477.5808 a 922,337,203,685,477.5807. Contm inteiro de -2,147,483,648 a 2,147,483,647. 3.402823E38 a -1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos. Contm um duplicar-exatido, boiado-ponto nmero na srie 1.79769313486232E308 para 4.94065645841247E-324 para valores negativos; 4.94065645841247E-324 para 1.79769313486232E308 para valores positivos. Contm um nmero que representa uma data entre 1 de Janeiro de 100 at 31 de Dezembro de 9999. Variveis alfanumricas, que podem ter um comprimento de 0 at aproximadamente 2 bilhes de caracteres. Qualquer referncia de Objeto. Contm um nmero de erro.

Null (Nulo) Boolean Byte Integer Currency Long Single

Double

Date (Tempo)

String

Object Error

Voc pode usar funes de converso para converter dados de um subtipo para o outro. A funo VarType retorna informao sobre seus dados, e armazena dentro de uma Variant.

Variveis do VBScript O que uma Varivel? Uma varivel um nome conveniente que se refere a uma localizao de memria do computador, onde voc pode armazenar informaes de um programa sendo possvel alterar seu valor durante o processamento. Por exemplo, voc pde cria uma varivel chamada ClickCount para armazenar o nmero de vezes que um usurio pressionou um objeto em uma pgina da Web. A forma com que a varivel armazenada na memria do computador sem importncia. O que importante que para alterar ou atribuir um valor para essa varivel voc deve referenci-la pelo seu nome. No VBScript, as variveis so sempre tipos de dados Variant.

Declarando Variveis Voc declara variveis explicitamente em seu script usando a declarao Dim, a declarao Public, e a declarao Private. Por exemplo: Dim DegreesFahrenheit Voc pode declarar variveis mltiplas separando-as por vrgula. Por exemplo: Dim Top, Bottom, Left, Right Voc pode tambm declarar uma varivel implicitamente simplesmente usando seu nome no script. O que geralmente no uma boa prtica causando resultados inesperados no decorrer de seu script. Uma tima alternativa usar a declarao Option Explicit com a finalidade de forar todas as declaraes de variveis. A declarao Option Explicit deve ser a primeira declarao em seu script. Especificando Restries Os nomes de variveis seguem as regras padronizadas para serem identificadas pelo VBScript. Um nome de varivel deve: Ter o primeiro caracter do nome da varivel sendo uma letra No deve exceder 255 caracteres. Escopo e Existncia de Variveis O escopo de uma varivel determinado quando voc a declara. Quando voc declara uma varivel dentro de um procedimento, apenas o cdigo dentro daquele procedimento pode acessar ou muda o valor daquela varivel. Isto um escopo local e chamado de varivel a nvel-procedimento. Se voc declara uma varivel exteriomente a um procedimento, voc faz com que todos os procedimentos reconheam aquela varivel, isto uma varivel a nvel-escrita. Uma varivel pblica apenas destruda quando ocorre o trmino do script. No caso da varivel privada, ou seja declarada dentro de um procedimento, sua destruio ocorre com o trmino da execuo do procedimento. As variveis locais so usadas para uma determinada tarefa temporria, liberando assim espao de memria. Voc pode declarar variveis locais com o mesmo nome em vrios procedimentos diferentes pois, elas so apenas visveis no momento da execuo do procedimento. Designando Valores para Variveis Valores so designados para variveis criando uma expresso do tipo: a varivel encontra-se do lado esquerdo da expresso, e o valor que voc deseja atribuir no lado direito. Por exemplo: B = 200 Variveis Scalar e Variveis de Array Em alguns casos voc apenas necessita designar um nico valor para uma varivel. Uma varivel contendo um nico valor chamada de scalar. Entretanto conveniente designar mais de um valor relacionado apenas a uma varivel. Neste caso voc pode criar uma varivel que contenha uma srie de valores. Essa varivel chamada de array. A declarao de uma varivel de array feita dando-se um nome seguindo os parntesis ( ). No seguinte exemplo, declarado um array contendo 11 elementos: Dim Vetor(10) Embora o nmero mostrado nos parntesis seja 10, todos os arrays no

VBScript so iniciados com base zero, assim este array realmente contm 11 elementos. Voc referencia cada dado de um elemento de array usando um ndice. Comeando com o zero e finalizando em 10, os dados podem ser atribuidos aos elementos de um array como se segue: A(0) = 256 A(1) = 324 A(2) = 100 ... A(10) = 55 Os dados podem ser recuperados de qualquer elemento usando um ndice dentro do elemento de array. Por exemplo: ... SomeVariable = A(8) ... Arrays no so limitados para uma nica dimenso. Voc pode ter 60 dimenses, embora a maioria das pessoas no compreendem mais que trs ou quatro dimenses. Dimenses mltiplas so declaradas com nmeros relativos a sua dimenso, separados por vrgula entre parntesis. No seguinte exemplo, a varivel MyTable possui duas dimenses consistindo de 6 filas e 11 colunas: Dim MyTable(5, 10) Em um array de duas dimenses, o primeiro nmero ser sempre o nmero de linhas; e o segundo nmero, o nmero de colunas. Voc pode tambm declarar um array cujo tamanho alterado durante o processamento do script. Este array chamado de array dinmico. O array inicialmente declarado dentro de um procedimento usando a declarao Dim ou ReDim. Entretanto, para um array dinmico, nenhum tamanho ou dimenso colocado no interior dos parntesis. Por exemplo: Dim MyArray() ReDim AnotherArray() Para usar um array dinmico, voc deve subseqentemente usar a declarao ReDim para determinar o nmero de dimenses e o tamanho de cada dimenso. No seguinte exemplo, ReDim atribue 25 ao tamanho inicial do array dinmico. Com a declarao ReDim feito um redimencionamento do array para 30, usando a palavra-chave Preserve para preservar o contedo do array. ReDim MyArray(25) ... ReDim Preserve MyArray(30) No h limite para o nmero de vezes que voc pode redimensionar um array dinmico, mas voc deve saber que se o array for

redimensionado com uma dimenso menor que a anterior, o contedo dos elementos eliminados sero perdidos.

O que uma Constante? Uma constante um nome significativo que recebe um valor nmerico ou caracter. O VBScript define um nmero de constantes intrnsecas. Voc pode obter informao sobre essas constantes intrnsecas na Referncia da Linguagem VBScript. Criando ConstantesVoc pode criar constantes definidas pelo usurio no VBScript usando a declarao Const. Usando a declarao Const, voc pode criar constantes strings ou numricas com nomes significativos que designam seus valores literais. Por exemplo: Const MinhaString = "Isto meu minha cadeia de caracter." Const MinhaIdade = 49 Note que a string literal cercada entre aspas ou marcas de citao (" "). As aspas so caminho bvio para diferenciar valores de string de valores numricos. Datas e valores do tempo so representados tendo o sinal (#) cercando o valor. Por Exemplo: Const MeuAniversario = #23-8-76# Voc pode desejar adotar um esquema especfico para diferenciar constantes de variveis. Este procedimento evita durante a execuo do script, ocorrer um engano e usar constantes como variveis e vice-versa. Por exemplo, voc pde usar prefixos "vb" ou "con" nos nomes de suas constantes, ou criar sua prpria nomeclatura. Diferenciando constantes de variveis, voc elimina a possibilidade de ocorrer um erro ao desenvolver scripts mais complexos. Operadores do VBScript O VBScript tem uma srie de operadores, incluindo operadores de aritmtica, operadores de comparao, operadores de concatenao, e , operadores lgicos. Precedncia do Operador Quando vrias operaes ocorrem em uma expresso, cada parte avaliada e resolvida em uma ordem predeterminada chamada precedncia do operador. Voc pode usar parntesis para alterar a ordem de precedncia e forar a avaliao de algumas partes de uma expresso. Operaes dentro de parntesis so sempre resolvidas primeiro independendo da ordem de resoluo dos operadores. Dentro dos parntesis, entretanto, a ordem de resoluo dos operadores mantida. Quando expresses contm operadores de mais de uma categoria, os operadores aritmticos so avaliados primeiros, depois os operadores de comparao, e os operadores lgicos so avaliados por ltimo. Todos os operadores de comparao tem precedncias iguais; estes, so avaliados da esquerda-para-direita. Os operadores Lgicos e de Aritmtica so avaliados na seguinte ordem. Aritmtica Comparao Lgico Descrio Smbolo Descrio

Smbolo Descrio Smbolo Exponenciao (^) Igualdade (=) Negao Lgica Not Negao do Unary (-) Desigualdade (<>) Conjuno Lgica And Multiplicao (*) Menor que (<) Disjunction Lgico Or Diviso (/) Maior que (>) Excluso Lgica Xor Diviso Inteira (\) Menor que Ou igual a (<=) Equivalencia Lgica Eqv Aritmtica de Mdulo Mod Maior que ou Igual a (>=) Implicao Lgica Imp Adio (+) Equivalencia de Objeto Is Subtrao (-) Concatenao de String (&) Quando ocorrer a multiplicao e a diviso juntamente em uma expresso, cada operao avaliada da esquerda para direita. Igualmente, quando ocorre a adio e a subtrao juntamente em uma expresso, cada operao avaliada em ordem da esquerda para direita. O operador de concatenao de string (&) no um operador aritmtico, mas por conveno tornou-se e na ordem de resoluo, ele est acima de todos os operadores de comparao. O operador Is um operador de comparao de objetos. Ele no compara objetos ou seus valores; ele apenas checa e determina se duas referncias de objeto, referem-se ao mesmo objeto.