Академический Документы
Профессиональный Документы
Культура Документы
disponvel em www.2p.com.br
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!"
disponvel em www.2p.com.br
</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
disponvel em www.2p.com.br
disponvel em www.2p.com.br
disponvel em www.2p.com.br
disponvel em www.2p.com.br
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
disponvel em www.2p.com.br
Subtrao
-
Concatenao
de String
&
disponvel em www.2p.com.br
End If
End Sub
Executa um Conjunto de Instrues se a
Condio for Verdadeira e um Outro Conjunto de Instrues se a Condio for
Falsa.
Voc pode usar um If...Then...Else para definir dois blocos de instrues: um
bloco para executar se a condio for Verdadeira, e um outro bloco para executar
se a condio for Falsa.
Sub AlertUser(value)
If value = 0 Then
AlertLabel.ForeColor = vbRed
AlertLabel.Font.Bold = True
AlertLabel.Font.Italic = True
Else
AlertLabel.Forecolor = vbBlack
AlertLabel.Font.Bold = False
AlertLabel.Font.Italic = False
End If
End Sub
Decidindo Entre Vrias Alternativas
Uma variao na declarao If...Then...Else permite a voc escolher vrias
alternativas. Somando-se clusulas ElseIf voc tem a possibilidade de expandir a
funcionalidade da declarao If...Then...Else controlando o fluxo do programa
baseado em difentes possibilidades. Por Exemplo:
Sub ReportValue(value)
If value = 0 Then
MsgBox value
ElseIf value = 1 Then
MsgBox value
ElseIf value = 2 then
Msgbox value
Else
Msgbox "Value out of range!"
End If
Voc pode adicionar muitas clusulas ElseIf dependendo da sua necessidade
durante o fluxo do algortimo. Uso extenso das clusulas ElseIf freqentemente
torna-se incmodo. Um melhor caminho para escolher entre vrias alternativas a
declarao Select Case.
Fazendo Decises com Select Case
A estrutura Select Case fornece uma alternativa para If...Then...ElseIf durante
a execuo seletiva de um bloco de cdigo dentre vrios blocos de cdigo. Uma
declarao Select Case fornece funcionalidade semelhante If...Then...Else,
porm, o cdigo torna-se mais legvel e eficiente.
Uma estrutura Select Case avalia uma nica expresso no topo da estrutura. O
resultado da expresso ento comparada com os valores para cada Case da
estrutura. Se h uma afirmao verdadeira, o bloco de declaraes associadas com
aquele Case executado:
Select Case Document.Form1.CardType.Options(SelectedIndex).Text
Case "MasterCard"
DisplayMCLogo
ValidateMCAccount
Case "Visa"
DisplayVisaLogo
ValidateVisaAccount
Case "American Express"
DisplayAMEXCOLogo
ValidateAMEXCOAccount
Case Else
DisplayUnknownImage
PromptAgain
End Select
disponvel em www.2p.com.br
Note que a estrutura Select Case avalia a expresso uma nica vez no topo da
estrutura. Em contraste, a estrutura If...Then...ElseIf pode avaliar diferentes
expresses para cada declarao ElseIf. Voc pode substituir uma estrurura
If...Then...ElseIf pr uma nica estrutura Select Case se cada declarao do
ElseIf avalia a mesma expresso.
Looping Atravs de Cdigo
disponvel em www.2p.com.br
disponvel em www.2p.com.br
For j = 2 To 10 Step 2
total = total + j
Next
MsgBox "The total is " & total
End Sub
Para decrescer a varivel contador, deve-se atribuir um valor negativo para a
declarao Step. Voc deve especificar um valor final que menor que o valor
inicial. No seguinte exemplo, o contador a varivel myNum decrescido der 2
unidades. Quando o lao terminado, a varivel total ter a soma de 16, 14, 12,
10, 8, 6, 4, e 2.
Sub NewTotal()
Dim myNum, total
For myNum = 16 To 2 Step -2
total = total + myNum
Next
MsgBox "The total is " & total
End Sub
Voc pode sair da declarao For...Next antes do contador alcanar seu valor
final usando a declarao Exit For. Ocorrer casos em que voc desejar sair do
lao em certas situaes.
Usando For Each...Next
Um lao For Each...Next parecido com um lao For...Next. Em vez de de repetir
as declaraes num nmero especfico de vezes, um lao For Each...Next repete um
grupo de declaraes para cada item em uma coleo de objetos ou para cada
elemento de um array. Este lao muito til quando voc fazer no sabe quantos
elementos esto em uma coleo.
No seguinte exemplo de cdigo HTML, os contedos de um objeto Dicionrio usado
para colocar texto em vrias caixas de texto:
<HTML>
<HEAD><TITLE>Forms and Elements</TITLE></HEAD>
<SCRIPT LANGUAGE="VBScript">
<!-Sub cmdChange_OnClick
Dim d
'Create a variable
Set d = CreateObject("Scripting.Dictionary")
d.Add "0", "Athens"
'Add some keys and items
d.Add "1", "Belgrade"
d.Add "2", "Cairo"
For Each I in d
Document.frmForm.Elements(I).Value = D.Item(I)
Next
End Sub
-->
</SCRIPT>
<BODY>
<CENTER>
<FORM NAME="frmForm"
<Input Type
<Input Type
<Input Type
<Input Type
<Input Type
</FORM>
</CENTER>
</BODY>
</HTML>
VBScript
=
=
=
=
=
"Text"><p>
"Text"><p>
"Text"><p>
"Text"><p>
"Button" NAME="cmdChange" VALUE="Click Here"><p>
Procedures
disponvel em www.2p.com.br
Espcies de Procedimentos
No VBScript h duas espcies de procedimentos; o procedimento Sub e o
procedimento Function.
Procedimentos Sub
Um procedimento Sub uma srie de declaraes do VBScript, dentro das
declaraes Sub e End Sub. Um procedimento Sub no retorna valor, mas voc pode
tomar argumentos (constantes, variveis, ou expresses que so passados durante
a chamada da Sub). Se um procedimento Sub no tem argumentos, sua declarao
deve incluir um conjunto vazio de parntesis ().
O seguinte procedimento Sub usa duas funes intrnsecas do VBScript, MsgBox e
InputBox, para obter do usurio alguma informao. Depois exibe os resultados de
um clculo baseado nas informaes. O clculo desempenhado em um procedimento
Function criado usando o VBScript. O procedimento Function ser discutido a
seguir.
Sub ConvertTemp()
temp = InputBox("Please enter the temperature in degrees F.", 1)
MsgBox "The temperature is " & Celsius(temp) & " degrees C."
End Sub
Procedimentos Function
Um procedimento Function uma srie de declaraes do VBScript dentro das
declaraes Function e End Function. Um procedimento Function parecido com um
procedimento Sub, com a diferena de voc poder retornar um valor. Um
procedimento Function pode tomar argumentos (constantes, variveis, ou
expresses que so passadas pelo procedimento de chamada). Se um procedimento
Function no tem argumentos, sua declarao deve incluir um conjunto vazio de
parntesis. Uma Function retorna um valor que ser atribuido ao nome da funo
no procedimento de chamada. O tipo do valor retornado por uma Function ser
sempre Variant.
No seguinte exemplo, a funo Celsius calcula a temperatura em graus Celsius do
grau Fahrenheit. Quando a funo chamada do procedimento Sub ConvertTemp, uma
varivel contendo o valor do argumento passado funo. O resultado do
clculo voltado ao procedimento chamado e exibido em uma caixa de mensagem.
Sub ConvertTemp()
temp = InputBox("Please enter the temperature in degrees F.", 1)
MsgBox "The temperature is " & Celsius(temp) & " degrees C."
End Sub
Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function
Obtendo dados dentro de um Procedimento
Cada valor passado dentro de seus procedimentos usando um argumentos.
Argumentos servem como "pontes de valor" dos dados que voc deseja passar dentro
de seu procedimento. Voc pode especificar seus argumentos com um nome de uma
varivel. Quando voc cria um procedimento usando uma declarao Sub ou uma
declarao Function, os parntesis devem incluir os nomes dos argumentos.
Quaisquer argumentos so colocados no interior desses parntesis, separados por
vrgulas. No seguinte exemplo, fDegrees uma "ponte de valor" que passa o valor
da temperatura a ser calculada na funo:
Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function
Para obter o valor dos dados de um procedimento, voc deve usar uma Function.
Lembre-se, que um procedimento Function pode retornar um valor; e um
procedimento Sub no pode.
Usando Procedimentos Sub e Function em seu Cdigo
Voc deve usar um procedimento Function em seu cdigo do lado direito a uma
expresso. Por Exemplo:
Temp = Celsius(fDegrees)
ou
MsgBox "A temperatura do Celsius est " & Celsius(fDegrees) & " graus."
disponvel em www.2p.com.br
disponvel em www.2p.com.br
Error
err
errOrderNum
Integer
int
intQuantity
Long
lng
lngDistance
Object
obj
objCurrent
Single
sng
sngAverage
String
str
strFirstName
Escopo Varivel
Variveis deveriam sempre ser definidas com o menor escopo possvel. Variveis
do VBScript podem ter o seguinte escopo.
Escopo
Onde Varivel
Declarada
Visibilidade
Nvel-Procedure
Eventos, Funo,
ou procedures Sub
Visvel na
procedure em
que foi
declarada
Nvel-Script
Seo HEAD de
uma pgina HTML,
exteriormente em
qualquer procedure
Visvel em todas
as procedures
do Script
disponvel em www.2p.com.br
O corpo de uma varivel ou nome de uma procedurce deve ser usada para descrever
a necessidade de seu propsito. Em resumo, os nomes de procedures deveriam
comear com um verbo, tal como IniciarVariveis ou FecharJanela.
Para termos freqentes e longos, abreviaes padronizadas so recomendadas para
minimizar o comprimento do nome. No geral, nomes de variveis maiores que 32
caracteres podem ser de difceis leituras. Quando usar abreviaes, certifiquese que elas sero consistentes para todo o Script. Por Exemplo, aleatoriamente
mudando de Cnt para Conta dentro de um Script pode gerar um erro no seu cdigo.
Objeto Especificando Convenes
As seguintes listas da tabela so convenes
recomendadas para objetos que voc pode
encontrar enquanto programa em VBScript.
Tipo Objeto
Prefixo
Exemplo
3D Panel
pnl
pnlGroup
Animated Button
ani
aniMailBox
Check Box
chk
chkReadOnly
Combo Box, drop-down list
box
cbo
cboEnglish
Command Button
cmd
cmdExit
Common Dialog
dlg
dlgFileOpen
Frame
fra
fraLanguage
Horizontal Scroll Bar
hsb
hsbVolume
Image
img
imgIcon
Label
lbl
lblHelpMessage
Line
lin
linVertical
List Box
lst
lstPolicyCodes
Spin
spn
spnPages
Text Box
txt
txtLastName
Vertical Scroll Bar
vsb
disponvel em www.2p.com.br
vsbRate
Slider
sld
sldScale
Comentando Convenes de Cdigos
Todos os procedimentos deveriam comear com um breve comentrio descrevendo o
que eles fazem. Este comentrio no deveria descrever os detalhes de
implementao (como: isto faz isto) porque os cdigos mudam freqentemente,
resultando num enorme trabalho e perca de tempo ne manuteno de comentrios
desnecessrios, ou comentrios errneos, pior. O cdigo por si mesmo e quaisquer
breves comentrios necessrios descrevem a implementao.
Argumentos passados para um procedimento devem ser descritos quando seu
propsito no est bvio no cdigo. Valores que voltam para funes e variveis
que so mudadas por um procedimento, especialmente atravs de argumentos por
referncia, devem ser descritos no comeo de cada procedure.
Comentrios no cabealho da Procedure devem incluir os seguintes ttulos. Por
Exemplo:
Ttulo De
Seo
Comentrio do Contedo
Propsito
Que o procedimento faz (no como).
Suposies
Lista de qualquer varivel externa, controle, ou outro elemento que declare
aes nesta procedimento.
Efeitos
Lista de efeito do procedimento em cada varivel externa, controle, ou outro
elemento.
Entradas
Explicao de cada argumento que no esteja bvio. Cada argumento deve ter uma
linha separada com os comentrios.
Valores
Retornados
Explicao do valor voltado.
Recorde os seguintes pontos:
Toda declarao de uma importante varivel deve incluir um comentrio
descrevendo o uso e a existncia da varivel declarada.
Variveis, controles, e procedimentos devem ter comentrios claros e especficos
pois, deles resulta a complexidade da implementao. No comeo de seu script,
voc deve incluir um resumo que descreva, enumerando objetos, procedimentos,
algortimos, caixas de dilogo, e outras dependncias do sistema. s vezes um
pedao de pseudocdigo, descrevendo o algortimo pode ser bastande prestativo.
Formatando Seu Cdigo
O espao da tela dever ser conservado, enquanto ainda permita formatar seu
cdigo refletindo a estrutura lgica do algortimo. Estes so uns pontos
bsicos:
Blocos identados padronizados devem ser
indentados com quatro espaos.
O resumo do comentrio de um procedimento dever ser indentar com um espao.
'*********************************************************
Locates the first occurrence of a specified user
'
in the UserList array.
' Inputs:
strUserList():
the list of users to be searched.
'
strTargetUser:
the name of the user to search for.
' Returns: The index of the first occurrence of the strTargetUser
'
in the strUserList array.
'
If the target user is not found, return -1.
'*********************************************************
' Purpose:
disponvel em www.2p.com.br
Nvel de Procedimento
Descreve declaraes localizadas dentro de um procedimento Function ou Sub.
Declaraes so realizadas primeiro, seguido por designaes e outro cdigo do
executvel.
Por Exemplo:
Sub MySub() ' This statement declares a sub procedure block.
Dim A ' This statement starts the procedure block.
A = "My variable" ' Procedure-level code.
Debug.Print A ' Procedure-level code.
End Sub ' This statement ends a sub procedure block.
Controle do ActiveX
Um objeto que voc coloca em um formulrio, para habilitar ou acentuar a
interao do usurio com uma pgina na Web (No caso do VBScript). Controles
ActiveX tm eventos e podem ser incorporados dentro de outros controles. Os
controles so arquivos que possuem extenso .OCX.
Objeto do ActiveX
Um objeto que exibido para outros aplicaes ou programado atravs de
ferramentas de interfaces de Automao.
Argumento
Uma constante, varivel, ou expresso passada para um procedimento.
Array
Um conjunto de seqncias de elementos ordenados, tendo o mesmo tipo de dados.
Cada elemento de um array tem um nico identificador referenciado por um nmero
(ndice). Mudanas feitas para um elemento de um array, no afeta os demais
elementos.
Conjunto de Caracter ASCII
American Standard Code for Information Interchange (ASCII) 7-bit caracter
atribudos amplamente para representar letras e smbolos encontrados em um
teclado padro U.S. O conjunto de caracter ASCII o mesmo dos primeiros 128
caracteres (0 127) do conjunto de caracter ANSI.
Objeto de Automao
Um objeto que exibido para outros aplicaes ou programado atravs de
ferramentas de interfaces de Automao.
Comparao bitwise
disponvel em www.2p.com.br
Uma comparao idntica de bit-a-bit bits posicionando o bit nas duas expresses
numricas.
Expresso do Boolean
Uma expresso que avalia a condio Falso (False) ou Verdadeiro (True).
Por Referncia
Um meio de passar um argumento para um procedimento, usando o endereo, em vez
do valor. Isto permite ao procedimento acessar a varivel real. Como resultado,
o valor real da varivel pode ser alterado dentro do procedimento que ela foi
passada.
Por Valor
Um meio de passar um argumento para um procedimento, usando o valor, em vez do
endereo de memria da varivel. Isto permite ao procedimento acessar uma cpia
da varivel. Como um resultado, o valor real da varivel no pode ser alterado
dentro do procedimento que ela foi passada.
Cdigo de Caracter
Um nmero que representa um caracter especfico dm um conjunto, tal como o
conjunto de caracter da tabela ASCII.
Classe
A definio formal de um objeto. A classe define as propriedades do objeto e os
mtodos usados para controlar o comportamento do objeto. possvel criar uma
classe para um objeto.
Mdulo de classe
Um mdulo contendo a definio de uma classe (sua propriedade e definies de
mtodo).
Coleo
Um objeto que contem um conjunto de objetos relacionados. A posio de um objeto
na coleo pode ser alterada, sempre que uma alterao ocorrer na coleo;
portanto, a posio de qualquer objeto especifico na coleo pode variar.
Comentrio
Texto que contribue na explicao do cdigo facilitando o trabalho do
programador. No Visual Basic Scripting Edition, um comentrio pode ser feito
usando uma apstofe ('), ou uma palvra chave Rem seguido por um espao.
Operador de Comparao
Um caracter ou smbolo indicando um
dois ou mais valores ou expresses.
incluem menor que (<), menor que ou
que (>), maior que ou igual a (>=),
(=).
relacionamento entre
Esses operadores
igual a (<=), maior
diferentel (<>), e igual
Constante
Um nome especfico que contm um valor constante para toda a execuo de um
programa. Constantes podem ser usadas em qualquer parte de seu cdigo. Uma
constante pode ser uma string ou nmero literal, outra constante, ou qualquer
combinao que inclua aritmtica ou operadores lgicos exceto Is e
exponenciao. Por Exemplo:
Const A = "MyString"
Tipos de Dados
Cada subtipo do tipo Variant tem uma srie especifica de valores:
Subtype
disponvel em www.2p.com.br
Srie
Byte
0 a 255.
Boolean
False ou True.
Integer
32,768 a 32,767.
Long
2,147,483,648 a 2,147,483,647.
Single
3.402823E38 a -1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38
para valores positivos.
Double
1.79769313486232E308 a
4.94065645841247E-324 para valores negativos; 4.94065645841247E-324 a
1.79769313486232E308 para valores positivos.
Currency
922,337,203,685,477.5808 a
922,337,203,685,477.5807.
Date
Janeiro 1, 100 a Dezembro 31, 9999,
inclusive.
Object
Qualquer referncia de Objeto.
String
Variveis alfanumricas, que podem ter um comprimento de 0 at aproximadamente 2
bilhes de caracteres.
Expresso de Data
Qualquer expresso que pode ser interpretada como uma data. Isto inclue qualquer
combinao literal de data, nmeros que comparem datas iguais, strings que
comparem datas iguais, e datas voltadas de funes. Uma expresso de data
limitada pelo nmero ou string, em qualquer combinao, limitada 1 Janeiro de
100 at 31 Dezembro de 9999.
Datas so armazenadas como partes de um nmero real. Valores esquerda do
decimal representa a data; valores direita do decimal representa o tempo.
Nmeros negativos representam datas anterior a 30 Dezembro 1899.
Data Literal
Qualquer seqncia de caracteres com um formato vlido que circundado por
sinais de nmero (#). Formatos vlidos incluem o formato de data especificado
pelos valores localis, ou o formato universal de data. Por Exemplo, #12/31/99#
a data literal que representa Dezembro 31, 1999, onde English-U.S. o valor da
localidade para seu requerimento.
No VBScript, o unico formato reconhecido o US-ENGLISH, apesar da localidade
real do usurio. O formato interpretado mm/dd/yyyy.
Separadores de Data
Caracteres usados para separar o dia, ms, e ano quando o valore da data
formatado.
Vazio (Empty)
Um valor que indica o primeiro valor designado para uma varivel. Variveis
Vazias so 0 num contexto numrico, ou zero-comprimento ("") num contexto de
string. fio.
Nmero de Erro
disponvel em www.2p.com.br
disponvel em www.2p.com.br
Propriedade
Um atributo especfico de um objeto. Propriedades definem as caractersticas do
objeto tais como tamanho, cor, localizao na tela, ou o estado de um objeto,
tal como habilitado (Enabled) ou desabilitado (Disabled).
Public
Variveis declaradas Public so visveis para todos procedimentos em todos
mdulos de uma aplicao.
Tempo Execuo (Run Time)
momento em que o cdigo est sendo executado.
voc no pode editar o cdigo.
disponvel em www.2p.com.br