Vous êtes sur la page 1sur 130

Inclui VBScript

ASP

GUIA DE
CONSULTA
RÁPIDA

Rubens Prates

www.novateceditora.com.br

novatec
Guia de Consulta Rápida

ASP

Rubens Prates

Novatec Editora
www.novateceditora.com.br
Guia de Consulta Rápida ASP
de Rubens Prates

Copyright@2000 da Novatec Editora Ltda.

Todos os direitos reservados. É proibida a reprodução dessa obra,


mesmo parcial, por qualquer processo, sem prévia autorização, por
escrito, dos autores e da Editora.

Revisão de texto: Sonia Maike

ISBN: 85-85184-??-?

Novatec Editora Ltda.


Rua Cons. Moreira de Barros 1084 Conj 01
02018-012 São Paulo - SP Brasil
Fone: (0xx11) 6959-6529
Fax: (0xx11) 6950-8869
E-mail: novatec@novateceditora.com.br
Site: www.novateceditora.com.br

2
Sumário
Conceitos Básicos ............................................................ 5
Introdução .................................................................... 5
Definindo a Linguagem de Script ............................. 11
Objetos e Componentes ........................................... 12
Diretivas de Processamento ..................................... 15
Diretivas SSI (Server-Side Include) ........................... 16
Arquivo Global.asa .................................................... 17
Objetos Intrínsecos do ASP ............................................ 20
Objeto Application ...................................................... 20
Objeto ASPError (ASP 3.0) ........................................ 24
Objeto ObjectContext ................................................. 26
Objeto Request .......................................................... 27
Objeto Response ...................................................... 33
Objeto Server ............................................................. 42
Objeto Session .......................................................... 45
Componentes do IIS ....................................................... 50
ADO ............................................................................ 50
Ad Rotator .................................................................. 51
Browser Capabilities ................................................. 54
Content Linking .......................................................... 56
Content Rotator .......................................................... 59
Counters .................................................................... 61
Logging Utility (ASP 3.0) ............................................ 62
MyInfo ......................................................................... 66
Page Counter ............................................................. 67
Permission Checker ................................................. 68
Tools .......................................................................... 69
Objetos de Scripting Run-Time ...................................... 70
Objeto Dictionary ....................................................... 70
Objeto FileSystemObject .......................................... 72
Objeto Drive ............................................................... 77
Objeto Folder ............................................................ 79
Objeto File .................................................................. 83
Objeto TextStream .................................................... 86
Objetos do VBScript ........................................................ 89
Objeto RegExp .......................................................... 89
Objeto Err .................................................................. 93
VBScript ........................................................................... 95
Instruções do VBScript .............................................. 95
Funções do VBScript ............................................... 102
Operadores .............................................................. 119
Subtipos de Dados .................................................. 120
Apêndice ........................................................................ 121
Códigos da Propriedade Status ............................. 121
Itens da Coleção ServerVariables ........................... 122
Onde obter mais informações ................................ 124
Notação Sintática Utilizada ...................................... 125
Novatec na Internet .................................................. 125
Índice ............................................................................. 126

3
4
Conceitos Básicos Introdução

O que é ASP
ASP (Active Server Pages) é uma tecnologia criada pela Microsoft,
que combina HTML, comandos script e componentes ActiveX,
para criar páginas web com conteúdo dinâmico.

Scripts executados no servidor


Os scripts em páginas ASP são executados no servidor web
("server-side"), ao contrário de scripts client-side,executados no
browser do cliente.

Linguagens de scripting
Em ASP podem ser utilizadas qualquer linguagem que suporte
ActiveX scripting, tais como: VBScript, JScript, PerlScript, Rexx
e Python. As linguagens VBScript e JScript (similar a JavaScript)
são instalados automaticamente pelo servidor web, sendo VBScript
a linguagem default. Os exemplos neste guia estão em VBScript.

Independência de browsers
A saída gerada pelo ASP é somente HTML padrão, o que significa
que pode ser interpretada igualmente pelos browsers Microsoft
Explorer, Netscape Navigator, ou qualquer outro browser.

Plataforma para ASP


Originalmente ASP somente poderia ser utilizada com servidores
web da Microsoft (PWS - Personal Web Server e IIS - Internet
Information Server) para a plataforma Windows. Atualmente
existem ferramentas de terceiros que oferecem a mesma
funcionalidade ASP para outros servidores web, tais como o
Netscape Enterprise, disponível para vários sistemas operacionais,
como o Unix. As mais conhecidas são o Chili!Soft
(www.chilisoft.com) e o Instant ASP (www.halcyon.com).

Ferramentas de Desenvolvimento
Embora as páginas ASP possam ser criadas utilizando editores de
texto, como o Notepad, ou mais especializados como o FrontPage,
existem diversas ferramentas para desenvolvimento de aplicações
web, tais como o Visual InterDev, um dos componentes do Visual
Studio da Microsoft. Outras ferramentas bastante utilizadas são:
• Drumbeat (www.drumbeat.com)
• Cold Fusion (www.allaire.com)
Para uma lista das ferramentas disponíveis veja a página
www.15seconds.com/tool/default.htm.

Depuração de scripts ASP


A maneira mais fácil de depurar scripts é utilizar o Microsoft Script
Debugger. Pode ser instalado como parte do NT Option Pack ou
através de download em http://msdn.microsoft.com/scripting/
debugger/.

5
Conceitos Básicos Introdução

Página ASP
Uma página ASP é um arquivo texto com a extensão .asp que contém
qualquer combinação de:
• texto
• tags HTML
• scripts

Um exemplo simples de página ASP:

Veja na tela abaixo o resultado da execução da página ASP acima:

Os usuários não podem ver os comandos de script que criaram a


página que está sendo visualizada. Verificando o código fonte da
página exibida (opção View > Source do Internet Explorer ou View
> Page Source do Netscape), percebemos que no lugar do código
script está o resultado do script, conforme mostrado na tela abaixo:

6
Conceitos Básicos Introdução

Delimitadores de scripts server-side


Nas páginas .asp, os scripts são diferenciados de textos e HTML
por delimitadores <% e %> ou pelo elemento <SCRIPT
RUNAT="SERVER"> ... </SCRIPT>. Dentro dos delimitadores,
pode ser incluído qualquer comando da linguagem de scripting
utilizada. O exemplo abaixo mostra uma página HTML que contém
um comando script delimitado por <% e %>:
<HTML>
<BODY>
Dataehora:
<%Response.WriteNow()%>
</BODY>
</HTML>
A função Now() retorna a data e hora correntes. Quando o servidor
processa esta página, ele substitui <%= Now() %> pela data e hora
correntes e retorna a página para o browser, como por exemplo:
Dataehora: 03/25/20008:47:00PM
O comando script do exemplo acima também poderia ser delimitado
com elemento <SCRIPT RUNAT=SERVER>, como mostrado
abaixo:
<HTML>
<BODY>
Dataehora:
<SCRIPT RUNAT="SERVER">
Response.WriteNow()
</SCRIPT>
</BODY>
</HTML>

Scripting Server-side x Client-side


Uma página Asp pode conter ambos os tipos de scripts: server-side
e client-side. O script server-side deve ter a cláusula
RUNAT="SERVER". O script client-side (com
RUNAT="CLIENT" ou com o atributo RUNAT omitido) é
ignorado pelo interpretador ASP e passado para o browser cliente
como texto normal. Veja abaixo um exemplo de como isso funciona:
<HTML>
<BODY>
Textoe<B>HTML</B>enviadosdiretamenteparaobrowsercliente.
<SCRIPT RUNAT="SERVER">
REMCódigoscriptserver-sideexecutadopeloASPnoservidor.
</SCRIPT>
<SCRIPT>
<!--
REMCódigoscriptclient-sideexecutadonobrowsercliente.
-->
</SCRIPT>
</BODY>
</HTML>
7
Conceitos Básicos Introdução

Enviando conteúdo para o browser


Para enviar conteúdo para o browser dentro dos delimitadores de
scripting utilize o método Write do objeto Response. Por exemplo,
o seguinte comando envia uma mensagem diferente para o usuário
dependendo se ele visitou a página antes:
<%
IfblnPrimVezThen
Response.Write“<H3ALIGN=CENTER>Bem-vindoàNovatec</H3>”
Else
Response.Write“<H3ALIGN=CENTER>Sejanovamentebem-vindoà
Novatec</H3>”
EndIf
%>
Qualquer conteúdo que não estiver dentro de delimitadores de
scripting são enviados diretamente para o browser. Por exemplo,
o seguinte script produz a mesma saída que o script anterior:
<H3 ALIGN=CENTER>
<%IfblnPrimVezThen%>
Bem-vindoàNovatec
<% Else %>
Sejanovamentebem-vindoàNovatec
<% End If %>
</H3>
Intercalar comandos script e HTML quando você necessita apenas
retornar a saída uma vez ou quanto é mais conveniente adicionar
comandos ao texto HTML existente. Use Response.Write quando
você não deseja dividir um comando com delimitadores quando você
deseja construir o string que será retornado para o browser. Por
exemplo, você pode construir um string de texto que constrói uma
linha da tabela com valores enviados por um formulário HTML:
Response.Write“<TR><TD>”&Request.Form(“FirstName”)_
&“</TD><TD>”&Request.Form(“LastName”)&“</TD></TR>”

Incluindo arquivos de scripts


Também é possível incluir na página ASP arquivos de script
separados que contém código de scripting, tornando mais fácil
escrever funções que devem estar disponíveis para muitas páginas.
Desta forma, as alterações no código de scripting serão
automaticamente refletidas em todas as páginas na próxima vez que
elas forem executadas. Para incluir um arquivo de script separado,
utilize o atributo SRC do elemento <SCRIPT> para especificar um
path virtual, relativo ou físico e o nome do arquivo:
<SCRIPTRUNAT="SERVER"SRC="/scripts/valida.inc"></SCRIPT>
O arquivo separado deve conter somente código script válido, não
pode conter conteúdo de página, tais como texto ou HTML.

8
Conceitos Básicos Introdução

Arquitetura do ASP
A tecnologia ASP é encapsulada em uma simples DLL chamada
ASP.DLL, que é instalada por default no diretório
Winnt\System32\inetsrv.
Quando um servidor web recebe uma solicitação de um página web,
o servidor verifica a extensão do arquivo da página solicitada. Se a
extensão for .asp o servidor passa esse arquivo para a dll ASP.DLL
para ser interpretado. O resultado é devolvido para para o servidor
web, que por sua vez envia para browser que solicitou a página.
Até o ASP 2.0 o processamento de arquivos .asp requeria
processamento extra. A partir do ASP 3.0 pode-se usar a extensão
.asp para todas as páginas, tendo ou não scripts embutidos, sem
prejudicar o desempenho.

inserir ILUSTRAÇÃO

9
Conceitos Básicos Introdução

Diretórios no servidor IIS


Na instalação do servidor IIS é criado o subdiretório \Inetpub no
computador do servidor IIS, onde normalmente são colocados os
arquivos de páginas web. Esse subdiretório, por sua vez, contém
subdiretórios, entre eles o \wwwroot, que é o topo da árvore para
os web sites, e é o diretório web default.
\Inetpub
\wwwroot
Essa estrutura é conhecida como estrutura de diretórios físicos, que
nós visualizamos no Windows Explorer. Por exemplo, a pasta
C:\My Documents é um diretório físico.
Existe contudo uma segunda estrutura de diretórios no computador
do servidor web, que reflete a estrutura do site. Consiste de um
hierarquia de diretórios virtuais. Através do Managment Console
do IIS podemos criar esses diretórios, e definir o relacionamento
entre os diretórios virtuais e os diretórios físicos.
Nós podemos criar aplicações virtuais em qualquer subdiretório do
site.
Um diretório virtual é um diretório que não precisa localizar-se em
seu diretório home; na verdade, ele pode residir em outro disco ou
computador, mas pode ser acessado por um browser cliente através
da Internet como se estivesse localizado em seu diretório home. O
diretório home por padrão é X:\InetPub\wwwroot, onde X é o disco
rígido do sistema operacional em uma instalação padrão.
O diretório home é o diretório raiz do seu site.
Para cada site em um computador sob o IIS, existe um diretório raiz
no servidor, que é usualmente C:\InetPub\WWWRoot.
Diretórios virtuais são diretórios mapeados na árvore de diretórios
do site; no entanto, eles fisicamente ficam fora dessa árvore. A
localização física pode ser até mesmo um outro servidor.

Aplicação
Uma página ASP usualmente existe como parte de uma aplicação
ASP. Uma aplicação ASP é realmente todas as páginas e conteúdo
associado de um diretório real ou virtual, tendo as páginas extensão
.asp ou não. Uma aplicação ASP pode ser criada pela criação de um
site real ou virtual dentro do servidor web.
Uma aplicação é a soma de todos os arquivos que podem ser
acessados através de um diretório virtual e seus subdiretórios. Esse
contexto de aplicação é o mesmo para todos os clientes da aplicação.
Por exemplo, um cliente da Tailandia que solicita páginas do
diretório virtual /SearchApp está acessando a mesma aplicação que
um segundo cliente da Suécia que estiver acessando páginas do
mesmo diretório virtual, independente de qual página dentro do
diretório virtual cada um estiver solicitando. Você pode compartilhar
informações entre todos os clientes de uma aplicação através do
objeto Application.

Configuração de aplicações ASP no IIS


Antes de você criar uma aplicação ASP, você deve criar um diretório
virtual.
Antes de você criar uma aplicação ASP, você deve criar um diretório
virtual.Para criar um diretório virtual siga os seguintes passos:
101. Clique com o botão direito do mouse o servidor onde você
deseja criar o diretório virtual.
Conceitos Básicos Linguagem de Scripting

Definindo a Linguagem de Script


Uma aplicação ASP pode utilizar diferentes linguagens de scripting.
As linguagens VBScript e JScript (similar à JavaScript) são instaladas
por default. As outras linguagens devem ser obtidas e instaladas
separadamente.
Existem três formas de especificar a linguagem de scripting a ser
utilizada: para o site inteiro, para uma página ASP e para uma função
específica:

Site inteiro
Para definir a linguagem de script padrão para todas as páginas
em um site, habilite a opção Default ASP Language da App
Options na configuração do servidor web onde ASP estiver
instalada. Se não especificada na configuração do servidor web,
será assumido VBScript, por default.

Página ASP
Para definir a linguagem de script para uma única página, utilize
a diretiva <%@ LANGUAGE=linguagem %>. Essa diretiva
deve ocorrer apenas uma vez e deve ser a primeira linha da página.
Por exemplo, para definir a linguagem JScript colocamos a
seguinte instrução no início da página:
<%@ LANGUAGEM = JScript %>
Recomenda-se definir a linguagem no nível de página pois no caso
do arquivo da página ser utilizada em um outro servidor web onde
não pode ser garantido que a linguagem de scripting padrão seja
a que você deseja.

Função
Para definir a linguagem de scripting somente para uma função
específica de uma página, utilize a opção LANGUAGE da tag
<SCRIPT>. Essa opção anula as definições de linguagem de
scripting definidas para o site e para a página.
<SCRIPT LANGUAGE=linguagem RUNAT=SERVER>
...
</SCRIPT>
A diretiva RUNAT=SERVER deve ser incluída para indicar que
trata-se de um script server-side. Se não for especificada, será
assumida que trata-se de um script client-server.

Tags <% e %>


As tags <% e %> sempre utilizam a linguagem de scripting padrão
definida para o site ou a linguagem definida para a página, caso
tenha sido especificada.

11
Conceitos Básicos Objetos e Componentes

Objetos e Componentes
Diversos tipos de objetos e componentes podem ser utilizados com
ASP. Embora sejam acessíveis da mesma forma, através da tecnologia
COM, conceitualmente eles são divididos em grupos:

Objetos Intrínsecos do ASP


São objetos fornecidos diretamente pela DLL ASP e estão sempre
disponíveis para scripts server-side, e não precisam serem criados.
• Application (mais detalhes na página 20).
• ASPError (mais detalhes na página 24).
• ObjectContext (mais detalhes na página 26).
• Request (mais detalhes na página 27).
• Response (mais detalhes na página 33).
• Server (mais detalhes na página 42).
• Session (mais detalhes na página 45).

Componentes do IIS
Esses componentes são instalados pelo IIS, no diretório
WinNT\System32\inetsrv\ do Windows. Precisam ser registrados
no servidor antes de serem instanciados em suas aplicações web,
caso não tenham sido instalados por default pelo IIS.
• ADO (mais detalhes na página 50).
• Ad Rotator (mais detalhes na página 51).
• Browser Capabilities (mais detalhes na página 54).
• Content Linking (mais detalhes na página 56).
• Content Rotator (mais detalhes na página 59).
• Counters (mais detalhes na página 61).
• Logging Utility (mais detalhes na página 62).
• MyInfo (mais detalhes na página 66).
• Page Counter (mais detalhes na página 67).
• Permission Checker (mais detalhes na página 68).
• Tools (mais detalhes na página 69).

Objetos de Scripting Run-Time


Esses objetos são parte da Scripting Runtime Objects library,
contidos em scrrun.dll. Eles são expostos pelo "scripting engine",
independente da linguagem de scripting utilizada (VBScript, JScript,
etc) e podem ser utilizados tanto do lado cliente quanto do lado
servidor.
• Dictionary (mais detalhes na página 70).
• FileSystemObject (mais detalhes na página 72).
• TextStream (mais detalhes na página 86).

12
Conceitos Básicos Objetos e Componentes

Objetos do VBScript
Objetos fornecidos pela linguagem VBScript (vbscript.dll), e podem
ser utilizados tanto do lado cliente quando do lado servidor.
• RegExp (mais detalhes na página 80).
• Err (mais detalhes na página 93).
Outras linguagens de scripting, tais como o JScript, oferecem
objetos similares aos objetos acima.

Outros Componentes
Componentes de terceiros ou criados pelo próprio usuário.
Normalmente implementados como DLLs separadas. Esses
componentes podem ser desenvolvidos em Visual Basic, Visual
C++ ou qualquer outra linguagem compatível com a tecnologia
COM, tais como Delphi, Java e PowerBuilder. Devem ser instalados
e registrados no seu sistema antes de serem utilizados. Você pode
obter um catálogo de componentes em www.activeserverpages.com/
components.

Instâncias de Objetos e Componentes


Objetos e componentes são criados e instanciados da mesma forma.
Uma instância é uma cópia de execução de um objeto.
Existem duas maneiras de criar uma instância de um componente.
pelo método Server.CreateObject ou pelo elemento <OBJECT>.
Um componente somente pode ser utilizado após ter sido instalado
e registrado em seu sistema.

Usando o método Server.CreateObject


É a maneira mais comum para criar uma instância de um objeto. Por
exemplo, para criar uma instância do componente Browser
Capabilities:
<%
DimobjBrowser
SetobjBrowser=Server.CreateObject("MSWC.BrowserType")
%>
No exemplo acima o parâmetro MSWC.BrowserType é o ProgID
do componente Browser Capabilities.

13
Conceitos Básicos Objetos e Componentes

Usando o elemento <OBJECT>


Podemos usar o elemento <OBJECT> padrão HTML para criar
instâncias de um componente no servidor adicionando o parâmetro
RUNAT="SERVER". Normalmente utiliza-se o PROGID em vez
do ClassID numérico.
<OBJECT RUNAT="Server" SCOPE=escopo ID=identificador
{PROGID="progid"|CLASSID="ClassID"}>
<PARAM NAME="param1" VALUE="valor1">
<PARAM NAME="param2" VALUE="valor2">
</OBJECT>
Parâmetros Descrição
SCOPE Especifica o escopo do objeto. Se SCOPE="PAGE" ou
se for omitido, indica que o escopo é a página corrente.
Caso <OBJECT> estiver no arquivo Global.asa, os
escopos Session ou Application podem ser informados.
ID Especifica o nome para a instância do objeto.
PROGID Identificador do objeto.
CLASSID Especifica um identificador único para um objeto COM.
ProgID ou ClassID devem ser especificados.
PARAM Define os valores das propriedades expostas pelo objeto
para uso em nossos scripts

Exemplos
<OBJECTRUNAT=ServerSCOPE=SessionID=MinhaConexao
PROGID=”ADODB.Connection”>
REMObjectScript
</OBJECT>
<OBJECT
RUNAT=ServerSCOPE=SessionID=MinhaConexao
CLASSID=”Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
REMObjectScript
</OBJECT>
Como podemos perceber, a utilização do ProgID é mais fácil do que
ClassID.

Diferença entre CreateObject e <OBJECT>


O método Server.CreateObject cria uma instância do objeto
imediatamente. O elemento <OBJECT> somente cria uma instância
do objeto na primeira vez que o objeto for referenciado.

Escopo das Instâncias de Objetos


Por default, todas as instâncias de objetos e componentes criados
em uma página ASP tem escopo da página. Eles existem somente
enquanto a página estiver sendo executada, e são destruidos
automaticamente após a página corrente ter sido encerrada e os
resultados terem sidos enviados ao browser cliente.
Entretanto se nós colocarmos o elemento <OBJECT> no arquivo
Global.asa que existe no diretório raiz da aplicação, pode ser
especificado que o objeto ou componente deverá ter escopo
Application ou Session.

14
Conceitos Básicos Diretivas de Processamento

Diretivas de Processamento
As diretivas de processamento indicam ao servidor web como
processar o arquivo .asp. Elas devem ser colocadas na primeira linha
do script, e não podem ser incluídas em um arquivo incluído com
#include. O formato destas diretivas é:
<%@ diretiva=valor diretiva=valor ...%>
Parâmetro Descrição
diretiva Nome da diretiva (deve ser precedido por um espaço).
valor Valor da diretiva (sem espaços em torno do sinal "=").

Exemplo:
<%@ LANGUAGE="JScript" CODEPAGE="1252" LCID="2057"%>

CODEPAGE
Define a página de código para interpretar o script no servidor.
Ao contrário, a propriedade Session.CodePage, define a página
de código para interpretação do HTML enviado ao browser.
<@ CODEPAGE=página_código %>

ENABLESESSIONSTATE
Habilita (True) ou desabilita (False) o armazenamento de
informações de sessão através de cookie de sessão.
<%@ ENABLESESSIONSTATE=True|False%>

LANGUAGE
Define a linguagem de script default para toda a página.
<%@ LANGUAGE=linguagem%>

LCID
Define um identificador de localidade para o script no servidor.
O identificador é utilizado para definir a formatação de strings de
dados, como datas e horas. Ao contrário, a propriedade
Session.LCID, define o identificador de localidade para
interpretação do HTML enviado ao browser.
<%@ LCID=identificador%>

TRANSACTION
Declara a página como transacional.
<%@ TRANSACTION=tipo%>
Parâmetro Descrição
Required Executa a página dentro de uma transação existente (se
existir), ou iniciará uma nova transação.
Requires_New A página sempre iniciará uma nova transação, mesmo que
já exista uma.
Supported Executa a página dentro de uma transação existente (se
existir), mas não iniciará uma nova transação.
Not_Supported A página não será executada dentro de uma transação
existente, nem iniciará uma nova transação.
15
Conceitos Básicos Diretivas SSI

Diretivas SSI (Server-Side Include)


As diretivas SSI (Server Side Includes) são diretivas executadas no
servidor web que permitem a inserção dinâmica de informações (tais
como a data corrente, um arquivo HTML, etc) em uma página
HTML. Essas diretivas são implementadas no servidor web
através da DLL ssinc.dll. Por default o servidor IIS mapeia qualquer
página com as extensões .shtml, .shtm ou .stm para essa DLL.
Todas as diretivas SSI são permitidas em HTML. Entretanto,
somente a diretiva #include é permitida em HTML e ASP.
Para utilizar diretivas SSI, você deve renomear as extensões .htm
ou .html para .shtml. Por exemplo, index.html deverá ser chamado
index.shtml.

#config
Especifica o formato usado para mensagens de erro, datas, e
tamanhos de arquivo retornado para o browser cliente.
<!--#configtimefmt=”%m/%d/%y”-->

#echo
Insere o valor de uma variável de ambiente em uma página HTML.
<!--#echovar=”DATE_LOCAL”-->

#exec
Executa uma aplicação ou comando shell e insere a saída em uma
página HTML.
<!--#execcgi=”/cgi-bin/meuscript.cgi”-->

#flastmod
Insere a data/hora da última modificação de um arquivo em uma
página HTML.
<!--#flastmodfile=”ssi.htm”-->

#fsize
Insere o tamanho de um arquivo em uma página HTML.
<!--#fsizefile="default.asp"-->

#include
Inclui um arquivo em uma página HTML ou ASP. A extensão do
arquivo a ser incluído deve estar mapeada, na configuração do
servidor web, para SSINC.DLL, a DLL que interpreta diretivas
SSI. Por default, o IIS mapea as extensões .shtml, .shtm e .stm.
<!--#include file|virtual ="nomearq" -->
Parâmetro Descrição
file Inclui um arquivo. O nome do arquivo é relativo ao diretório
da página corrente.
<!--#includefile=”xyz.asp”-->
virtual Inclui um arquivo. O nome do arquivo representa um path
que é relativo à raiz do site.
<!--#includevirtual=”/xyz.asp”-->

16
Conceitos Básicos Global.asa

Arquivo Global.asa
Global.asa é um arquivo opcional, localizado na raiz do diretório
virtual. Deve existir somente um arquivo global.asa por aplicação.
Ele armazena informações e objetos usados globalmente pela
aplicação, e não pode conter qualquer conteúdo que possa ser
exibido para o usuário. O código contido no arquivo Global.asa será
executado automaticamente no início e no final de uma sessão de
usuário e também no início e no final da aplicação ASP. Normalmente
o código no arquivo Global.asa é utilizado para inicializar variáveis
no início de cada sessão de usuário ou para criar conexões a bancos
de dados que são utilizadas em toda a aplicação.

Exemplo de Arquivo Global.asa


<OBJECT
RUNAT=Server
SCOPE=Session
ID=Tool1
PROGID="MSWC.Tools">
</OBJECT>
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
SubApplication_OnStart
Application("UsuariosAtivos")=0
End Sub
SubApplication_OnEnd
End Sub
SubSession_OnStart
Session.Timeout=20
Session("Inicio")=Now
Application.Lock
Application("UsuariosAtivos")=Application("UsuariosAtivos")+1
Application.UnLock
End Sub
SubSession_OnEnd
Application.Lock
Application("UsuariosAtivos")=Application("UsuariosAtivos")-1
Application.UnLock
End Sub
</SCRIPT>
<!--METADATATYPE="TypeLibrary"
FILE="Report.LIB"
VERSION="1.5"
LCID="1306"
-->

17
Conceitos Básicos Global.asa

Partes do Arquivo Global.asa


O arquivo Global.asa é dividido em quatro segmentos:
• Eventos do objeto Application
• Eventos do objeto Session
• Declarações <OBJECT>
• Declarações TypeLibrary

Eventos do objeto Application


Uma aplicação ASP é formada por todos os arquivos em um
diretório virtual e nos subdiretórios deste. Pode ter dois eventos:
o evento Application_OnStart e o Application_OnEnd.
Evento Descrição
Application_OnStart Ocorre na primeira vez que um usuário abre uma
das páginas da aplicação. Pode-se definir um script
a ser executado quando da ocorrência deste
evento.
Application_OnEnd Ocorre quando o servidor web é desligado. Pode-
se definir um scritpt a ser executado após todas as
sessões de usuários terem terminado. Por exemplo,
você pode querer calcular e armazenar estatísticas
sobre sessões de usuário para referência futura.

Eventos do objeto Session


O servidor web cria automaticamente uma sessão quando o usuário
que previamente não tinha uma sessão, abre uma página na aplicação.
Essa sessão é encerrada quanto atingir o timeout ou quando o
servidor chamar o método Abandon. A sessão têm dois eventos:
Session_OnStart e Session_OnEnd.
Evento Descrição
Session_OnStart Ocorre antes do início de uma nova sessão por um
usuário. Pode-se definir um script para esse evento,
que será executado antes que a página solicitada
pelo usuário seja processada.
Session_OnEnd Ocorre quando a sessão de um usuário é encerrada,
por timeout (default=20 minutos) ou pela execução
do método Abandon.

Declarações <OBJECT>
O elemento <OBJECT> cria objetos com escopo Session ou
Application.
Por exemplo:
<OBJECTRUNAT=ServerSCOPE=SessionID=MeuAdRot
PROGID=”MSWC.AdRotator”>
</OBJECT>
Então esse objeto poderá ser referênciado em qualquer página da
aplicação:
<%=MeuAdRot.GetAdvertisement(“/ads/adrot.txt”)%>
Para mais detalhes sobre o elemento <OBJECT> veja a página 14.

18
Conceitos Básicos Global.asa

Declarações Type Library


Uma type library é um arquivo que contém informações sobre
objetos e tipos suportados por um componente ActiveX. A
declaração, no arquivo Global.asa, das type libraries dos objetos
ActiveX utilizados na aplicação, permite referenciar em qualquer
script da aplicação, os tipos de dados das type libraries.

Sintaxe:
<!—METADATA TYPE=”TypeLib”
FILE=”nomearquivo” UUID=”typelibraryuuid”
VERSION=”majorversionnumber.minorversionnumber”
LCID=”localeid”
—>
Parâmetro Significado
nomearquivo Path para a type library.
typelibraryuuid Identificador universal único para a type library.
majorversionnumber Número mais significativo da versão.
minorversionnumber Número menos significativo da versão.
localeid Identificador de local usado pela type library.

Informações Adicionais
• Os delimitadores <% %> não são permitidos no arquivo
global.asa. Devem ser usadas as tags <SCRIPT> e </SCRIPT>.
O parâmetro RUNAT=Server deve ser especificado na tag.
• O arquivo global.asa é significativo somente para inicialização
e finalização. Qualquer código que tentar enviar dados para
o cliente será ignorado. Por exemplo, você pode ter HTML
em seu arquivo Global.asa mais ele será ignorado. Do mesmo
modo, você não tem acesso ao método Response.Write.
• Não é necessário "lock" e "unlock" o objeto Application na rotina
Application_onStart pois isto é executado uma única vez.
• Quando alterações são gravadas no arquivo Global.asa, o
servidor termina todo processamento da aplicação corrente
antes de recompilar o arquivo Global.asa. Durante esse
tempo o servidor não aceita solicitações adicionais e retorna
uma mensagem de erro indicando que a solicitação não pode
ser processada enquanto a aplicação estiver sendo reiniciada.
Após todas as solicitações do usuário corrente tiverem sido
processadas, o servidor elimina todas as sessões ativas,
chamando o evento Session_OnEnd para cada sessão que
ele elimina, fecha a aplicação e chama o evento
Application_OnEnd. O arquivo Global.asa é então
recompilado. Subseqüentes solicitações de usuário iniciarão
a aplicação e criarão novas sessões.
• Procedures declaradas no arquivo Global.asa somente podem
ser chamadas pelos scripts associados com os eventos
Application_OnStart, Application_OnEnd,
Session_OnStart, e Session_OnEnd. Elas não estão
disponíveis para as páginas ASP em uma aplicação ASP.

19
Objetos Intrínsecos do ASP Application

Objeto Application
O objeto Application representa a própria aplicação ASP, que é
definida como o conjunto de todos os arquivos .asp em um diretório
virtual e seus subdiretórios.
O objeto Application é criado pelo servidor web no momento da
primeira solicitação de página do primeiro usuário da aplicação, e
permanece na memória até que o servidor web seja desativado.
Existe somente um objeto Aplication para todos os usuários da
aplicação ASP, que é usado para armazenamento de variáveis e
referências a objetos disponíveis para todas as páginas da aplicação.
Uma variável armazenada no objeto Application pode ser lida e
modificada por qualquer página dentro da aplicação e por qualquer
usuário. Por exemplo:
<%
Application.Lock
Application("minhavar")="Alômundo"
Application.Unlock
Response.WriteApplication("minhavar")
%>
As variáveis e objetos criados através de scripts (não através da tag
<OBJECT> são armazenados na coleção Contents do objeto
Application.
As referências a instâncias de objetos criados com o elemento
<OBJECT> são armazenadas na coleção StaticObjects do objeto
Application.

Sumário do Objeto Application

Coleções
Contents
StaticObjects

Métodos
Contents.Remove
Contents.RemoveAll
Lock()
Unlock()

Eventos
OnStart (definido no arquivo Global.asa, ver página 18).
OnEnd (definido no arquivo Global.asa, ver página 18).

20
Objetos Intrínsecos do ASP Application

Coleções do objeto Application

Contents
A coleção Contents do objeto Application pode armazenar
variáveis escalares e instâncias de objetos criados com
Server.CreateObject (e não através da tag <OBJECT>).
Application.Contents(nome_item)

Propriedades da coleção Contents


Como todas as coleções ASP, a coleção Contents tem as
seguintes propriedades: Item, Key e Count.

Item
Define ou retorna o valor de um elemento específico na coleção
Contents. O elemento pode ser especificado através de um
número de índice (inicia em 1) ou de uma chave. Por exemplo:
• Utilizando um número de índice:
Application.Contents.Item(1)="novatec"
• Utilizando uma chave:
Application.Contents.Item("editora")="novatec"
A propriedade Item é a propriedade default da coleção Contents,
que por sua vez é a coleção default do objeto Application. Os três
exemplos abaixo são eqüivalentes:
Application.Contents.Item(1)="novatec"
Application.Contents(1)="novatec"
Application(1)="novatec"
do mesmo modo, os exemplos abaixo também são eqüivalentes:
Application.Contents.Item("editora")="novatec"
Application.Contents("editora")="novatec"
Application("editora")="novatec"

Key
Define ou retorna o nome de um elemento específico na coleção
Contents. Utilizando o exemplo da propriedade Item, então:
strNomeChave=Application.Contents.Key(1)
retorna "editora", e o exemplo abaixo
strValorChave=Application.Contents.Key("editora")
retorna "novatec".

Count
Representa o número de elementos na coleção Contents.

21
Objetos Intrínsecos do ASP Application

Exemplo da utilização de coleções


<%
Application(“nome”)=“GuiadeASP”
Application(“data”)=“05/01/2000”
Application(“autor”)=“RubensPrates”
SetApplication(“Obj1”)=Server.CreateObject(“ADODB.Connection”)
ForEachIteminApplication.Contents
IfIsObject(Application.Contents(Item))Then
Response.WriteItem&“éumobjeto.<BR>”
Else
Response.WriteItem&“=”&Application.Contents(Item)&“<BR>”
EndIf
Next
%>

StaticObjects
A coleção StaticObject do objeto Application pode armazenar
instâncias de objetos criadas com o elemento <OBJECT>.
Application.StaticObjects(nome_item)

Propriedades da coleção StaticObjects


Como todas as coleções ASP, a coleção StaticObjects tem as
seguintes propriedades: Item, Key e Count. Para mais detalhes
veja a coleção Contents na página 21.

Exemplo
—————arquivo Global.asa——————-
<OBJECTRUNAT=ServerSCOPE=ApplicationID=ObjInfo
PROGID=”MSWC.MyInfo”>
</OBJECT>
<OBJECTRUNAT=ServerSCOPE=ApplicationID=ObjConexao
PROGID=”ADODB.Connection”>
</OBJECT>
<OBJECTRUNAT=ServerSCOPE=ApplicationID=ObjAdRot
PROGID=”MSWC.ADRotator”>
</OBJECT>
—————arquivo.asp————————-
<%
ForEachobjInApplication.StaticObjects
Response.Writeobj&“<BR>”
Next
\%>

22
Objetos Intrínsecos do ASP Application

Métodos do objeto Application

Contents.Remove
Remove uma variável da coleção Application.Contents. Não é
possível remover variáveis da coleção
Application.StaticObjects.
Application.Contents.Remove (nome | índice)
Argumento Descrição
nome Nome do item a ser removido.
índice Índice do item a ser removido.

Contents.RemoveAll
Remove todas as variáveis da coleção Application.Contents.
Application.Contents.RemoveAll

Lock
O método Lock impede que outros clientes alterem valores da
coleção Contents do objeto Application. Para retirar o bloqueio
utilize Unlock.
Exemplo:
Application.Lock
<%
Application.Lock
Application("NumVisitas")=Application("NumVisitas")+1
Application.Unlock
%>
Estapáginadaaplicaçãojáfoivisitada
<%=Application("NumVisitas")%>vezes.

Unlock
Retira o bloqueio do objeto Application (efetuado por Lock),
permitindo que qualquer cliente acesse e altere qualquer valor da
coleção Contents do objeto Application.
Application.Unlock

Eventos do objeto Application

Application_OnEnd
O evento OnEnd ocorre quando a Application é encerrada. O
código para este evento deve ser colocado no arquivo Global.asa.
Para mais detalhes veja a página 18.

Application_OnStart
Este evento ocorre quando a aplicação é referenciada pela primeira
vez. O código para este evento deve ser colocado no arquivo
Global.asa. Para mais detalhes veja a página 18.

23
Objetos Intrínsecos do ASP ASPError

Objeto ASPError (ASP 3.0)


O objeto ASPError é usado para obter informações sobre um erro
ocorrido em uma página ASP. O objeto ASPError é retornado pelo
método Server.GetLastError.

Sumário do Objeto ASPError


Propriedades
ASPCode
ASPDescription
Category
Column
Description
Line
Number
File
Source

Propriedades do objeto ASPError

ASPCode
Retorna o código do erro gerado pelo servidor IIS.
ASPError.ASPCode ()
Código Significado
ASP 0100 Out of memory
ASP 0101 Unexpected error
ASP 0102 Expecting string input
ASP 0103 Expecting numeric input
ASP 0104 Operation not allowed
ASP 0105 Index out of range
ASP 0106 Type Mismatch
ASP 0107 Stack Overflow
ASP 0115 Unexpected error
ASP 0177 Server.CreateObject Failed
ASP 0190 Unexpected error
ASP 0191 Unexpected error
ASP 0192 Unexpected error
ASP 0193 OnStartPage Failed
ASP 0194 OnEndPage Failed
ASP 0240 Script Engine Exception
ASP 0241 CreateObject Exception
ASP 0242 Query OnStartPage Interface Exception

ASPDescription
Retorna uma descrição detalhada do erro, se for um erro relacionado
com ASP.
ASPError.ASPDescription ()

24
Objetos Intrínsecos do ASP ASPError

Category
Indica a fonte do erro: IIS, linguagem de scripting ou um
componente.
ASPError.Category ()

Column
Indica a coluna na linha dentro do arquivo .asp que gerou o erro.
ASPError.Column ()

Description
Retorna uma breve descrição do erro.
ASPError.Description ()

Line
Indica a linha dentro do arquivo .asp que gerou o erro.
ASPError.Line ()

Number
Retorna o código de erro padrão COM.
ASPError.Number ()

File
Indica o nome do arquivo .asp que estava sendo processado
quando ocorreu o erro.
ASPError.File ()

Source
Retorna o código, se disponível, da linha que causou o erro.
ASPError.Source ()

25
Objetos Intrínsecos do ASP ObjectContext

Objeto ObjectContext
O objeto ObjectContext é utilizado para encerrar ou abortar uma
transação em uma página ASP. Quando uma página ASP contém,
em sua primeira linha, a diretiva @TRANSACTION, a página será
executada em um contexto de transação e não será encerrada até que
a transação seja encerrada com sucesso ou falhe.
As transações em uma aplicação ASP eram controladas, até o ASP
2.0, pelo MTS (Microsoft Transaction Server), que a partir do
Windows 2000, foi incorporado à tecnologia COM+. O MTS
continua entretanto sendo suportado nas versões anteriores ao
Windows 2000.

Sumário do Objeto Request


Eventos
OnTransactionAbort
OnTransactionCommit

Métodos
SetAbort
SetComplete

Eventos do objeto ObjectContext

OnTransactionAbort
Ocorre quando uma transação for abortada. A subrotina associada
ao evento OnTransactionAbort é executada, se tiver sido
especificada no script.

OnTransactionCommit
Ocorre quando uma transação for executada com sucesso. A
subrotina associada ao evento OnTransactionCommit é
executada, se tiver sido especificada no script.

Métodos do objeto ObjectContext

SetAbort
Aborta uma transação. Quanto uma transação é abortada, o
evento OnTransactionAbort é acionado.
ObjectContext.SetAbort

SetComplete
Indica que uma transação foi completada com sucesso. Aciona o
evento OnTransactionCommit. A chamada para SetComplete
não significa que a transação inteira está completa. Cada
componente chamado no script deve também chamar o método
SetComplete. Se SetComplete não for chamado, a transação
só será considerada encerrada após todo o código ter sido
processado sem qualquer chamada para SetAbort.
ObjectContext.SetComplete
26
Objetos Intrínsecos do ASP Request

Objeto Request
O objeto Request fornece acesso às informações passadas, na
solicitação (request) do browser ao servidor. Essas informações são
armazenadas nas coleções do objeto Request.

Sumário do Objeto Request


Coleções
ClientCertificate
Cookies
Form
QueryString
ServerVariables

Propriedade
TotalBytes

Método
BinaryRead

Coleções do objeto Request


Todas as variáveis podem ser acessadas diretamente chamando
Request(variável) sem o nome da coleção. Nesse caso, o servidor
web pesquisa as coleções na seguinte ordem:
1. QueryString
2. Form
3. Cookies
4. ClientCertificate
5. ServerVariables
Se uma variável existe com mesmo nome em mais de uma coleção, o
objeto Request retorna a primeira instância encontrada. Recomenda-
se que quando se referir a membros de uma coleção utilizar o nome
completo;istofazcomqueoservidorlocalizeumitemmaisrapidamente.
Por exemplo, utilize Request.ServerVariables(AUTH_USER) em
vez de Request(AUTH_USER).

ClientCertificate
A coleção ClientCertificate contêm os valores dos campos do
certificado digital do cliente enviado na solicitação (request)
HTTP. Certificados digitais possibilitam transações eletrônicas
seguras e são enviados pelo browser cliente para o servidor web
quando o browser cliente suportar Secure Sockets Layer (SSL)
e o browser estiver conectado a um servidor web que também está
executando o SSL (o URL começa com https://).
Request.ClientCertificate(Chave [Subcampo])
Argumento Descrição
Chave Nome do campo de certificação a ser obtido.
Certificate Um string contendo o stream binário do conteúdo
do certificado.

27
Objetos Intrínsecos do ASP Request
Flags Existem duas flags que fornecem informações
adicionais sobre o certificado do cliente. Necessita
da inclusão do arquivo cervbs.inc. A flag
ceCertPresent indica que um certificado do cliente
está presente. A flag ceUnrecognizedIssuer
indica que o certificado digital do cliente foi atribuído
por uma autoridade de certificação desconhecida.
Issuer Um string contendo informações sobre o emissor
do certificado digital do cliente. Se o parâmetro
SubChave não for especificado, a utilização da
chave Issuer retorna uma lista de todos os valores
de subcampos Issuer separados por vírgulas.
SerialNumber Representação ASCII dos bytes hexadecimais do
número serial da certificação.
Subject Uma lista de strings delimitados por vírgulas que
fornecem informações sobre o proprietário do
certificado digital.
ValidFrom Data inicial da validade do certificado.
ValidUntil Data de expiração do certificado.
SubChave O argumento opcional SubChave é um sufixo
adicionado aos campos Issuer ou Subject. Por
exemplo, IssuerL que é a localidade do Issuer.
C Nome do país de origem do Subject ou Issuer.
CN Nome comum da chave Subject.
GN Nome do Subject ou Issuer.
I Iniciais do Subject ou Issuer.
L Localidade.
O Nome da empresa ou organização.
OU Nome da unidade organizacional dentro da
organização
S Estado (ou provincia) do Subject ou Issuer.
T Cargo do Subject ou Issuer.

Exemplo
<HTML>
<HEAD>
</HEAD>
<BODY>
Estecertificadoéválidode
<%=Request.ClientCertificate(“ValidFrom”)%>até
<%=Request.ClientCertificate(“ValidUntil”)%>
</BODY>
</HTML>

Propriedades da coleção ClientCertificate


Como todas as coleções ASP, a coleção ClientCertificate tem
as seguintes propriedades: Item, Key e Count. Para mais
detalhes veja a coleção Contents na página 21.

28
Objetos Intrínsecos do ASP Request

Cookies
A coleção Cookies contêm os valores dos cookies enviados pelo
browser cliente na solicitação (request) HTTP ao servidor web.
Um cookie é um pequeno arquivo texto fornecido pelo servidor
web e armazenado no computador do cliente, utilizado para
identificar as sessões de cada cliente conectado ao seu servidor
web. Mais informações sobre cookies podem ser obtidas em
www.cookiecentral.com.
Request.Cookies(nome)[(campo)|.atributo]
Parâmetro Descrição
nome Nome do cookie.
campo Parâmetro opcional usado para obter os valores dos
campos de dicionários cookie.
atributo Valor booleano que indica se o cookie possui campos.
True Indica que o cookie possui campos.
False Indica que o cookie não possui campos.

Exemplo
Exibe os valores do cookie recebido na request HTTP:
<%
ForEachstrItemInRequest.Cookies
Response.WritestrItem&“=“&Request.Cookies(strItem)&“<BR>”
IfRequest.Cookies(strItem).HasKeysThen
ForEachstrSubitemInRequest.Cookies(strItem)
Response.Write“->”&strItem&“(“&strSubitem&“)=“&_
Request.Cookies(strItem)(strSubitem)&“<BR>”
Next
EndIf
Next
%>

Propriedades da coleção Cookies


Como todas as coleções ASP, a coleção Cookies tem as seguintes
propriedades: Item, Key e Count. Para mais detalhes veja a
coleção Contents na página 21.

Form
A coleção Form contém os valores dos elementos de um formulário
enviados no corpo (body) da solicitação (request) HTTP, usando
o método POST.
Request.Form(elemento)[(índice)|.Count]
Parâmetro Descrição
elemento Nome do elemento <FORM>.
índice Parâmetro opcional usado quando o elemento tem mais de
um valor. É um número inteiro entre 1 e
Request.Form(elemento).Count.
Count Número de valores do elemento.

29
Objetos Intrínsecos do ASP Request

Exemplo
Considere o seguinte formulário:
<FORM ACTION = “submit.asp” METHOD = “POST”>
<P>Nome: <INPUT NAME = “nome” SIZE = 48>
<P>Qualéasuacervejapreferida:<SELECTNAME=“cerveja”>
<OPTION>Brahma
<OPTION>Antartica
<OPTION>Bavária
<OPTION>Skol</SELECT>
<P><INPUT TYPE = SUBMIT>
</FORM>
Desse formulário, o seguinte corpo (body) poderia ser enviado:
nome=Joel&cerveja=Brahma
O seguinte script poderia ser usado:
Benvindo, <%=Request.Form(“nome”)%>.
Suacervejapreferidaé<%=Request.Form(“cerveja”)%>.
O resultado seria:
Benvindo,Joel.SuacervejapreferidaéBrahma.

Propriedades da coleção Form


Como todas as coleções ASP, a coleção Form tem as seguintes
propriedades: Item, Key e Count. Para mais detalhes veja a
coleção Contents na página 21.

QueryString
A coleção QueryString contém os valores das variáveis enviadas
no query string da solicitação (request) HTTP, usando o método
GET. Query string é um string anexado ao URL usado para o
envio de pequenos volumes de dados ao servidor.
A query string é especificada após o sinal de (?), contendo pares
de nomes e valores de variáveis, separados por &. Os espaços são
substituídos pelo sinal de "+" dentro de valores.
Diferentes processos podem gerar uma query string, tais como
uma tag <A HEF>, a submissão de um formulário ou a digitação
de uma consulta na caixa de endereço do browser. Por exemplo,
a tag:
<AHREF=“exemplo?string=istoéumexemplo”>exemplostring</A>
gera a variável string com o valor "isto é um exemplo".
Request.QueryString(variável)[(índice)|.Count]
Parâmetro Descrição
variável Nome da variável.
índice Parâmetro opcional usado quando o elemento tiver mais
de um valor. É um número inteiro entre 1 e
Request.Querystring(variável).Count.
Count Número de valores do parâmetro.

30
Objetos Intrínsecos do ASP Request

Exemplo
Considere o seguinte formulário:
<FORM ACTION = “submit.asp” METHOD = “GET”>
<P>Nome: <INPUT NAME = “nome” SIZE = 48>
<P>Qualéasuacervejapreferida:<SELECTNAME=“cerveja”>
<OPTION>Brahma
<OPTION>Antartica
<OPTION>Bavária
<OPTION>Skol</SELECT>
<P><INPUT TYPE = SUBMIT>
</FORM>
Desse formulário, a seguinte query string poderia ser enviado:
nome=Joel&cerveja=Brahma
O seguinte script poderia ser usado:
Benvindo, <%=Request.QueryString(“nome”)%>.
Suacervejapreferidaé<%=Request.QueryString(“cerveja”)%>.
O resultado seria:
Benvindo,Joel.SuacervejapreferidaéBrahma.

Propriedades da coleção QueryString


Como todas as coleções ASP, a coleção QueryString tem as
seguintes propriedades: Item, Key e Count. Para mais detalhes
veja a coleção Contents na página 21.

ServerVariables
Uma coleção dos valores do header HTTP enviados na solicitação
(request) do browser cliente para o servidor, mais os valores de
variáveis de ambiente do servidor web. Cada vez que uma página
ASP é acessada, o servidor web cria variáveis de ambiente com
informações sobre o browser, o servidor web e a página ASP que
está sendo acessada.
strValor = Request.ServerVariables("nome")
Parâmetro Descrição
nome Nome do elemento da coleção ServerVariables. Veja na
página 122 a lista dos possíveis valores.

Exemplo
<%
EnderecoIP=Request.ServerVariables(“REMOTE_ADDR”)
Response.Write“SeuendereçoIPé“&EnderecoIP
%>

Propriedades da coleção ServerVariables


Como todas as coleções ASP, a coleção ServerVariables tem as
seguintes propriedades: Item, Key e Count. Para mais detalhes
veja a coleção Contents na página 21.

31
Objetos Intrínsecos do ASP Request

Propriedade do objeto Request

TotalBytes
Retorna o número total de bytes no corpo (body) da solicitação
(request) HTTP enviada pelo browser cliente.
Var = Request.TotalBytes

Método do objeto Request

BinaryRead
O método BinaryRead lê um número de bytes diretamente do
corpo (body) da solicitação (request) HTTP enviada pelo cliente
como parte de um HTTP Post. Esse método obtém os dados do
cliente e armazena-os em um SafeArray. Um SafeArray é um
array especial que contém, além de seus itens, o número de
dimensões no array e os limites dessas dimensões.
Variant=Request.BinaryRead(numbytes)
Parâmetro Descrição
variant Array contendo os bytes lidos pelo método.
numbytes Número de bytes a serem lidos.

32
Objetos Intrínsecos do ASP Response

Objeto Response
O objeto Response permite enviar informações para o browser
cliente, tais como texto, dados e cookies. Pode incluir informação
de header HTTP, como também a saída usada para criar a página
HTML. Algumas dessas informações são parte do header da
página, que devem ser enviadas para o browser cliente antes que
outro conteúdo seja enviado, a não ser que Response.Buffer esteja
habilitado.

Sumário do Objeto Response


Coleção
Cookies

Propriedades
Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
IsClientConnected
PICS
Status

Métodos
AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write

Coleção do objeto Response

Cookies
A coleção Cookies é usada para enviar um cookie para o browser
cliente. Permite atribuir um novo valor para um cookie (se ele já
existir); caso contrário, o cookie é criado e o valor é atribuído.
Por alterarem valores do header HTTP response, os valores da
coleção Cookies devem ser enviados antes que qualquer código
HTML seja enviado para o browser cliente, exceto se
Response.Buffer estiver habilitado.
Response.Cookies(item)[(subitem)|.atributo]=valor
Parâmetro Descrição
item Nome do cookie.
subitem Nome do campo do cookie. Por exemplo:
Response.Cookie("MeuCookie")("Codigo")="X13"

33
Objetos Intrínsecos do ASP Response
valor Valor atribuído à chave ou o atributo.
atributo Atributos dos elementos da coleção Cookies.
Domain Indica que o browser cliente deve enviar o valor do cookie
somente para páginas no domínio especificado.
Expires Data em que o cookie expira e é descartado no computador
do cliente. Se não for especificado, o cookie residirá no
computador somente durante a sessão do cliente.
HasKeys Retorna um valor booleano (True/False) indicando se o
cookie contém campos.
Path Indica o diretório virtual para onde o cookie deve ser
enviado. Para enviar o cookie para todas as páginas do
site utilize Path="/". Se não for especificado, assume o
path da aplicação ASP corrente.
Secure Indica que o cookie deve ser enviado somente se o
browser cliente estiver utilizando Secure Sockets Layer
(SSL) (True/False).

Exemplo:
<%
'Enviaumcookieparaobrowsercliente
Response.Cookies("MeuCookie").Domain="/novatec1.com/"
Response.Cookies("MeuCookie").Path="/cookies"
Response.Cookies("MeuCookie").Expires=#08/30/2000#
Response.Cookies("MeuCookie").Secure=False
%>
A coleção Cookies pode armazenar múltiplos valores em um único
item. Esses subitens podem ser acessados individualmente. Por
exemplo:
<%
‘Enviaumcookiecomsubitensparaobrowsercliente
Response.Cookies(“Usuario”)(“Id”)=“Joel”
Response.Cookies(“Usuario”)(“Senha”)=“olddog”
Response.Cookies("Usuario").Path="/"
Response.Cookies("Usuario").Expires=DateAdd("m",3,Now)
%>

Informações adicionais sobre cookies


Os cookies são armazenados como arquivos de texto, seu nome
identifica o usuário e o site. No browser Internet Explorer os
cookies são gravados no subdiretório Cookies do Windows, do
computador do usuário. Para visualizar o conteúdo de um cookie,
clique com o botão direito do mouse nele e selecione Open no
menu de contexto. O usuário pode desabilitar o recebimento de
cookies, alterando a configuração do seu browser.

Propriedades da coleção Cookies


Como todas as coleções ASP, a coleção Cookies tem as seguintes
propriedades: Item, Key e Count. Para mais detalhes veja a
coleção Contents na página 21.

34
Objetos Intrínsecos do ASP Response

Propriedades do objeto Response

Buffer
Determina se a saída de uma página ASP deve ser colocada em um
buffer até que todos os scripts na página sejam processados, ou
até que os métodos Flush ou End serem executados. Por alterar
valores do header HTTP da resposta, deve ser definida antes que
qualquer saída tenha sido enviada ao browser cliente, a não ser que
a resposta esteja buferizada.
Response.Buffer = blnSetting
Parâmetro Descrição
True Indica que a saída da página será colocado em um buffer
até que todo o script da página corrente tenha sido
processado ou até que o método Flush ou End do objeto
Response tenha sido chamado (default no ASP 3.0).
False Não coloca no buffer. A saída é enviada imediatamente ao
browser cliente após cada linha criada e introduzida no
stream HTML (default no ASP 2.0).

CacheControl
Determina se servidores proxy devem armazenar as páginas ASP
em cache. Um servidor proxy é usado para acelerar a obtenção de
páginas, mantendo uma cópia local da página em cache. As
propriedades Response.Expires e Response.ExpiresAbsolute
podem ser utilizadas para definir a hora e/ou data limite da
existência do cache. Por alterar valores do header HTTP da
resposta, deve ser definida antes que qualquer saída tenha sido
enviada ao browser cliente, a não ser que a resposta esteja
buferizada.
Response.CacheControl [="Private" | "Public"]
Parâmetro Descrição
Private Desabilita o armazenamento em cache do proxy (default).
Public Permite que os servidores proxy armazenem as páginas
em cache.

Charset
Define o character set para o conteúdo do response HTTP. O
nome do character set é adicionado ao final do header "content-
type" no objeto Response. Por alterar valores do header HTTP
da resposta, deve ser definida antes que qualquer saída tenha sido
enviada ao browser cliente, a não ser que a resposta esteja
buferizada.
Response.Charset (strNomeCharset)
Parâmetro Descrição
strNomeCharset String correspondente ao character set (default=ISO-
LATIN-1).

Exemplo
<%Response.Charset(“ISO-LATIN-7”)%>

35
Objetos Intrínsecos do ASP Response

ContentType
Define o valor do item Content-Type no header HTTP enviado
para o browser cliente. Informa ao browser cliente o tipo de
conteúdo enviado no corpo (body) na resposta do servidor, por
exemplo, se é texto ou imagem. Isto permite ao browser determinar
se ele pode exibir o arquivo ou é necessário chamar outra
aplicação.Por alterar valores do header HTTP da resposta, deve
ser definida antes que qualquer saída tenha sido enviada ao
browser cliente, a não ser que a resposta esteja buferizada.
Response.ContentType = strTipoConteúdo
Parâmetro Descrição
strTipoConteúdo Representa o tipo do conteúdo, como um tipo MIME
padrão, no formato tipo/subtipo. A parte tipo do valor
representa o conteúdo geral e o subtipo representa o
conteúdo específico (default=text/html).

Exemplo
<%
iftipodados="jpg"Then
Response.ContentType="image/JPEG"
Else
Response.ContentType="text/plain"
EndIf
%>

Expires
Especifica a quantidade de tempo (em minutos) que a página
corrente deve ser mantida no cache do computador cliente. Se o
usuário retornar para essa página dentro do tempo especificado,
a versão em cache da página será exibida. Por alterar valores do
header HTTP da resposta, deve ser definida antes que qualquer
saída tenha sido enviada ao browser cliente, a não ser que a
resposta esteja buferizada.
Response.Expires [= intNumMinutos]
Argumento Descrição
intNumMinutos Número de minutos que o browser cliente deve deixar
no cache a página corrente. O valor zero força o
browser cliente a solicitar novamente a página do
servidor toda a vez que o cliente navegue pela página.

ExpiresAbsolute
Especifica que a página corrente deve ser mantida no cache do
computador cliente até a data e hora especificados. Se o usuário
retornar para esta página antes desta data e hora, a versão em cache
da página será exibida. Por alterar valores do header HTTP da
resposta, deve ser definida antes que qualquer saída tenha sido
enviada ao browser cliente, a não ser que a resposta esteja
buferizada.
Response.ExpiresAbsolute [=[data] [hora]]
36
Objetos Intrínsecos do ASP Response
Parâmetro Descrição
data Data após a qual a página corrente não deve permanecer
no cache (formato mês/dia/ano). Se a data não for
especificada, a página expirará no horário especificado no
mesmo dia em que script for executado.
hora Hora na data especificada a qual a página corrente não
deve permanecer no cache. Se não for especificado, a
página expirará exatamente à meia-noite da data
especificada.

Exemplo
<%
Response.ExpiresAbsolute=#February20,200018:00:00#
%>

IsClientConnected
Retorna True se o cliente estiver conectado e carregando a página
do servidor; caso contrário, retorna False. Pode ser utilizada para
finalizar o processamento (com o método Response.End) se o
cliente passar para outra página antes da página corrente ter sido
encerrada. Esta propriedade é útil se o script corrente for longo;
evita que o servidor continue tentando enviar informações quando
o usuário não está mais conectado. No ASP 2.0 verificava se o
usuário continuava conectado após a última chamada do método
Response.Write; na versão 3.0 pode ser utilizada antes de
qualquer conteúdo ter sido enviado para o cliente.
Response.IsClientConnected

Exemplo
<%
ifResponse.IsClientConnectedThen
código...
else
Response.End
EndIf
%>

Pics
Adiciona um label PICS ao header HTTP response. PICS é um
sistema de classificação usado voluntariamente por sites para
classificar o conteúdo da página em termos de violência, sexo,
linguagem inapropriada, etc. Por alterar valores do header HTTP
da resposta, deve ser definida antes que qualquer saída tenha sido
enviada ao browser cliente, a não ser que a resposta esteja
buferizada. Se o label possui aspas embutidas, estas devem ser
substituídas por & chr(34) &. Mais informações sobre PICS
podem ser obtidas em www.rsac.org.
Response.Pics (strLabelPICS)

37
Objetos Intrínsecos do ASP Response

Status
Especifica o valor do status e da mensagem enviada para o cliente
nos headers HTTP da resposta para indicar o resultado do
processamento da página (erro ou sucesso). Quando um servidor
responde a uma solicitação (request) HTTP, a primeira linha
retornada é a linha de status. Por alterar valores do header HTTP
da resposta, deve ser definida antes que qualquer saída tenha sido
enviada ao browser cliente, a não ser que a resposta esteja
buferizada.
Response.Status = strStatus
Argumento Descrição
strStatus Valor string contendo um código de três dígitos que indica
o status da solicitação (request) HTTP e uma breve
descrição do código de status. Veja na página 121 os
códigos de status.

Exemplo
<%
EnderecoIP=Request.ServerVariables(“REMOTE_ADDR”)
IfEnderecoIP<>“208.5.64.223”Then
Response.Status=“403AccessForbidden”
Response.WriteResponse.Status
Response.End
EndIf
%>

Métodos do objeto Response

AddHeader
Adiciona um header HTTP à resposta enviada ao browser cliente.
Não substitui um header existente com mesmo nome, e após
adicionado, não pode ser removido. Por alterar valores do header
HTTP da resposta, deve ser executado antes que qualquer saída
tenha sido enviada ao browser cliente, a não ser que a resposta
esteja buferizada.
Response.AddHeader strNome,strValor
Parâmetro Descrição
strNome Nome do header a ser adicionado. Pode ser um nome
predefinido ou criado pelo próprio usuário.
strValor Valor inicial do novo header.

Exemplo
<%
Response.Status="302ObjectMoved"
Response.AddHeader"Location","novopath/novapag.asp"
%>

38
Objetos Intrínsecos do ASP Response

AppendToLog
Acrescenta um string (sem vírgulas) no final de uma entrada no
log do servidor web para a solicitação (request) corrente do
cliente. O servidor IIS permite registrar, em um arquivo, a
atividade do usuário. Esse arquivo pode ser um arquivo texto ou
um banco de dados ODBC. Cada entrada no log contém: data/hora
da visita do usuário, páginas solicitadas, endereço IP do cliente
e o tempo de conexão com o servidor. Os arquivos de log do IIS
estão localizados em
winnt\system32\LogFiles\W3svc1\ex[data].log.
Response.AppendToLog strEntradaLog
Parâmetro Descrição
strEntradaLog String a ser acrescentado. Até 80 caracteres, não pode
conter vírgulas, porque os campos do log do IIS são
delimitados por vírgulas.

Exemplo
<%
Response.AppendToLog(“ErronoProcessamento”)
%>
Saída adicionada no final do arquivo de log do IIS:
10.78.176.37,-,02/15/2000,14:05:20,W3SVC,VENDAS1,10.78.176.37,
ErronoProcessamento

BinaryWrite
Envia dados binários diretamente para a saída HTTPcorrente sem
qualquer conversão de character-set. Utilizado para enviar
informação não-string, tais como dados binários requeridos por
uma aplicação cliente ou os bytes que compõem um arquivo
imagem.
Response.BinaryWrite arbyteDados
Parâmetro Descrição
arbyteDados Array do tipo Variant de bytes a ser enviado à saída HTTP.

Clear
Limpa o buffer de saída HTML. Não limpa headers HTTP,
somente o conteúdo do buffer. Ocorrerá um erro de run-time se
Response.Buffer não estiver definido como True.
Response.Clear

39
Objetos Intrínsecos do ASP Response

End
Interrompe o processamento do script, e envia o resultado
corrente para o browser cliente, sem processar o resto do arquivo
ASP. Se Response.Buffer estiver definido como True,
Response.End esvazia o buffer e então finaliza.
Response.End

Exemplo
<%
Response.Write“Alômundo”
Response.End
Response.Write“Estalinhanãoserámostrada”
%>

Flush
Envia o conteúdo do buffer de saída imediatamente ao browser
cliente. Ocorrerá erro de run-time se Response.Buffer não
estiver definido como True.
Response.Flush

Redirect
Redireciona a solicitação (request) do cliente para um outro URL.
Além de redirecionar o browser para um outro endereço, retorna
um HTTP status "302 Object Moved" indicando a ocorrência de
um redirecionamento.Nenhuma saída deve ser executada antes de
uma instrução Response.Redirect.
Response.Redirect(strURL)
Parâmetro Descrição
strURL String com o endereço URL da página para onde o browser
cliente é redirecionado.

Exemplo
<%
IfSession(“IDCliente”)=“”Then
Response.Redirect“Registro.asp”
EndIf
%>

40
Objetos Intrínsecos do ASP Response

Write
Envia informações diretamente para a saída HTTP corrente. Pode
ser utilizado o atalho <%= vntDados %> no lugar de
Response.Write.
Response.Write vntDados
Parâmetro Descrição
vntDados Argumento Variant contendo os dados a serem enviados.
Inclui textos, tags HTML, scripts client-side, e assim por
diante. Não pode conter a combinação de caracteres %>,
pois o servidor interpretará como o final do script ativo.
Caso seu script requeira esta seqüência de caracteres,
use a seqüência escape %\> no lugar.

Exemplo
<BODY>
<H1>TabelasdasServerVariables</H1>
<TABLEborder=0width=90%align=centercellspacing=5>
<%
ForeachnomeInRequest.ServerVariables
Response.Write"<TR><TD>"&nome&"</TD><TD>"
Response.WriteRequest.ServerVariables(nome)&"</TD></TR>"
Next
%>
</TABLE>
</BODY>
</HTML>

41
Objetos Intrínsecos do ASP Server

Objeto Server
O objeto Server fornece acesso a métodos e propriedades do
servidor.

Sumário do Objeto Server


Propriedade
ScriptTimeout

Métodos
CreateObject
Execute
GetLastError
HTMLEncode
MapPath
Transfer
URLEncode

Propriedade do Objeto Server

ScriptTimeout
Define ou retorna a quantidade de tempo (em segundos) que
scripts na página podem ser executados antes do servidor abortar
a execução da página. É normalmente utilizada para evitar a
sobrecarga do servidor com páginas com erros que podem
ocasionar loops (default=90 segundos).
Server.ScriptTimeout [=lngNumSegundos]

Exemplo
<%Server.ScriptTimeout=150%>

Métodos do Objeto Server

CreateObject
Cria uma instância de um objeto no servidor para uso em uma
página ASP. Uma vez instanciado, você pode acessar quaisquer
coleções, eventos, métodos e proprieadades associadas com esse
objeto. Os objetos a serem instanciados devem estar instalados
e registrados no servidor web.
Set objMeuObjeto = Server.CreateObject(strProgID)
Parâmetro Descrição
objMeuObjeto Nome da variável que irá conter uma referência para o
objeto que está sendo instanciado.
strProgID Identificação da classe do objeto que será instanciado.
Este valor é encontrado no Registry e representa como a
DLL do componente está registrada.

Exemplo
<%SetobjConn=Server.CreateObject(“ADODB.Connection”)%>

42
Objetos Intrínsecos do ASP Server

Execute (ASP 3.0)


Interrompe a execução da página corrente e transfere o controle
para uma outra página. O ambiente corrente do usuário é carregado
para a nova página. Após aquela página ter sido executada, o
controle volta para a página original e a execução continua no
comando seguinte ao método Execute. O método Execute é
similar a uma chamada de procedure em muitas linguagens de
programação.
Server.Execute(strUrl)
Exemplo:
<%
IfblnUsaDHTMLThen
Server.Execute(“DHTML.asp”)
Else
Server.Execute(“HTML.asp”)
EndIf
%>

GetLastError (ASP 3.0)


Retorna uma referência para um objeto ASPError que armazena
detalhes do último erro ocorrido no processamento da página. Por
alterar valores do header HTTP da resposta, deve ser executado
antes que qualquer saída tenha sido enviada ao browser cliente,
a não ser que a resposta esteja buferizada.
Server.GetLastError()

HTMLEncode
O método HTMLEncode aplica a sintaxe de codificação HTML
em um string. Caracteres especiais, tais como: < e > são convertidos
para &lt; e &gt;, respectivamente.
Server.HTMLEncode(strHTMLString)
Parâmetro Descrição
strHTMLString String a ser codificado.

Exemplo
<%
Response.WriteServer.HTMLEncode(“Atagparaumatabelaé:<Table>”)
%>
Produz a saída:
Atagparaumatabelaé:&lt;Table&gt;

43
Objetos Intrínsecos do ASP Server

MapPath
O método MapPath mapeia um path virtual ou relativo para o
correspondente diretório físico no servidor.
Server.MapPath(strPath)
Parâmetro Descrição
strPath Especifica o path virtual ou relativo a ser mapeado para
um diretório físico. Se path inicia com (/) ou (\), é assumido
ser um path virtual completo. Caso contrário, é assumido
ser um path relativo ao diretório que o arquivo .asp está
sendo processado.

Exemplo
<HTML>
Opathdoarquivoteste.aspé:
<%Response.WriteServer.MapPath(“teste.asp”)%>
</HTML>
Saída do script:
OpathdestearquivoéD:\Inetpub\wwwroot\teste.asp

Transfer (ASP 3.0)


Interrompe a execução da página corrente e transfere o controle
para uma outra página. O ambiente corrente do usuário é carregado
para a nova página. Ao contrário do método Execute, a execução
não é retornada para a página original.
Server.Transfer(strUrl)

Exemplo
<%
IfSession(“blnVendaRealizada”)Then
Server.Transfer(“/Pedido/Agradece.asp”)
Else
Server.Transfer(“/Pedido/MaisInfo.asp”)
Endif
%>

URLEncode
O método URLEncode converte um string utilizando as regras
de codificação URL, para que possa ser enviado em linha de
endereço como um query string.
Server.URLEncode(strURL)
Parâmetro Descrição
strURL String a ser codificado.

Exemplo
<%Response.Write(Server.URLEncode(“http://www.microsoft.com”))%>
produz a saída:
http%3A%2F%2Fwww%2Emicrosoft%2Ecom

44
Objetos Intrínsecos do ASP Session

Objeto Session
Um objeto Session armazena informações para uma sessão de
usuário. A sessão de usuário inicia no momento que o usuário
solicita a primeira página do site. Variáveis armazenadas no objeto
Session não são descartadas quando o usuário passa para outras
páginas da aplicação; em vez disso, essas variáveis persistem para
a sessão inteira do usuário. O servidor destrói o objeto Session
quando o tempo da sessão expira ou é abandonada.
As variáveis Session funcionam somente com browsers que
suportam cookies. Se o usuário desabilitar os cookies em seu
browser, então todas as variáveis Session do usuário serão perdidas
tão logo uma nova página for solicitada. Por default, o objeto
Session é destruído após a sessão ficar inativa por 20 minutos.
O seguinte script mostra como criar uma variável Session chamada
minhavar com o valor “Alô mundo”:
Session(“minhavar”)=“Alômundo”
Após a variável minhavar ter sido criada, você pode exibí-la em
qualquer página subseqüente usando o seguinte comando:
Response.WriteSession(“minhavar”)

Sumário do Objeto Session

Coleções
Contents
StaticObjects

Propriedades
CodePage
LCID
SessionID
Timeout

Métodos
Contents.Remove
Contents.RemoveAll
Abandon

Eventos
onStart
onEnd

Coleções do Objeto Session

Contents
A coleção Contents do objeto Session pode armazenar variáveis
escalares e instâncias de objetos criados com
Server.CreateObject (e não através da tag <OBJECT>).
Session.Contents(nome_item)

45
Objetos Intrínsecos do ASP Session

Propriedades da coleção Contents


Como todas as coleções ASP, a coleção Contents tem as
seguintes propriedades: Item, Key e Count.

Item
Define ou retorna o valor de um elemento específico na coleção
Contents. O elemento pode ser especificado através de um
número de índice (inicia em 1) ou de uma chave. Por exemplo:
• Utilizando um número de índice:
Session.Contents.Item(1)="novatec"
• Utilizando uma chave:
Session.Contents.Item("editora")="novatec"
A propriedade Item é a propriedade default da coleção Contents,
que por sua vez é a coleção default do objeto Session. Os três
exemplos abaixo são eqüivalentes:
Session.Contents.Item(1)="novatec"
Session.Contents(1)="novatec"
Session(1)="novatec"
do mesmo modo, os exemplos abaixo também são eqüivalentes:
Session.Contents.Item("editora")="novatec"
Session.Contents("editora")="novatec"
Session("editora")="novatec"

Key
Define ou retorna o nome de um elemento específico na coleção
Contents. Utilizando o exemplo da propriedade Item, então:
strNomeChave=Session.Contents.Key(1)
retorna "editora", e o exemplo abaixo
strValorChave=Session.Contents.Key("editora")
retorna "novatec".

Count
Representa o número de elementos na coleção Contents.

Exemplo da utilização de coleções


<%
Session(“nome”)=“GuiadeASP”
Session(“data”)=“05/01/2000”
Session(“autor”)=“RubensPrates”
SetSession(“Obj1”)=Server.CreateObject(“ADODB.Connection”)
ForEachIteminSession.Contents
IfIsObject(Session.Contents(Item))Then
Response.WriteItem&“éumobjeto.<BR>”
Else
Response.WriteItem&“=”&Session.Contents(Item)&“<BR>”
EndIf
Next
%>

46
Objetos Intrínsecos do ASP Session

StaticObjects
A coleção StaticObject do objeto Session pode armazenar
instâncias de objetos criadas com o elemento <OBJECT>.
Session.StaticObjects(nome_item)

Propriedades da coleção StaticObjects


Como todas as coleções ASP, a coleção StaticObjects tem as
seguintes propriedades: Item, Key e Count. Para mais detalhes
veja a coleção Contents na página 46.

Exemplo
—————arquivo Global.asa——————-
<OBJECTRUNAT=ServerSCOPE=SessionID=ObjInfo
PROGID=”MSWC.MyInfo”>
</OBJECT>
<OBJECTRUNAT=ServerSCOPE=SessionID=ObjConexao
PROGID=”ADODB.Connection”>
</OBJECT>
<OBJECTRUNAT=ServerSCOPE=SessionID=ObjAdRot
PROGID=”MSWC.ADRotator”>
</OBJECT>
—————arquivo.asp————————-
<%
ForEachobjInApplication.StaticObjects
Response.Writeobj&“<BR>”
Next
\%>

Propriedades do Objeto Session

CodePage
Especifica a página de código usado para exibir o texto enviado
para o browser cliente.
Session.CodePage(=Codepage)

LCID
Especifica o identificador de localização que será usado para
exibir o texto enviado para o browser cliente. Permite formatar
datas, números e moeda de acordo com as especificações de cada
país ou região. Por exemplo, o identificador para o Brasil é 1046.
Session.LCID intLCID

47
Objetos Intrínsecos do ASP Session

SessionID
Retorna o número de identificação de sessão para o usuário
corrente. Esse número é usado para rastrear um usuário, e é gerado
pelo servidor web (através de um algorítmo complexo) na
primeira vez que o usuário solicita uma página. Esse número é
armazenado como um cookie, no computador do usuário.
Posteriormente, cada vez que o usuário requisita uma página do
servidor web, o browser envia o cookie para o servidor, no header
HTTP da request, como forma de identificá-lo perante o servidor.
O cookie somente é reinicializado quando o browser ou o servidor
forem reinicializados.
Se o browser não suportar cookies ou estiver com a opção de
cookies desabilitada, a propriedade SessionID não será enviada
como parte do header HTTP da request, e portanto não poderá
ser utilizada para identificar o usuário.
Session.SessionID

Exemplo
<%Response.Write“SuaIDdesessãoé“&Session.SessionID%>
Saída:
SuaIDdesessãoé465107831

Timeout
Especifica o tempo máximo (em minutos) de inatividade de uma
sessão até que o servidor a considere encerrada (default=20
minutos). Se o usuário não atualizar a imagem da página ou
solicitar outra página no tempo especificado, a sessão é encerrada
automaticamente e os recursos liberados.
Session.Timeout [=número]

Métodos do Objeto Session

Contents.Remove
Remove uma variável da coleção Session.Contents. Não é
possível remover variáveis da coleção Session.StaticObjects.
Session.Contents.Remove (nome | índice)
Argumento Descrição
nome Nome do item a ser removido.
índice Índice do item a ser removido.

Contents.RemoveAll
Remove todas as variáveis da coleção Session.Contents.
Session.Contents.RemoveAll

48
Objetos Intrínsecos do ASP Session

Abandon
Encerra a sessão do usuário, remove todos os dados e objetos do
objeto Session corrente, liberando seus recursos. Por default,
mesmo que o método Abandon não seja executado, o objeto
Session é encerrado após vinte minutos de inatividade.
Session.Abandon

Eventos do Objeto Session

Session_OnEnd
O evento OnEnd ocorre quando a Session é encerrada. A
procedure para este evento, se existir, deve ser colocada no
arquivo Global.asa da aplicação que contém a página solicitada.
Para mais detalhes veja a página 18.

Session_OnStart
O evento OnEnd ocorre quando a Session é iniciada. A procedure
para este evento, se existir, deve ser colocada no arquivo Global.asa
da aplicação que contém a página solicitada. Para mais detalhes
veja a página 18.

49
Componentes do IIS ADO

ADO
ADO (ActiveX Data Objects) é uma tecnologia complementar ao
ASP, fornecendo a interface com bancos de dados.
ADO faz parte da suite de componentes MDAC (Microsoft Data
Access Components) incluída no pacote II 5.0 / ASP 3.0, e também
em outros produtos da Microsoft. Você pode fazer o download da
versão mais recente em http://www.microsoft.com/data/
download.htm.
A explicação completa do ADO exige um livro inteiro, o que é
inviável nesse guia. Colocamos nessa página apenas um exemplo.
Para mais informações veja o guia ADO desta mesma série.
Sintaxe para instanciação do componente:
Set objADO = Server.CreateObject(“strProgID”)
Parâmetro Significado
ProgID ProgID do objeto ADO a ser instanciado.

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
msado15.dll Nome da DLL que contém os objetos ADO.
adovbs.inc Contém declarações VBScript para todas as constantes
usadas pelo ADO.

Utilização do componente
Veja abaixo um exemplo de como listar os nomes dos produtos no
banco de dados Northwind, o banco de dados de exemplo é
fornecido pela Microsoft no Access e SQL Server.
<%
OptionExplicit
Response.Expires=0
DimobjConn,objRs,strQuery,strConexao
SetobjConn=Server.CreateObject("ADODB.Connection")
'necessitadeumaconexãoODBCparaobancodedadosNorthwind
strConexao="DSN=Northwind;Database=Northwind;UID=sa;PWD=;"
objConn.OpenstrConexao
strQuery="SELECTProductnameFROMProductsORDERBYProductName
SetobjRs=objConn.Execute(strQuery)
WhileNotobjRs.EOF
Response.WriteobjRs("Productname")&
objRs.MoveNext
Wend
%>

50
Componentes do IIS Ad Rotator

Ad Rotator
Esse componente controla a exibição rotativa de banners (imagens
com conteúdo publicitário) exibidos na página. Cada vez que um
usuário abre ou recarrega a página, será exibido um novo banner
baseado na informação contida no arquivo Rotator Schedule.
Sintaxe para instanciação do componente:
Set objAdRot = Server.CreateObject("MSWC.AdRotator")

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Adrot.dll Nome da DLL que contém o componente Ad Rotator.
Rotator Schedule Um arquivo texto com informações que o componente
Ad Rotator utiliza para gerenciar e exibir os banners.
Página Redirect URL do arquivo de redirecionamento opcional. Pode
ser uma página ASP, uma DLL ou uma aplicação CGI.
Normalmente inclui script para analisar o "query string"
enviado pelo componente Ad Rotator, contabilizar as
informações sobre visitantes, e redirecionar o usuário
para o URL associado com o anúncio que foi clicado.

Layout do arquivo Rotator Schedule


Esse arquivo consiste de duas seções, separadas por uma linha
contendo um asterisco (*): informações para todas as imagens
e informações de cada anúncio:

Informações para todas as imagens


Aplica-se a todos os banners na página.
Parâmetro Significado
REDIRECT Especifica o URL da página Redirect. Pode ser URL
absoluto ou relativo ao diretório virtual.
WIDTH Largura (em pixels) dos banners (default=60).
HEIGHT Altura (em pixels) dos banners (default=440).
BORDER Espessura (em pixels) da borda ao redor dos banners
(default=1). Pode ser substituído pela propriedade Border.

Informações de cada banner


Contêm informações sobre cada banner na página. Todos os
elementos de cada banner são opcionais. Coloque hifen (-) no lugar
de um elemento omitido.
Elemento Significado
adURL URL do banner a ser exibido.
adHomePageUrl URL para a homepage do anunciante para onde o
usuário será redirecionado quando clicar o banner.
texto alternativo Texto a ser exibido quando o browser não suportar
imagens ou quando a opção de exibir imagens estiver
desabilitada.
peso relativo Um número que especifica o peso relativo desse
anúncio. Todos os pesos de todos os anúncios são
somados e o tempo de exibição é determinado pela
porcentagem do peso em relação ao total.
51
Componentes do IIS Ad Rotator

Exemplo do arquivo Rotator Schedule


REDIRECTcontabiliza.asp
WIDTH500
HEIGHT80
BORDER 0
*
/imagens/tcpip.gif
http://www.novatec1.com/tcpip
GuiadoTCP/IP
50
/imagens/php.gif
http://www.novatec1.com/php
GuiadoPHP
50

Exemplo da Página Redirect


<%
'contabiliza.asp
strUserName=Session("USERNAME")
strRemoteAddress=Request.ServerVariables("REMOTE_ADDR")
strURL=Request.QueryString("URL")
strBrowser=Session("UserBrowser")
'
'códigopararegistrarasinformaçõesemumbancodedados
'
Response.RedirectstrURL
%>

Utilização do componente Ad Rotator


Para colocar os banners em seu site, crie uma instância do objeto
antes de colocá-lo onde ele será exibido.
<%
DimobjAdRot
SetobjAdRot=Server.CreateObject("MSWC.AdRotator")
%>
<HR>
<%=objAdRot.GetAdvertisement("rotsched.txt")%>
<HR>
BenvindoàpáginadaNovatec.Porfavorvisitenossospatrocinadores.

52
Componentes do IIS Ad Rotator

Propriedades do componente

Border
Especifica a espessura (em pixels) da borda ao redor do banner.
objAdRot.Border = inTamanho

Clickable
Define ou retorna um valor lógico indicando se o banner é um
hiperlink (default=True).
objAdRot.Clickable = blnClicavel

TargetFrame
Especifica onde o hiperlink associado a um banner deve ser aberto
(_TOP, _NEW, _CHILD, _SELF, _PARENT, ou _BLANK,
default=NO FRAME).
objAdRot.TargetFrame = strNomeFrame

Método do componente

GetAdvertisement
Retorna o próximo anúncio do arquivo Rotator Schedule. Cada
vez que o script é executado, tal quando o usuário abre ou recarrega
uma página, o método retorna o próximo anúncio programado.
objAdRot.GetAdvertisement(strArqRotSched)
Parâmetro Significado
strArqRotSched Especifica a localização do arquivo Rotator
Schedule relativo ao diretório virtual.

53
Componentes do IIS Browser Capabilities

Browser Capabilities
Esse componente permite determinar os recursos suportados pelos
browsers clientes. Informa os recursos que cada browser suporta,
baseado no arquivo browscap.ini, localizado no mesmo diretório da
browscap.dll. Antes de você criar páginas super incrementadas, é
bom lembrar que nem todos os browsers suportam recursos tais
como: frames, som de fundo, applets Java e tabelas.
Sintaxe para instanciação do componente:
Set objTipoBrowser = Server.CreateObject(“MSWC.BrowserType”)

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Browscap.dll Nome da DLL que contém o componente Browser
Capabilities.
Browscap.ini Arquivo texto com informações sobre os recursos
suportados por um grande número de browsers.

Funcionamento do componente
Quando um browser se conecta a um servidor, ele envia um header
HTTP User Agent, que identifica o browser e o número de sua
versão. O componente Browser Capabilities utiliza esse header
para localizar uma entrada no arquivo Browscap.ini que corresponda
a esse browser. Se for encontrada um associação, o componente
Browser Capabilities assume as propriedades contidas no arquivo
Browscap.ini que coincide com o header User Agent. Se não
encontrar uma associação, ele assume as propriedades default. Se
o componente não encontrar uma associação e as propriedades
default não forem especificadas no arquivo Browscap.ini, ele define
cada propriedade com o string "UNKNOWN".
O arquivo Browscap.ini pode ser editado para incluir novos
browsers, ou novos recursos para browsers existentes. É possível
obter o arquivo browscap.ini atualizado no site
www.asptracker.com, ou em www.cyscape.com/browscap.
Veja abaixo um pequeno fragmento do arquivo Browscap.ini criado
por Juan Llivre no site www.asptracker.
;MSIE5.0
[IE5.0]
browser=IE
Version=5.0
frames=True
tables=True
cookies=True
backgroundsounds=True
vbscript=True
javascript=True
javaapplets=True
ActiveXControls=True
DHTML=True
XML=True

54
Componentes do IIS Browser Capabilities

Utilização do componente
<%
Dimbc
Setbc=Server.CreateObject(“MSWC.BrowserType”)
%>
Nome do browser: <%= bc.browser %><p>
Versãodobrowser:<%=bc.version%><p>
<%if(bc.frames=TRUE)then%>
Obrowserpermiteframes<p>
<% else %>
ObrowserNÃOpermiteframes<p>
<% end if %>
<%if(bc.tables=TRUE)then%>
Obrowserpermitetabelas<p>
<% else %>
ObrowserNÃOpermitetabelas<p>
<%
endif
setbc=nothing
%>

Propriedades do componente
Relacionamos abaixo as propriedades mais utilizadas.
Propriedade Descrição
ActiveXControls Especifica se o browser suporta controles Activex.
Backgroundsounds Especifica se o browser suporta som de fundo.
Beta Especifica se a versão do browser é beta.
Browser Especifica o nome do browser.
Cookies Especifica se o browser suporta cookies.
Frames Especifica se o browser suporta frames.
Javaapplets Especifica se o browser é capaz de executar applets
Java.
Javascript Especifica se o browser suporta JavaScript.
Majorver Especifica o número mais significativo da versão do
browser.
Minorver Especifica o número menos significativo da versão do
browser.
Platform Especifica a plataforma na qual o browser está sendo
executado.
Tables Especifica se o browser suporta tabelas.
Vbscript Especifica se o browser suporta VBScript.
Version Especifica o número da versão do browser.

55
Componentes do IIS Content Linking

Content Linking
O componente Content Linking cria tabelas de conteúdo para
páginas Web, e vincula-as sequencialmente como páginas de um
livro. Elimina a necessidade de ajustar os links manualmente quando
as páginas são adicionadas ou excluídas. Utiliza um arquivo texto
com a lista de páginas e a ordem em que devem ser exibidas.
Sintaxe para instanciação do componente:
Set objNextLink = Server.CreateObject(“MSWC.NextLink”)

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
NextLink.dll Nome da DLL que contém o componente Content
Linking.
Content Linking List Arquivo texto que reside no diretório virtual e
contém uma lista de URLs de páginas, na ordem
em que elas devem ser exibidas. Cada página
ocupa uma linha do arquivo.

Layout do arquivo Content Linking List


Contém uma linha de texto para cada URL na lista. Cada linha
termina com um Carriage Return e cada item na linha é separado por
um caractere TAB. Cada linha do arquivo tem a seguinte sintaxe:
URL_doc [descrição [comentário]]
Item Significado
URL_pag Path virtual ou relativo do documento web. Não podem ser
paths físicos, nem URLs absolutos (que começam com
http://, // ou \\).
descrição String opcional descrevendo a página.
comentário String opcional contendo comentário sobre a página, e não
é visualizado pelo usuário.

Exemplo do arquivo Content Linking List


pagA.asp Introdução
pagB.asp Objetosintrínsecos
pagC.asp Componentes
pagD.asp Objetosdescritpting

56
Componentes do IIS Content Linking

Utilização do componente
O script abaixo cria uma tabela de conteúdo, usando uma lista não
ordenada:
<UL>
<%
SetNextLink=Server.CreateObject(“MSWC.NextLink”)
num_itens=NextLink.GetListCount(“nextlink.txt”)
Fori=1Tonum_itens
%>
<LI><AHREF=”<%=NextLink.GetNthURL(“nextlink.txt”,I) %>“>
<%=NextLink.GetNthDescription(“nextlink.txt”,i)%> </A>
<%
Next
%>
</UL>
O script abaixo adiciona os botões "próxima página" e "página
anterior" a um arquivo HTML.
<%
SetNextLink=Server.CreateObject(“MSWC.NextLink”)
num_itens=NextLink.GetListCount("nextlink.txt")
pag_atual=NextLink.GetListIndex("nextlink.txt")
If(pag_atual>1)Then
%>
<AHREF=”<%=NextLink.GetPreviousURL(“nextlink.txt”)%> “>
PáginaAnterior</A>
<%
EndIf
If(pag_atual<>num_itens)Then
%>
<AHREF=”<%=NextLink.GetNextURL(“nextlink.txt”)%>“>
PróximaPágina</A>
<% End IF %>
O script acima pode ser colocado em um arquivo include (ver
página 16) que pode usado em todas as páginas que fazer parte da
cadeia de links.

57
Componentes do IIS Content Linking

Métodos do componente

GetListCount
Retorna o número de itens do arquivo Content Linking List.
objNextLink.GetListCount(strListaVinculo)

GetListIndex
Obtém o índice da página atual do arquivo Content Linking List.
Zero é retornado quando a página não estiver na lista.
objNextLink.GetListIndex(strListaVinculo)

GetNextDescription
Retorna a descrição do próximo item da lista.
objNextLink.GetNextDescription(strListaVinculo)

GetNextURL
Obtém o URL do próximo item da lista. Se a página atual não fizer
parte da lista, o URL do último item é retornado.
objNextLink.GetNextURL(strListaVinculo)

GetNthDescription
Retorna a descrição do item de número N da lista.
objNextLink.GetNthDescription(strListaVinculo)

GetNthURL
Obtém o URL do item de número N da lista. Se houver menos do
que N itens na lista, o URL do último item é recuperado.
objNextLink.GetNthURL(strListaVinculo)

GetPreviousDescription
Retorna a descrição do item anterior da lista.
objNextLink.GetPreviousDescription(strListaVinculo)

GetPreviousURL
Retorna o URL do item anterior da lista; se a página atual não fizer
parte da lista, o URL da primeira página é retornado.
objNextLink.GetPreviousURL(strListaVinculo)

58
Componentes do IIS Content Rotator

Content Rotator
O componente Content Rotator permite exibir automaticamente
diferentes seções de código HTML em uma página. Cada vez que
o usuário solicita a página, o objeto exibe uma seção de código
HTML diferente, baseado na informação especificada em um
arquivo texto, que contém diferentes seções de código HTML. O
código HTML pode conter tags HTML que permitem exibir
qualquer tipo de conteúdo: texto, imagens ou hiperlinks. Um
exemplo de utilização é exibir uma dica do dia diferente na página,
cada vez que o usuário visitar a página.
Sintaxe para instanciação do componente:
Set objContRot = Server.CreateObject("MSWC.ContentRotator")

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Controt.dll Nome da DLL que contém o componente Content
Rotator.
Content Schedule Um arquivo de texto contendo diferentes seções
de código HTML que o componente utiliza e
exibe para o cliente.

Layout do arquivo Content Schedule


Consiste de várias entradas para seções de código HTML. Cada
entrada consiste de duas partes: uma linha que começa com dois
sinais de porcentagem (%%) e contém um peso relativo e qualquer
comentário e, uma segunda parte que contém o próprio código
HTML.

Sintaxe de cada seção:


%% [#intPeso] [//comentário]
códigoHTML
Elemento Significado
%% Identifica o início de uma seção de código HTML.
#intPeso Parâmetro opcional que especifica um número entre 0 e
10000 que indica o peso relativo dessa seção. Todos os
pesos de todas as seções são somados e o tempo de
exibição é determinado pela porcentagem do peso em
relação ao total.
//comentário Parâmetro opcional contendo comentários sobre a entrada.
Não é exibido para o usuário.Se ocupar mais de uma linha,
cada linha adicional deve iniciar com o delimitador (%%)
seguindo pelo delimitador de comentário (//).
códigoHTML Código HTML exibido pelo objeto.Pode incluir uma ou
mais linhas.

59
Componentes do IIS Content Rotator

Exemplo do arquivo Content Schedule


%%//Nafaltadopesoassumeodefault1
Conheçanossaspublicações.
%%#2//Comentáriospodemocuparmaisdeumalinha.
%%//Linhaadicionaldecomentário
%%//Aindaoutralinhadecomentário
<FONTFACE=”ARIAL,HELVETICA”SIZE=”2">
Conheçaoúltimolançamento:
<H1>TCP/IP</H1>
</FONT>
%% #3 // Exibe uma imagem
<IMGSRC=”/imagens/logo.gif”>
%%
Localizea<AHREF=”livrarias.asp”>Livraria</A>maispróxima.

Utilização do componente
O exemplo abaixo exibe uma dica diferente cada vez que o usuário
visualizar a página.
<%
SetProxDica=Server.CreateObject(“MSWC.ContentRotator”)
Response.WriteProxDica.ChooseContent(“/Dicas/Content.txt”)
%>

Métodos do componente

ChooseContent
Seleciona uma seção de código HTML do arquivo content
schedule, e a exibe na página. Cada vez que o script for executado,
uma nova seção de código HTML é selecionada do arquivo.
objContentRotator.ChooseContent(strContentSchedule)
Parâmetro Significado
strContentSchedule Especifica a localização do arquivo Content
Schedule.

GetAllContent
Exibe todas as seções de código HTML contidas no arquivo
content schedule. Cada seção é exibida separada por uma tag
<HR>.
objContentRotator.ChooseContent(strContentSchedule)
Parâmetro Significado
strContentSchedule Especifica a localização do arquivo Content
Schedule.

60
Componentes do IIS Counters

Counters
O componente Counters pode ser usado para criar, armazenar,
incrementar e retonar qualquer número de contadores individuais.
Todos os contadores são armazenados no arquivo texto Counters.txt
que pode ser encontrado no mesmo diretório do componente
Counters.dll.
Sintaxe para instanciação do componente:
Set objContadores= Server.CreateObject("MSWC.Counters")

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Counters.dll Nome da DLL que contém o componente Counters.
Counters.txt Arquivo texto contendo os valores atuais dos contadores
adicionados ao objeto Counters do site. Pode conter
qualquer número de valores de contadores e não deve
ser editado manualmente. Também não deve ser
renomeado.

Utilização do componente
Existe uma única cópia do arquivo Counters.txt, que todas as
instâncias do componente devem utilizar. A maneira mais comum
de utilização é criar uma instância no arquivo Global.asa, disponível
para todas as páginas no site. Por exemplo:
<OBJECTID="objContador"RUNAT="Server"SCOPE="Application"
PROGRID="MSWC.Counters"

Métodos do componente

Get
Retorna o valor corrente de um contador. Se o contador não existir,
então ele será criado com valor inicial de zero.
objContador.Get(strNomeContador)

Increment
Incrementa um contador. Se o contador não existir, então ele será
criado com valor inicial de 1.
objContador.Increment(strNomeContador)

Remove
Remove um contador do componente Counters e elimina sua
entrada do arquivo Counters.txt.
objContador.Remove(strNomeContador)

Set
Cria um contador no componente Counters e adiciona uma
entrada no arquivo Counters.txt. Retorna o novo valor do
contador.
objContador.Set(strNomeContador, intValorContador)

61
Componentes do IIS Logging Utility

Logging Utility (ASP 3.0)


O componente Logging Utility é usado para criar um objeto IISLog,
que permite a leitura do arquivo de log do IIS. O usuário que estiver
acessando o script que instancia o componente IISLog deve estar
autenticado como um Administrador ou Operador no servidor onde
o IIS estiver sendo executado.
Sintaxe para instanciação do componente:
Set obj = Server.CreateObject("MSWC.IISLog")

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Logscrpt.dll Nome da DLL que contém o componente Logging Utility.

Métodos do componente

AtEndOfLog
Retorna True se todos os registros do arquivo log foram lidos.
AtEndOfLog()

CloseLogFiles
Fecha os arquivos de log abertos.
CloseLogFiles (modo)
Parâmetro Significado
modo Especifica quais arquivos serão fechados.
ForReading=1 Fecha todos os arquivos que foram abertos para
leitura.
ForWriting=2 Fecha todos os arquivos que foram abertos para
gravação.
AllOpenFiles=32 Fecha todos os arquivos abertos.

OpenLogFiles
Abre um arquivo de log para leitura ou gravação.
OpenLogFile( nomearq, [modo], [serviço], [instância], [formato] )
Parâmetro Significado
nomearq Nome do arquivo de log a ser aberto.
modo Parâmetro opcional indicando se o arquivo log será
aberto para leitura ou gravação.
ForReading=1 Fecha todos os arquivos que foram abertos para leitura
(default).
ForWriting=2 Fecha todos os arquivos que foram abertos para
gravação.
serviço Parâmetro opcional indicando que somente os registros
do serviço especificado devem ser retornados.
instância Parâmetro opcional indicando que somente os registros
da instância do serviço especificado devem ser
retornados.
formato Parâmetro opcional indicando o formato para arquivos
log abertos para gravação.

62
Componentes do IIS Logging Utility

ReadFilter
Permite ler registros dentro de um intervalo de data e hora.
ReadFilter( [datahorainicial], [datahorafinal] )
Parâmetro Descrição
datahorainicial Parâmetro opcional indicando a data e hora inicial.
datahorafinal Parâmetro opcional indicando a data e hora final.

ReadLogRecord
Lê o próximo registro de log do arquivo de log corrente.
ReadLogRecord()

WriteLogRecord
Grava um registro de log no arquivo de log corrente, lido de um
outro objeto IISLog.
WriteLogRecord( objIISLog )
Parâmetro Descrição
objIISLog O objeto indicando onde os registros de log devem ser
lidos.

Propriedades do componente

BytesReceived
Retorna o número de bytes recebidos na solicitação do browser.
numbytes = BytesReceived

BytesSent
Retorna o número de bytes enviados na resposta para o browser.
numbytes = BytesSent

ClientIP
Retorna o endereço IP do cliente ou seu host (proxy server).
var = ClientIP

Cookie
Retorna o conteúdo de qualquer cookie enviado na solicitação
(request).
var = Cookie

CustomFields
Retorna um array de headers de cliente adicionados à solicitação
(request).
var = CustomFields
Parâmetro Descrição
var Um array bidimensional de variantes. Cada par de
variantes forma um par chave-valor que descreve o
header HTTP.

63
Componentes do IIS Logging Utility

DateTime
Retorna a data e hora da solicitação (request) (hora GMT).
var = DateTime

Method
Retorna o tipo de operação (GET ou POST).
var = Method

ProtocolStatus
Retorna o código de status do protocolo HTTP retornado para
o cliente.
var = ProtocolStatus

ProtocolVersion
Retorna a versão do protocolo.
var = ProtocolVersion

Referer
Retorna o URL da página contendo o link que iniciou a solicitação
(request) (se existir).
var = Referer

ServerIP
Retorna o endereço IP do servidor IIS.
var = ServerIP

ServerName
Retorna o nome da máquina do servidor IIS.
var = ServerName

ServerPort
Retorna o número da porta onde a request foi recebida.
var = ServerPort

ServiceName
Retorna o nome do serviço, tal como "MSFTPSVC" ou "W3SVC".
var = ServiceName

TimeTaken
Retorna o tempo total de processamento para obter e criar a
página retornada.
var = TimeTaken

URIQuery
Retorna o parâmetro no query string acrescentado ao URL na
solicitação (request).
var = URIQuery
64
Componentes do IIS Logging Utility

URIStem
Retorna o URL que foi solicitado.
var = URIStem

UserAgent
Retorna o string User agent enviado pelo browser cliente.
var = UserAgent

UserName
Retorna o nome de logon do usuário, se ele não estiver acessando
o servidor anônimamente.
var = UserName

Win32Status
Retorna o código de status Win32 retornado após o processamento
da solicitação (request).
var = Win32Status

65
Componentes do IIS MyInfo

MyInfo
O componente MyInfo cria um objeto MyInfo que fornece um
repositório para armazenamento persistente de pares nome/valor,
ou qualquer outro tipo de informação string, acessíveis no site
inteiro. Os dados são armazenados no formato XML no arquivo
MyInfo.xml localizado no diretório inetsrv do computador do
servidor web. O componente MyInfo foi originalmente introduzido
no Personal Web Server, para manter informações pessoais
fornecidas pelo administrador do servidor, através de um conjunto
de propriedades predefinidas. No IIS essas propriedades não são
implementadas.

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Myinfo.dll Nome da DLL que contém o componente MyInfo.
Myinfo.xml Arquivo onde o componente MyInfo armazena seus
valores. Não pode ser renomeado.

Utilização do componente
Deve ser criado um objeto MyInfo no arquivo Global.asa através
do seguinte código:
<OBJECTID="objMyInfo"
RUNAT="Server"
SCOPE="Application"
PROGID="MSWC.MyInfo">
</OBJECT>
O componente MyInfo não têm propriedades ou métodos por
default. Você pode criar novas propriedades MyInfo simplesmente
atribuindo um valor string à propriedade. Por exemplo:
<%
objMyInfo.Editora=“Novatec”
objMyInfo.Editor=“RubensPrates”
objMyInfo.Endereco="RuaConsMoreiradeBarros1084"
%>
Como qualquer propriedade de componente, seu valor pode ser
retornado em qualquer página do site, através do código abaixo:

<%
strNomeEditora=objMyInfo.Editora
strNomeEditor=objMyInfo.Editor
strEndereco=objMyInfo.Endereco
%>

66
Componentes do IIS Page Counter

Page Counter
O componente Page Counter cria um objeto PageCounter que
mantém registro do número de vezes que uma página foi acessada.
O componente Page Counter usa um objeto interno do IIS para
contar o número de vezes que cada página é acessada. Quando uma
instância do objeto PageCounter é criada na página, o objeto obtém
o valor do contador de acessos dessa página. O componente
periodicamente grava os dados em um arquivo texto no servidor, e
no caso de shutdown ou erro, o valor corrente não é perdido.
Sintaxe para instanciação do componente:
Set obj = Server.CreateObject("MSWC.PageCounter")

Arquivos utilizados pelo componente


Arquivo/DLL Descrição
Pagecnt.dll Nome da DLL que contém o componente Page
Counter.
Hit Count Data Arquivo contendo o valor corrente do contador de
acessos para cada página na qual o objeto PageCounter
está sendo usado (nome default=hitcnt.cnt).

Métodos do componente

Hits
Retorna o número de hits em uma página.
objPgCntr.Hits([strPathInfo)]
Parâmetro Significado
strPathInfo Path virtual e nome da página. Se não especificado, retorna
a contagem para a página corrente.
Exemplo
<%
DimobjPgCntr,lngHitCount
SetobjPgCntr=Server.CreateObject("MSWC.PageCounter")
lngHitCount=objPgCntr.Hits("/Apps/Homepage.asp")
%>
Ahomepagefoiacessada<%=lngHitCount%>vezes

PageHit
Incrementa de 1 o contador para a página corrente.
Object.PageHit()

Reset
Reinicializa o número de hits em uma página para zero.
objPgCntr.Reset([strPathInfo)]
Parâmetro Significado
strPathInfo Path virtual e nome da página. Se não especificado, retorna
a contagem para a página corrente.

67
Componentes do IIS Permission Checker

Permission Checker
O componente Permission Checker permite utilizar o modelo de
segurança do Windows NT/2000 para determinar se um usuário tem
permissão para ver um arquivo armazenado em um volume NTFS.
Necessita das opções de segurança Basic Clear Text ou Windows
NT Challenge Response ativadas no servidor web.
Sintaxe para instanciação do componente:
Set obj= Server.CreateObject("MSWC.PermissionChecker")

Arquivo utilizado pelo componente


Arquivo/DLL Descrição
Permchk.dll Nome da DLL que contém o componente Permission
Checker.

Método do componente

HasAcess
Determina se o usuário corrente tem acesso a um arquivo
especificado no argumento strPath.
objPermChkr.HasAccess(strPath)
Parâmetro Significado
strPath Path relativo (físico ou virtual) para o arquivo no qual se
quer determinar direito de acesso.
Exemplo
<%
DimobjPermChkr,blnPermissao
SetobjPermChkr=Server.CreateObject("MSWC.PermissionChecker")
blnPermissao=objPermChkr.HasAccess("PagSeg.asp")
IfblnPermissaoThen
%>
<AHREF="PagSeg.asp">PáginadeSegurança</A>
<%
EndIf
%>

68
Componentes do IIS Tools

Tools
O componente Tools fornece métodos para verificar a existência de um
arquivo, processar um formulário HTML, ou gerar um número aleatório.
Sintaxe para instanciação do componente:
Set objTools = Server.CreateObject("MSWC.Tools")

Arquivo utilizado pelo componente


Arquivo/DLL Descrição
Tools.dll Nome da DLL que contém o componente Tools.

Métodos do componente

FileExists
Retorna -1 se o URL existe; caso contrário, retorna 0. Similar a
FileSystemObject.FileExists.
Tools.FileExists(URL)
Exemplo
<%IfobjTools.FileExists("qualquer.gif")Then
Response.Write"Oarquivoqualquer.gifexiste"
Else
Response.Write"Oarquivoqualquer.gifnãoexiste"
End If %>

ProcessForm
Processa o conteúdo de um formulário submetido por um
visitante do site. Lê um arquivo template, insere nele as informações
criadas (provavelmente da coleção Request.Form) e, então grava
o resultado no arquivo de saída.
ProcessForm(Url_saída, Url_template, ponto_inserção)
Parâmetro Significado
Url_saída URL relativo do arquivo no qual os dados processados
serão gravados.
Url_template URL relativo do arquivo que contém o template, ou
instruções para processamento dos dados. Pode
conter scripts ASP entre delimitadores <% e %>, mas
são tratados como texto comum e copiado para o
arquivo de saída. Entretanto, se estiverem entre <%%
e %%>, serão executados quando o template estiver
sendo carregado.
ponto_inserção Parâmetro opcional indicando onde inserir, no arquivo
de saída, os dados processados. Esse parâmetro não
foi implementado nas versões iniciais do ProcessForm.

Random
Gera um número inteiro aleatório entre -32768 e 32767.
Tools.Random
Exemplo: Retorna um número aleatório entre 0 e 99.
<% = ( Abs( Tools.Random ) ) Mod 100 %>

69
Objetos de Scripting Run-Time Dictionary

Objeto Dictionary
O objeto Dictionary armazena pares nome/valor (referenciados
como chave e item, respectivamente) em um array. Cada item é
associado a uma única chave.
Sintaxe para instanciação do objeto:
Set obj = CreateObject("Scripting.Dictionary")
No exemplo abaixo é criado um objeto Dictionary chamado
"carros", adiciona alguns pares chave/item e é exibido o valor do item
para a chave "c".
<%
Dimcarros
Setcarros=CreateObject(“Scripting.Dictionary”)
cars.Add“a”,“Elba”
cars.Add“b”,“Fusca”
cars.Add“c”,“Audi”
Response.Write“Ovalorcorrespondenteàchave‘c’é“carros.Item(“c”)
%>
Saídadoscript:
"Ovalorcorrespondenteàchave‘c’éAudi"

Propriedades do Objeto Dictionary

CompareMode (somente em VBScript)


Define ou retorna o modo utilizado na comparação de strings em
um objeto Dictionary.
objetoDic.CompareMode [=compara]
Argumento Descrição
objetoDic Objeto Dictionary.
compara Modo de comparação usado por funções tais como
StrComp.
vbBinaryCompare=0 Comparação binária.
vbTextCompare=1 Comparação textual.

Count
Retorna o número de itens em um objeto Dictionary.
objetoDic.Count

Item
Define ou retorna um item para uma chave especificada em um
objeto Dictionary.
objetoDic.Item(chave)[=novoitem]
Argumento Descrição
objetoDic Nome de uma coleção ou de um objeto Dictionary.
chave Chave associada com o item sendo lido ou adicionado.
novoitem Novo valor associado à chave. Usado somente com
objeto Dictionary.

70
Objetos de Scripting Run-Time Dictionary

Key
Define ou retorna o valor de uma chave em um objeto Dictionary.
objetoDic.Key (chave) = novachave
Argumento Descrição
objetoDic Objeto Dictionary.
chave Chave existente.
novachave Novo valor da chave.

Métodos do Objeto Dictionary

Add
Adiciona um par chave/item a um objeto Dictionary.
objetoDic.Add chave, item
Argumento Descrição
objetoDic Objeto Dictionary.
chave Chave associada ao item que está sendo adicionado.
item Item a ser adicionado.

Exists
Retorna True se a chave especificada existir no objeto Dictionary;
caso contrário, retorna False.
objetoDic.Exists (chave)
Argumento Descrição
objetoDic Objeto Dictionary.
chave Chave a ser pesquisada no objeto Dictionary.

Items
Retorna um array contendo todos os itens em um objeto
Dictionary.
objetoDic.Items

Keys
Retorna um array contendo todas as chaves em um objeto
Dictionary.
objetoDic.Keys

Remove
Remove um par chave/item de um objeto Dictionary.
objetoDic.Remove (chave)
Argumento Descrição
objetoDic Objeto Dictionary.
chave Chave a ser removida do objeto Dictionary.

RemoveAll
Remove todos os pares chave/item de um objeto Dictionary.
objetoDic.RemoveAll

71
Objetos de Scripting Run-Time FileSystemObject

Objeto FileSystemObject
O bjeto FileSystemObject fornece acesso ao sistema de arquivos
(“file system”) do computador. Permite acessar os arquivos
existentes e criar novos arquivos.
Sintaxe para instanciação do objeto:
Set obj = CreateObject("Scripting.FileSystemObject")
No exemplo abaixo é utilizado o método CreateTextFile do objeto
FileSystemObject para criar um arquivo texto (c:\qqarq.txt) e
gravar um texto nele.
<%
dimarqsys,arqtxt,nome,path
Setarqsys=CreateObject(“Scripting.FileSystemObject”)
Setarqtxt=arqsys.CreateTextFile(“c:\qqarq.txt”,True)
path=arqsys.GetAbsolutePathName(“c:\qqarq.txt”)
nome=arqsys.GetFileName(path)
arqtxt.WriteLine(“textoasergravado”)
arqtxt.Close
Ifarqsys.FileExists(path)Then
Response.Write(“Seuarquivo,‘“&getname&“‘,foicriado.”)
EndIf
%>

Propriedades do objeto

Drives
Retorna uma coleção Drives contendo todos os drives acessíveis
em um computador local.
objetoFSO.Drives

Métodos do objeto

BuilPath
Anexa um nome a um path.
objetoFSO.BuildPath (path, nome)
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
path Path no qual um nome será anexado.
nome Nome a ser anexado ao path.

CopyFile
Copia um ou mais arquivos.
objetoFSO.CopyFile fonte, destino [,sobrepõe]
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
fonte Arquivos a serem copiados (aceita caracteres curinga).
destino Destino onde os arquivos serão copiados.
sobrepõe Indica se arquivos existentes são sobrepostos.
True Sobrepõe arquivos existentes.
False Não sobrepõe em arquivos existentes.

72
Objetos de Scripting Run-Time FileSystemObject

CopyFolder
Copia uma ou mais pastas, incluindo arquivos e subpastas.
objetoFSO.CopyFolder fonte, destino [,sobrepõe]
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
fonte Pastas a serem copiadas (aceita caracteres curinga no
último componente do path).
destino Destino onde as pastas serão copiadas.
sobrepõe Indica se pastas existentes são sobrepostas.
True Sobrepõe pastas existentes.
False Não sobrepõe em pastas existentes.

CreateFolder
Cria uma nova pasta.
objetoFSO.CreateFolder (nomepasta)
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
nomepasta Nome da pasta ou diretório a ser criado.

CreateTextFile
Cria um arquivo texto e retorna um objeto TextStream que pode
ser utilizado para ler e gravar no arquivo.
objeto.CreateTextFile (nomearq [,sobrepõe [,unicode]])
Argumento Descrição
objeto Nome de um FileSystemObject ou objeto Folder.
nomearq Nome do arquivo a ser criado.
sobrepõe Indica se os arquivos existentes são sobrepostos.
True Sobrepõe os arquivos existentes.
False Não sobrepõe arquivos existentes.
unicode Formato Unicode ou ASCII.
True Cria o arquivo no formato Unicode.
False Cria o arquivo no formato ASCII (default).

DeleteFile
Elimina um ou mais arquivos (usando caracteres curinga).
objetoFSO.DeleteFile nomearq [opção]
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
nomearq Nome do arquivo a ser eliminado.
opção Eliminar ou não arquivos com o atributo “read-only”.
True Elimina também arquivos com o atributo “read-only”.
False Não elimina arquivos com o atributo “read-only”.

73
Objetos de Scripting Run-Time FileSystemObject

DeleteFolder
Elimina uma pasta e seu conteúdo.
objetoFSO.DeleteFolder nomepasta [opção]
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
nomepasta Nome da pasta a ser eliminada (permite caracteres curinga
no último componente do path).
opção Eliminar ou não pastas com o atributo “read-only”.
True Elimina também pastas com o atributo “read-only”.
False Não elimina pastas com o atributo “read-only”.

DriveExists
Retorna True se o drive especificado existir; caso contrário,
retorna False.
objetoFSO.DriveExists (drive)
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
drive Letra do drive ou especificação completa do path.

FileExists
Retorna True se o arquivo especificado existir; caso contrário,
retorna False.
objetoFSO.FileExists (nomearq)

FolderExists
Retorna True se a pasta especificada existir; caso contrário,
retorna False.
objetoFSO.FolderExists (nomepasta)

GetAbsolutePathName
Retorna o path completo da raiz do drive para o path especificado.
objetoFSO.GetAbsolutePathName (path)

GetBaseName
Retorna o nome do último componente de um path, menos a
extensão de arquivo.
objetoFSO.GetBaseName (path)

GetDrive
Retorna um objeto Drive correspondendo ao drive no path
especificado.
objetoFSO.GetDrive (path)

GetDriveName
Retorna o nome do drive no path especificado.
objetoFSO.GetDriveName (path)

74
Objetos de Scripting Run-Time FileSystemObject

GetExtensionName
Retorna a extensão para o último componente em um path.
objetoFSO.GetExtensionName (path)

GetFile
Retorna um objeto File correspondendo ao arquivo no path
especificado.
objetoFSO.GetFile (nomearq)

GetFileName
Retorna o último componente do path especificado que não é
parte da especificação do drive.
objetoFSO.GetFileName (path)

GetFolder
Retorna um objeto Folder correspondendo à pasta no path
especificado.
objetoFSO.GetFolder (nomepasta)

GetParentFolderName
Retorna o nome da pasta na qual o último componente do path
especificado está contido.
objetoFSO.GetParentFolderName (nomepasta)

GetSpecialFolder
Retorna um tipo de pasta especial.
objetoFSO.GetSpecialFolder (tipo)
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
tipo Tipo de pasta especial.
WindowsFolder=0 Pasta Windows, que contém os arquivos
instalados pelo Windows.
SystemFolder=1 Pasta System, que contém bibliotecas, fontes
e drivers.
TemporaryFolder=2 Pasta Temp, utilizada para armazenar arquivos
temporários.

GetTempName
Retorna um nome aleatório que pode ser utilizado pelo método
CreateTextFile para criar um arquivo ou uma pasta temporária.
objetoFSO.GetTempName

75
Objetos de Scripting Run-Time FileSystemObject

MoveFile
Move um ou mais arquivos.
objetoFSO.MoveFile destino
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
destino Path de destino para onde será movido o arquivo.

MoveFolder
Move uma ou mais pastas.
objetoFSO.MoveFolder fonte, destino

OpenTextFile
Abre um arquivo e retorna um objeto TextStream que pode ser
utilizado para ler e acrescentar dados ao arquivo.
objetoFSO.OpenTextFile (nomearq [,modoes [criar [,formato]]])
Argumento Descrição
objetoFSO Nome de um FileSystemObject.
nomearq Nome do arquivo a ser aberto.
modoes Modo de entrada/saída.
ForReading=1 Abre o arquivo somente para leitura.
ForWriting=2 Abre o arquivo para gravação.
ForAppending=8 Abre o arquivo e grava a partir do fim do arquivo.
criar Criar ou não o arquivo se ele ainda não existir.
True Cria o arquivo se ele ainda não existir.
False Não cria o arquivo se ainda não existir.
formato Formato do arquivo.
TristateUseDefault=-2 Abre o arquivo usando a opção default do
sistema.
TristateTrue=-1 Abre o arquivo como Unicode.
TristateFalse=0 Abre o arquivo como ASCII.

76
Objetos de Scripting Run-Time FileSystemObject

Objeto Drive
O objeto Drive fornece acesso às propriedades de um drive.
No exemplo abaixo é utilizado o método GetDrive do objeto
FileSystemObject para obter o objeto Drive para o drive "c".
<%
Setarqsys=CreateObject(“Scripting.FileSystemObject”)
Setdrv=arqsys.GetDrive(“c”)
%>

Propriedade do objeto

AvailableSpace
Retorna a quantidade de espaço disponível em um disco. Ver
também a propriedade FreeSpace na página XX.
objetoDrv.AvailableSpace

DriveLetter
Retorna a letra do drive.
objetoDrv.DriveLetter

DriveType
Retorna o tipo do drive especificado.
objetoDrv.DriveType
Argumento Descrição
objetoDrv Objeto Drive.
valor retornado
0 Desconhecido
1 Removível
2 Fixo
3 Rede
4 CD-ROM
5 RAM disk

FileSystem
Retorna o tipo de sistema de arquivo (FAT, NTFS, CDFS etc.)
em uso no drive especificado.
objetoDrv.FileSystem

FreeSpace
Retorna a quantidade de espaço disponível em um disco.
objetoDrv.FreeSpace

IsReady
Retorna True se o drive especificado estiver pronto (“ready”);
caso contrário, retorna False.
objetoDrv.IsReady

77
Objetos de Scripting Run-Time FileSystemObject

RootFolder
Retorna um objeto Folder representando a pasta raiz (“root
folder”) do drive especificado.
objetoDrv.RootFolder

SerialNumber
Retorna o número serial utilizado para identificar o volume do
disco.
objetoDrv.SerialNumber

ShareName
Retorna o nome compartilhado na rede do drive especificado.
objetoDrv.ShareName

TotalSize
Retorna o espaço total (em bytes) de um drive.
objetoDrv.TotalSize

VolumeName
Define ou retorna o nome do volume do drive especificado.
objetoDrv.VolumeName [=novonome]
Argumento Descrição
objetoDrv Objeto Drive.
novonome Nome a ser definido para o volume do drive.

78
Objetos de Scripting Run-Time FileSystemObject

Objeto Folder
O objeto Folder fornece acesso às propriedades de uma pasta. No
exemplo abaixo é utilizado o método GetFolder do objeto
FileSystemObject para obter o objeto Folder e visualizar uma de
suas propriedades (DateCreated).
<%
Dimarqsys,pastademo,datacriacao
Setarqsys=CreateObject(“Scripting.FileSystemObject”)
Setpastademo=arqsys.GetFolder(“nomepasta”)
datacriacao=pastademo.DateCreated
%>

Propriedades do objeto

Attributes
Define ou retorna os atributos de arquivos ou pastas.
objeto.Attributes [=atributos]
Argumento Descrição
objeto Objeto Folder.
atributos Lista de atributos (podem ser combinados).
Normal=0 Arquivo normal.
ReadOnly=1 Arquivos somente de leitura ( “read-only”).
Hidden=2 Arquivo oculto.
System=4 Arquivo do sistema.
Volume=8 Label do disco.
Directory=16 Pasta ou diretório.
Archive=32 O arquivo foi alterado desde o último backup.
Alias=64 Link ou shortcut (atalho).
Compressed=128 Arquivo compactado.

DateCreated
Retorna a data e a hora que um arquivo ou pasta foi criado.
objetoFld.DateCreated
Argumento Descrição
objetoFld Objeto Folder.

DateLastAccessed
Retorna a data e a hora do último acesso a um arquivo ou pasta.
objetoFld.DateLastAccessed
Argumento Descrição
objetoFld Objeto Folder.

DateLastModified
Retorna a data e a hora da última modificação feita em um arquivo
ou pasta.
objetoFld.DateLastModified
Argumento Descrição
objetoFld Objeto Folder.
79
Objetos de Scripting Run-Time FileSystemObject

Drive
Retorna a letra do drive de um arquivo ou pasta.
objetoFld.Drive

IsRootFolder
Retorna True se a pasta especificada é a pasta raiz (“root
folder”); caso contrário, retorna False.
objetoFld.IsRootFolder
Argumento Descrição
objetoFld Objeto Folder.

Name
Define ou retorna o nome de um arquivo ou pasta.
objetoFld.Name [=novonome]
Argumento Descrição
objetoFld Objeto Folder.
novonome Novo nome do objeto.

ParentFolder
Retorna o objeto Folder da pasta na qual o arquivo ou pasta
especificada está contida.
objetoFld.ParentFolder
Argumento Descrição
objetoFld Objeto Folder.

Path
Retorna o path para um arquivo, pasta ou drive.
objetoFld.Path
Argumento Descrição
objetoFld Objeto Folder.

ShortName
Retorna o nome curto (8 caracteres mais 3 para extensão) de um
arquivo ou pasta.
objetoFld.ShortName
Argumento Descrição
objetoFld Objeto Folder.

ShortPath
Retorna o nome curto do path. Pastas com nomes grandes são
retornados com o caractere ~ (til) , como por exemplo: a pasta
Program Files, é retornada como Progra~1
objetoFld.ShortPath
Argumento Descrição
objetoFld Objeto Folder.

80
Objetos de Scripting Run-Time FileSystemObject

Size
Retorna o tamanho (em bytes) de um arquivo, ou o tamanho (em
bytes) ocupado por todos os arquivos e subpastas contidos em
uma pasta.
objetoFld.Size
Argumento Descrição
objetoFld Objeto Folder.

SubFolders
Retorna uma coleção Folders de todas as pastas contidas na pasta
especificada, inclusive arquelas com os atributos “hidden” e
“system”.
objetoFld.SubFolders
Argumento Descrição
objetoFld Objeto Folder.

Type
Retorna informação sobre o tipo de um arquivo ou pasta.
objetoFld.Type
Argumento Descrição
objetoFld Objeto Folder.

Coleções do objeto Folder

Files
Retorna uma coleção Files de todos os objetos File em uma
pasta, incluindo aqueles com os atributos “hidden” e “system”.
objetoFld.Files
Argumento Descrição
objetoFld Objeto Folder.

Folders
Coleção do objetos Folder contidos em um objeto Folder.

Métodos do objeto

Copy
Copia um arquivo ou pasta.
objeto.Copy destino [,sobrepõe]
Argumento Descrição
objeto Objeto Folder.
destino Destino onde o arquivo ou pasta será copiado.
sobrepõe Indica se arquivos e pastas existentes são sobrepostos.
True Sobrepõe arquivos e pastas existentes.
False Não sobrepõe arquivos e pastas existentes.

81
Objetos de Scripting Run-Time FileSystemObject

Delete
Elimina um arquivo ou pasta.
objeto.Delete [opção]
Argumento Descrição
objeto Objeto Folder.
opção Eliminar ou não arquivos ou pastas com o atributo “read-
only”.
True Elimina também arquivos ou pastas com o atributo “read-
only”.
False Não elimina arquivos ou pastas com o atributo “read-only”.

Move
Move um arquivo ou pasta
objeto.Move destino
Argumento Descrição
objeto Objeto Folder.
destino Caminho de destino para onde será movido o arquivo ou
a pasta.

82
Objetos de Scripting Run-Time FileSystemObject

Objeto File
O objeto File fornece acesso a todas as propriedades de um arquivo.
No exemplo abaixo é utilizado o método GetFile do objeto
FileSystemObject para obter o objeto File e visualizar uma de
suas propridades (DateCreated).
<%
Dimarqsys,arqdemo,datacriacao
Setarqsys=CreateObject(“Scripting.FileSystemObject”)
Setarqdemo=arqsys.GetFile(“nomearq”)
datacriacao=arqdemo.DateCreated
%>

Propriedades do objeto

Attributes
Define ou retorna os atributos de arquivos ou de pastas.
objeto.Attributes [=atributos]
Argumento Descrição
objeto Objeto File.
atributos Lista de atributos (podem ser combinados).
Normal=0 Arquivo normal.
ReadOnly=1 Arquivos somente de leitura ( “read-only”).
Hidden=2 Arquivo oculto.
System=4 Arquivo do sistema.
Volume=8 Label do disco.
Directory=16 Pasta ou diretório.
Archive=32 O arquivo foi alterado desde o último backup.
Alias=64 Link ou shortcut (atalho).
Compressed=128 Arquivo compactado.

DateCreated
Retorna a data e a hora que um arquivo ou pasta foi criado.
objetoFile.DateCreated

DateLastAccessed
Retorna a data e a hora do último acesso a um arquivo ou pasta.
objetoFile.DateLastAccessed

DateLastModified
Retorna a data e a hora da última modificação feita em um arquivo
ou pasta.
objetoFile.DateLastModified

Drive
Retorna a letra do drive de um arquivo ou pasta.
objetoFile.Drive

83
Objetos de Scripting Run-Time FileSystemObject

Name
Define ou retorna o nome de um arquivo ou pasta.
objetoFile.Name [=novonome]

ParentFolder
Retorna o objeto Folder da pasta na qual o arquivo ou a pasta
especificada está contida.
objetoFile.ParentFolder

Path
Retorna o path para um arquivo, pasta ou drive.
objetoFile.Path

ShortName
Retorna o nome curto (8 caracteres mais 3 para extensão) de um
arquivo ou pasta.
objetoFile.ShortName

ShortPath
Retorna o nome curto do path. Pastas com nomes grandes são
retornados com o caractere ~ (til) , como por exemplo: a pasta
Program Files, é retornada como Progra~1
objetoFile.ShortPath

Size
Retorna o tamanho (em bytes) de um arquivo, ou o tamanho (em
bytes) ocupado por todos os arquivos e subpastas de uma pasta.
objetoFile.Size

Type
Retorna informação sobre o tipo de um arquivo ou pasta.
objetoFile.Type

Métodos do objeto

Copy
Copia um arquivo ou pasta.
objetoFile.Copy destino [,sobrepõe]
Argumento Descrição
objetoFile Objeto File.
destino Destino onde o arquivo ou pasta será copiado.
sobrepõe Indica se arquivos e pastas existentes são sobrepostos.
True Sobrepõe arquivos e pastas existentes.
False Não sobrepõe arquivos e pastas existentes.

84
Objetos de Scripting Run-Time FileSystemObject

CreateTextFile
Cria um arquivo texto e retorna um objeto TextStream que faz
referência ao arquivo.
objetoFile.CreateTextFile nomearq, overwrite, unicode
Argumento Descrição
objetoFile Objeto File.
nomearq Nome do arquivo a ser criado.
sobrepõe Indica se os arquivos existentes são sobrepostos.
True Sobrepõe arquivos existentes.
False Não sobrepõe arquivos existentes.
unicode Formato Unicode (True) ou ASCII (False).

Delete
Elimina um arquivo ou pasta.
objetoFile.Delete [opção]
Argumento Descrição
objetoFile Objeto File.
opção Eliminar ou não arquivos ou pastas “read-only”.
True Elimina também arquivos ou pastas com “read-only”.
False Não elimina arquivos ou pastas “read-only”.

OpenAsTextStream
Abre um arquivo e retorna um objeto TextStream que pode ser
utilizado para ler, gravar ou acrescentar dados ao arquivo.
objetoFile.OpenAsTextStream ([modo, [formato]])
Argumento Descrição
objetoFile Objeto File.
modo Modo de entrada/saída.
ForReading=1 Abre o arquivo somente para leitura.
ForWriting=2 Abre o arquivo para gravação.
ForAppending=8 Abre o arquivo e grava a partir do fim do arquivo.
formato Formato do arquivo.
TristateUseDefault=-2 Abre o arquivo usando a opção default do
sistema.
TristateTrue=-1 Abre o arquivo como Unicode.
TristateFalse=0 Abre o arquivo como ASCII.

85
Objetos de Scripting Run-Time TextStream

Objeto TextStream
O objeto TextStream permite acessar arquivos textos. Uma
instância do objeto TextStream pode ser criada através dos
métodos CreateTextFile ou OpenTextFile do objeto
FileSystemObject, ou alternativamente, através do método
OpenAsTextStream do objeto File.
Exemplo:
<%
Dimarqsys,arqteste
Setarqsys=CreateObject(“Scripting.FileSystemObject”)
Setarqteste=arqsys.CreateTextFile(“c:\qqarquivo.txt”,True)
arqteste.WriteLine“Textoasergravadonoarquivoqqarquivo.txt”
arqteste.Close
%>

Propriedades do objeto

AtEndOfLine
Retorna True se o ponteiro do arquivo estiver posicionado
imediatamente antes da marca de fim de linha em um arquivo
TextStream; caso contrário, retorna False.
objeto.AtEndOfLine
Argumento Descrição
objeto Objeto TextStream.

AtEndOfStream
Retorna True se o ponteiro do arquivo estiver posicionado no
fim de um arquivo TextStream; caso contrário, retorna False.
objeto.AtEndOfStream
Argumento Descrição
objeto Objeto TextStream.

Column
Retorna o número da coluna da posição do caractere corrente em
um arquivo TextStream.
objeto.Column
Argumento Descrição
objeto Objeto TextStream.

Line
Retorna o número da linha corrente em um arquivo TextStream.
objeto.Line
Argumento Descrição
objeto Objeto TextStream.

86
Objetos de Scripting Run-Time TextStream

Métodos do objeto

Close
Fecha um arquivo TextStream aberto.
objeto.Close
Argumento Descrição
objeto Objeto TextStream.

Read
Lê um número especificado de caracteres de um arquivo TextStream
e retorna o string resultante.
objeto.Read (numcaract)
Argumento Descrição
objeto Objeto TextStream.
numcaract Número de caracteres a serem lidos no arquivo.

ReadAll
Lê um arquivo TextStream e retorna o string resultante.
objeto.ReadAll
Argumento Descrição
objeto Objeto TextStream.

ReadLine
Lê uma linha inteira do arquivo TextStream e retorna o string lido.
objeto.ReadLine
Argumento Descrição
objeto Objeto TextStream.

Skip
Salta o número de caracteres especificado no arquivo TextStream.
objeto.Skip (numcaract)
Argumento Descrição
objeto Objeto TextStream.
numcaract Número de caracteres a serem saltados.

SkipLine
Salta a próxima linha na leitura do arquivo TextStream.
objeto.SkipLine
Argumento Descrição
objeto Objeto TextStream.

87
Objetos de Scripting Run-Time TextStream

Write
Grava um texto em um arquivo TextStream.
objeto.Write (texto)
Argumento Descrição
objeto Objeto TextStream.
texto Texto a ser gravado no arquivo.

WriteBlankLines
Grava o número especificado de caracteres “newline” no arquivo
TextStream (grava linhas em branco).
objeto.WriteBlankLines (numlinhas)
Argumento Descrição
objeto Objeto TextStream.
numlinhas Número de caracteres "newline".

WriteLine
Grava o texto seguido do caractere “newline” no arquivo
TextStream.
objeto.WriteLine ([texto])
Argumento Descrição
objeto Objeto TextStream.
texto Texto a ser gravado no arquivo.

88
Objetos do VBScript RegExp

Objeto RegExp
O objeto RegExp é usado para criar e executar uma expressão
regular. Uma expressão regular permite pesquisar uma seqüência de
caracteres em um string.
Um objeto Match é criado cada vez que o objeto RegExp encontra
uma correspondência (match). Zero ou mais correspondências
(matches) podem ocorrer, e o objeto RegExp retorna uma coleção
Matches de objetos Match.
<%
strTarget="testetestandotestadoatestado"
SetobjRegExp=NewRegExp 'criaumaexpressãoregular
objRegExp.Pattern="test*" 'defineopadrãodepesquisa
objRegExp.IgnoreCase=False 'distingüeminúsculasdemaiúsculas
objRegExp.Global=True 'defineoescopodapesquisa
SetcolMatches=objRegExp.Execute(strTarget) 'executaapesquisa
ForEachMatchIncolMatches
Response.Write"Correspondênciaencontradaem"&Match.FirstIndex&"."
Response.Write"Valorencontradoé'"&Match.Value&"'.<BR>"
Next
%>

Métodos do objeto RegExp

Execute
Executa a busca de uma expressão regular em um string, retornando
uma coleção Matches contendo um objeto Match para cada
correspondência (match) encontrada. A propriedade Pattern
deve ter sido especificada previamente com a expressão regular.
objetoRegExp.Execute(string)

Replace
Executa a busca de uma expressão regular em um string original
(str1), substituindo cada correspondência (match) encontrada
por um outro string (str2). Se nenhuma correspondência for
encontrada, retorna o string original.
objetoRegExp.Replace (str1, str2)

Test
Executa uma busca de uma expressão regular em um string, e
retorna um valor Booleano True ou False, indicando se a expressão
regular foi encontrada.
objetoRegExp.Test(string)

89
Objetos do VBScript RegExp

Propriedades do objeto RegExp

Global
Retorna ou define um valor boleano, que indica se deve ser
procurada todas as ocorrências (True) da expressão regular ou
somente a primeira ocorrência (False), em um string.
objetoRegExp.Global = True | False

IgnoreCase
Define ou retorna um valor boleano que determina se a expressão
regular distingüe (False) ou não (True) minúsculas de maiúsculas.
objetoRegExp.IgnoreCase = True | False

Pattern
Define ou retorna um string contendo a expressão regular. Deve
ser especificada antes do objeto RegExp ser utilizado. Mais
informações podem ser obtidas em http://msdn.microsoft.com/
workshop/languages/clinic/scripting051099.asp ou em http://
www.oreilly/catalog/regexp/.
objetoRegExp.Pattern [=expr_regular]

Coleção Matches
É uma coleção criada pelo método Execute do objeto RegExp
contendo objetos Match que são criados para cada correspondência
(match) encontrada da expressão regular em um string.

Objeto Match
O objeto Match é criado toda vez que o método Execute do objeto
RegExp encontra uma correspondência (match) da expressão
regular em um string. Armazena em suas propriedades os detalhes
de cada correspondência (match) encontrada na pesquisa.

Propriedades do objeto Match

FirstIndex
Retorna a posição (a partir de 0) dentro do string onde ocorreu
a correspondência (match) com a expressão regular.
objetoMatch.FirstIndex

Length
Retorna o tamanho do texto encontrado na pesquisa da expressão
regular.
objetoMatch.Length

Value
Retorna o valor ou o texto encontrado na pesquisa da expressão
regular.
objetoMatch.Value

90
Objetos do VBScript RegExp

Símbolos usados em Expressões


Símbolo Função
^ Somente localiza (match) no início de um string.
Por exemplo: ”^P” localiza o primeiro "P" em "Pedro
pegou o pato".
$ Somente localiza (match) no final de um string.
Por exemplo: a expressão "o$" localiza o último "o" em
"Pedro pegou o pato".
\b Localiza qualquer final de palavra.
Por exemplo: "mente\b" localiza em "possivelmente
amanhã".
\B Localiza qualquer coisa que não seja final de palavra.
literal Localiza o literal especificado.
\n Localiza o caractere "new line"
\f Localiza o caractere "form feed"
\r Localiza o caractere "carriage return"
\t Localiza o caractere "tab horizontal"
\v Localiza o caractere "tab vertical"
\? Localiza o caractere "?"
\* Localiza o caractere "*"
\+ Localiza o caractere "+"
\. Localiza o caractere "."
\| Localiza o caractere "|"
\{ Localiza o caractere "{"
\} Localiza o caractere "}"
\\ Localiza o caractere "\"
\[ Localiza o caractere "["
\] Localiza o caractere "]"
\( Localiza o caractere "("
\) Localiza o caractere ")"
\xxx Localiza o caractere ASCII expresso pelo número octal
xxx.
Por exemplo: ”\50" localiza “(“ ou chr (40).
\xdd Localiza o caractere ASCII expresso pelo número hexa
dd.
Por exemplo: ”\x28" localiza “(“ ou chr (40).
\uxxxx Localiza o caractere ASCII expresso pelo código Unicode
xxxx.
Por exemplo: ”\u00A3" localiza “£”.
[a-z] Localiza qualquer caractere no intervalo especificado.
Por exemplo: a expressão "[a-c]" localiza "a", "b"ou "c".
[xyz] Localiza qualquer caractere especificado em [ ].
Por exemplo: "col[iu]na" localiza "colina" e "coluna".
[^xyz] Localiza qualquer caractere que não estiver em [ ].
Por exemplo: ”dr[^o]ga” localiza qualquer combinação,
exceto "droga".
. Localiza qualquer caractere exceto \n.
Por exemplo: a expressão "a.b" localiza "aab" e
"a3b", mas não "ab".
\w Localiza letras e dígitos. Equivale a [a-zA-Z_0-9].
\W Localiza qualquer caractere que não seja letra ou dígito.
Equivale a [^a-zA-Z_0-9].

91
Objetos do VBScript RegExp
Símbolo Função (continuação)
\d Localiza qualquer dígito. Equivale a [0-9].
\D Localiza qualquer não-dígito. Equivale a [^0-9].
\s Localiza qualquer caractere espaço. Equivale a [ \t\r\n\v\f].
\S Localiza qualquer caractere diferente de espaço. Equivale
a [^\t\r\n\v\f].
{x} Localiza exatamente x ocorrências de uma expressão
regular.
Por exemplo: ”a{3}” equivale a "aaa".
(x,} Localiza x ou mais ocorrências de uma expressão regular.
Por exemplo: ”\s{2,}” localiza pelo menos 2 caracteres
espaço.
{x,y} Localiza entre x e y ocorrências de uma expressão
regular.
Por exemplo: ”\d{2,3}” localiza pelo menos 2, mas não
mais que 3 dígitos.
? Localiza zero ou uma ocorrência do caractere precedente.
Equivale a {0,1}.
Por exemplo: a expressão "casas?" localiza ambos
"casa" e "casas".
* Localiza zero ou mais ocorrências do caractere precedente.
Equivale a {0,}.
Por exemplo: a expressão "fo*" localiza ambos "f" e "foo".
+ Localiza uma ou mais ocorrências do caractere precedente.
Equivale a {1,}.
Por exemplo: a expressão "fo+" localiza "foo" mas não
"f".
() Agrupa uma cláusula para criar uma nova cláusula. Pode
ser aninhada.
Por exemplo: “(ab)?(c)” localiza “abc” or “c”.
| Localiza qualquer uma das cláusulas individuais.
Por exemplo: a expressão "a|b" localiza "a" ou "b:".

92
Objetos do VBScript Err

Objeto Err
O objeto Err contém informações sobre erros run-time. Não é
necessário criar uma instância desse objeto; ele é intrínseco do
VBScript. Aceita os métodos Raise e Clear para criar e desativar
erros run-time.
No exemplo abaixo é verificado o valor da propriedade Number,
e se ela contém um valor diferente de zero, exibe os detalhes no
browser.
<%
Dimnumerro,descrerro
OnErrorResumeNext
Err.Raise6
numerro=Err.number
descrerro=Err.description
Ifnumerro<>0Then
Response.Write“Ocorreuumerro!Erronúmero“&numerro&“do_
tipo‘“&descrerro&“‘.”
EndIf
%>
Saída do script:
”Ocorreu um erro! Erro número 6 do tipo ‘Overflow’.”

Métodos do objeto

Clear
Inicializa todas as definições de propriedade de um objeto Err.
objetoErr.Clear

Raise
Cria um erro de run-time.
objetoErr.Raise (número [,fonte] [,descrição] [,arqhelp][,contexto])
Argumento Descrição
objetoErr Objeto Err.
número Natureza do erro.
fonte Objeto ou aplicação que originalmente gerou o erro.
descrição Descrição do erro.
arqhelp Localização do arquivo Help na qual o help para este erro
pode ser encontrado.
contexto Identifica o tópico dentro do arquivo Help que fornece help
para o erro.

93
Objetos do VBScript Err

Propriedades do objeto

Description
Define ou retorna um string que descreve o erro.
objetoErr.Description [ = string]

Number
Define ou retorna um valor numérico que idenfica o erro.
objetoErr.Number [ = numerro]

Source
Retorna ou define o nome do objeto ou da aplicação que originalmente
gerou o erro.
objetoErr.Source [=nomeaplic]
Argumento Descrição
objetoErr Objeto Err.
nomeaplic Nome da aplicação.

HelpContext
Define ou retorna o número de contexto para um tópico no
arquivo Help.
objetoErr.HelpContext [=contextoID]
Argumento Descrição
objetoErr Objeto Err.
contextoID Identificador para um tópico de help no arquivo Help.

HelpFile
Define ou retorna o path para um arquivo Help, que é acionado
quando o usuário clica no botão Help ou pressiona a tecla F1 na
caixa de diálogo de um mensagem de erro.
objetoErr.HelpFile [=path]
Argumento Descrição
objetoErr Objeto Err.
path Localização do arquivo Help.

94
VBScript Instruções

Instruções do VBScript
Call
Chama uma procedure Sub ou Function.
[Call] nomeproc [argumentos]
Argumento Descrição
Call Palavra-chave opcional; se especificada, a lista de
argumentos deve ser colocada entre parenteses ().
nomeproc Nome da procedure.
argumentos Lista das variáveis, arrays ou expressões, separadas por
vírgulas, que serão passadas para a procedure.

Class
Declara o nome de uma classe, e a definição das variáveis,
propriedades e métodos que constituem a classe.
Class nome
instruções
End Class
Parte Descrição
nome Nome da classe.
instruções Uma ou mais instruções que definem as variáveis,
propriedades e métodos da Class.

Const
Declara suas próprias constantes. Após ter declarado uma
função, seu valor não pode ser alterado.
[Public | Private] Const nome1 = expr1, nome2=expr2 ...
Argumento Descrição
Public Usado no nível de módulo para declarar constantes
acessíveis a todas as procedures em todos os módulos.
Não permitido em procedures.
Private Usado no nível de módulo para declarar constantes
acessíveis somente dentro do módulo onde a declaração
foi feita. Não permitido em procedures.

Dim
Define variáveis e aloca espaço de memória.
Dim nomevar [([subscritores])] [,nomevar
[([subscritores])]]..
Argumento Descrição
nomevar Nome da variável ou array.
subscritores Dimensões de um array. Podem ter a seguinte sintaxe
(limite inferior, limite superior).

Do...Loop
Repete um bloco de comandos enquanto uma condição for
verdadeira (While) ou até que uma condição se torne verdadeira
(Until).
95
VBScript Instruções

Sintaxe 1:
Do [{While | Until} condição]
[bloco de comandos]
[Exit Do]
[bloco de comandos]
Loop

Sintaxe 2:
Do
[bloco de comandos]
[Exit Do]
[bloco de comandos]
Loop [{While | Until} condição]
Argumento Descrição
Exit Do Transfere o controle para o comando imediatamente
seguinte ao comando Loop.
Loop Finalização do bloco Do.

Erase
Limpa os valores dos elementos de um array fixo. Elementos
numéricos são reinicializados com zero e string são reinicializados
com "". No caso de arrays dinâmicos eles são eliminados e o
espaço alocado de memória é liberado.
Erase array

Execute
Interpreta um argumento string como um ou mais instruções
VBScript e as executa em um namespace local. As instruções
devem ser separadas por ":" ou line-breaks. Nenhum valor é
retornado. Para avaliar uma expressão que retorne um valor, use
a função Eval. Ao contrário da função Eval, Execute interpreta
operadores "=" como atribuições ao invés de comparações.
Execute instrução

ExecuteGlobal
Interpreta um argumento string como uma ou mais instruções
VBScript e as executa em um namespace global. As instruções
devem ser separadas por ":" ou line-breaks. Nenhum valor é
retornado. Para avaliar uma expressão que retorne um valor, use
a função Eval. Ao contrário da função Eval, ExecuteGlobal
interpreta operadores "=" como atribuições ao invés de
comparações.
ExecuteGlobal instrução

Exit
Sai de um laço Do...Loop ou For...Next, ou de uma procedure
Function ou Sub.
Exit {Do | For | Function | Sub}

96
VBScript Instruções
Argumento Descrição
Do Sai de um laço Do...Loop.
For Sai de um laço For...Next.
Function Sai de uma procedure Function.
Sub Sai de uma procedure Sub.

For...Next
Repete um grupo de instruções um número especificado de vezes.
For contador = início To fim [Step incremento]
[bloco de comandos]
[Exit For]
[bloco de comandos]
Next [contador [,contador] [,...]
Argumento Descrição
contador Variável numérica usada como contador do laço.
início Valor inicial do intervalo para o contador.
fim Valor final do intervalo para o contador.
incremento Valor a ser incrementado ao contador a cada iteração.
Exit For Fornece uma saída alternativa do bloco. Transfere o
controle para o comando imediatamente seguinte ao
comando Next.
Next Finaliza um laço For...Next. Incrementa o contador e volta
a repetir o bloco.

For Each...Next
Repete um grupo de instruções para cada elemento em uma
coleção ou array. Permite processar cada item em uma coleção ou
array sem ter que se preocupar com índices.
For Each elemento In grupo
[bloco de instruções]
[Exit For]
[bloco de instruções]
Next [elemento]
Argumento Descrição
elemento Variável usada para interagir através dos elementos de
uma coleção ou um array.
grupo Nome de uma coleção ou um array.

Function
Declara uma função(Function). Ao contrário das
procedures(Sub), retorna um valor e pode ser usada em expressões.
Function nomefunc [(argumentos)]
[instruções]
[nomefunc = expressão]
[Exit Function]
[instruções]
[nomefunc = expressão]
End Function

97
VBScript Instruções
Argumento Descrição
nomefunc Nome da função.
argumentos Lista de variáveis, separadas por vírgula, representando
os argumentos que são passados para a função quando
ela é chamada.
instruções Grupo de instruções a serem executadas dentro da função.
expressão Valor retornado pela função.

If...Then...Else
Permite a execução condicional de blocos de instruções, baseada
na avaliação das condições.
If condição1 Then
[bloco de instruções-1]
[ElseIf condição2 Then
[bloco de instruções-2]]
[Else
[bloco de instruções-n]]
End If
Argumento Descrição
condição Condição a ser avaliada. Pode ser uma expressão string ou
numérica que retorna True (não-zero) ou False (0 ou Null).
ElseIf Indica as condições alternativas que devem ser avaliadas
se a condição1 não for satisfeita.
Else Identifica a ação que deve ser tomada caso nenhuma das
condições prévias tenha sido satisfeita.

On Error
Especifica que quando ocorrer um erro de execução, o fluxo deverá
seguir para o comando imediatamente posterior ao comando onde
ocorreu o erro. O erro não é corrigido, apenas ignorado, e não é
exibida nenhuma mensagem de erro. A instrução On Error Goto
0 desabilita a manipulação de erros.
On Error Resume Next

Option Explicit
Força a declaração (com Dim, Private, Public ou ReDim) de
todas as variáveis usadas no script, antes de serem utilizadas.
Deve ser colocado no script antes de qualquer outra instrução.
Qualquer tentativa de usar uma variável não declarada ocasionará
um erro. A declaração de variáveis antes de usá-las faz com que
o script seja executado mais rapidamente.
Option Explicit

Private
Declara variáveis com escopo limitado e aloca espaço de memória.
Private nomevar [([subscritores])] [,nomevar [([subscritores])]]..
Argumento Descrição
nomevar Nome da variável ou array.
subscritores Dimensões de um array. Podem ter a seguinte sintaxe:
(limite inferior, limite superior).
98
VBScript Instruções

PropertyGet
Declara, em um bloco Class, o nome, os argumentos, e o código
que formam a procedure Property que obtém o valor de uma
propriedade.
[Public [Default] | Private] PropertyGet nomeproc [argumentos]
...
[[Set] nomeproc = expressão]
...
End Property
Argumento Descrição
Public Indica que a procedure é acessível às outras procedures.
Default Indica qual é a propriedade default em uma classe.
Private Indica que a procedure é acessível somente para outra
procedure pertencente a mesma classe.
nomeproc Nome da procedure.
argumentos Variáveis que representam argumentos que são passados
para a procedure.

PropertyLet
Declara, em um bloco Class, o nome, os argumentos, e o código
que formam a procedure Property que atribui o valor de uma
propriedade.
[Public | Private] PropertyLet nomeproc ([argumentos,] valor) ...
End Property
Argumento Descrição
Public Indica que a procedure é acessível às outras procedures.
Private Indica que a procedure é acessível somente para outra
procedure pertencente a mesma classe.
nomeproc Nome da procedure.
argumentos Variáveis que representam argumentos que são passados
para a procedure.
valor Variável que contém o valor a ser atribuído.

PropertySet
Declara, em um bloco Class, o nome, os argumentos, e o código
que formam a procedure Property que definem uma referência
para um objeto.
[Public | Private] PropertySet nomeproc ([argumentos,] referência)
...
End Property
Argumento Descrição
Public Indica que a procedure é acessível para todas outras.
Private Indica que a procedure é acessível somente para outra
procedure pertencente a mesma classe.
nomeproc Nome da procedure.
argumentos Variáveis que representam argumentos que são passados
para a procedure.
referência Variável que contém um objeto usado no lado direito do
objeto referente à atribuição.

99
VBScript Instruções

Public
Usado no nível de módulo para declarar variáveis públicas e alocar
espaço de memória.
Public nomevar [([subscritores])] [,nomevar [([subscritores])]]..
Argumento Descrição
nomevar Nome da variável ou array.
subscritores Dimensões de um array. Podem ter a seguinte sintaxe
(limite inferior, limite superior).

Randomize
Inicializa o gerador de números aleatórios. Use a função Rnd para
obter os números aleatórios.
Randomize [número]
Argumento Descrição
número Valor da semente usada para inicializar o gerador. Se
omitido será utilizado o valor retornado pelo timer do
sistema.

ReDim
Usada no nível de procedure para declarar arrays dinâmicos e
alocar ou realocar espaço de memória.
ReDim [Preserve] nomevar (subscritores) [,nomevar(subscritores)]...
Argumento Descrição
Preserve Preserva os dados quando forem redimensionados.
nomevar Nome da variável.
subscritores Dimensões de um array.

Rem
Identifica comentários dentro do programa fonte. O mesmo que
‘ (apostrofe).
Rem [comentário]

Select Case
Seleciona entre vários blocos de instruções, apenas um para ser
executado, dependendo do resultado da expr_teste, que é comparada
com as expressões na cláusula Case. Caso encontre uma
correspondência, executa o bloco de instruções da cláusula Case.
Select Case expr_teste
[Case lista1
[bloco de instruções-1]]
[Case lista2
[bloco de instruções-2]]
[Case Else
[bloco de instruções-n]]
End Select

100
VBScript Instruções
Argumento Descrição
expr_teste Expressão numérica ou string.
lista Lista de expressões a serem comparadas com aexpr_teste.
Case Else Identifica o bloco de instruções a ser executado caso não
tenha sido encontrada uma correspondência entre a
expr_teste e as listas.

Set
Atribui uma referência de objeto a uma variável ou propriedade
(isto é, cria uma instância de um objeto específico).
Set varobjeto = {exprobjeto | Nothing}
Argumento Descrição
varobjeto Nome da variável objeto.
exprobjeto Expressão consistindo do nome de um objeto, outra
variável declarada do mesmo tipo de objeto, ou uma função
ou método que retorna um objeto.
Nothing Elimina a associação de varobjeto a qualquer objeto
específico.

Sub
Declara uma procedure Sub. Ao contrário das procedures
Function, não retorna um valor e não pode ser usada em expressões.
Sub nome [(argumentos)]
[instruções]
[Exit Sub]
[instruções]
End Function
Argumento Descrição
nome Nome da procedure Sub.
argumentos Lista de variáveis, separadas por vírgula, representando
os argumentos que são passados para a procedure Sub
quando ela é chamada.
instruções Grupo de instruções a serem executadas dentro da
procedure Sub.

While...Wend
Executa um bloco de instruções enquanto uma condição for
verdadeira.
While condição
[bloco de instruções]
Wend

With
Executa um bloco de instruções em um único objeto.
With objeto
[bloco de instruções]
End With

101
VBScript Funções

Funções do VBScript
Abs
Retorna o valor absoluto de um número.
Abs (número)

Array
Permite criar um array unidimensional de valores, normalmente
utilizado para armazenar uma pequena quantidade de dados
dentro do programa.
Array (lista_arg)
Argumento Descrição
lista_arg Lista de valores separados por vírgula atribuídos aos
elementos do array.

Asc
Retorna o código numérico ANSI do primeiro caractere de uma
expressão string.
Asc (string)

AscB
Retorna o primeiro byte de uma expressão string.
AscB (string)

AscW
Retorna o código Unicode do primeiro caractere de uma expressão
string em formato Unicode.
AscW (string)

Atn
Retorna o arco-tangente de uma expressão numérica.
Atn (número)

CBool
Retorna o valor de uma expressão (numérica ou string) convertido
em um valor lógico (True ou False). Se o valor da expressão for
zero, False é retornado; caso contrário, True é retornado. Se a
expressão não puder ser interpretada como um valor numérico,
ocorrerá um erro de run-time.
CBool (expr)

CByte
Retorna o valor de uma expressão (numérica ou string) convertido
para um tipo variant de subtipo Byte.
CByte (expr)

102
VBScript Funções

CCur
Retorna o valor de uma expressão (numérica ou string) convertido
para um tipo variant de subtipo Currency.
CCur (expr)

CDate
Retorna o valor de uma expressão data e hora convertido para um
tipo variant de subtipo Date.
CDate (expr)

CDbl
Retorna o valor de uma expressão (numérica ou string) convertido
para um tipo variant de subtipo Double.
CDbl (expr)

Chr
Retorna o caractere correspondente ao código ANSI especificado.
Chr (código)

CInt
Retorna o valor de uma expressão (numérica ou string) convertido
para um variant de subtipo Integer.
CInt (expr)

CLng
Retorna o valor de uma expressão (numérica ou string) convertido
para um variant de subtipo Long.
CLng (expr)

Cos
Retorna o co-seno de um número (ângulo) (expresso em radianos).
Cos (número)

CreateObject
Cria e retorna uma referência para um objeto de automação. O
statement Set atribui a referência ao objeto a uma variável ou
property. A palavra-chave Nothing é usada para limpar a
referência ao objeto.
CreateObject(servidor.tipo [, local])
Argumento Descrição
servidor Nome da aplicação que fornece o objeto.
tipo Tipo ou classe do objeto a ser criado.
local Nome do servidor de rede onde o objeto será criado.

103
VBScript Funções

CSng
Retorna o valor de uma expressão (númerica ou string) convertido
para um tipo variant de subtipo Single.
CSng (expr)

CStr
Retorna o valor de uma expressão (numérica ou string) convertido
para um tipo variant de subtipo String.
CStr (expr)
Expr CStr retorna
Boolean Um String contendo True ou False.
Date Um String contendo uma data no formato abreviado do
seu sistema.
Null Um erro de run-time.
Empty Um String vazio (“”).
Error Um String contendo a palavra Error seguida por um
número de erro.
Número Um String contendo o número.

Date
Retorna a data corrente do sistema.
Date

DateAdd
Retorna a data resultante da adição de múltiplos intervalos de
tempo a uma data base.
DateAdd (intervalo, núm_interv, data_base)
Argumento Descrição
intervalo Expressão string indicando o intervalo de tempo a ser
adicionado.
yyyy Ano.
q Trimestre.
m Mês.
y Dia do ano.
d Dia.
w Dia da semana.
ww Semana.
h Hora.
n Minuto.
s Segundo.
núm_interv Especifica o número de intervalos a serem adicionados.
Se positivo, obtém uma data no futuro, se negativo, no
passado.
data_base Um tipo variant ou um literal representando a data na qual
o intervalo será adicionado.

104
VBScript Funções

DateDiff
Retorna o número de intervalos (dia, semana, trimestre, etc) entre
duas datas.
DateDiff (intervalo, data1, data2 [,primdiasem [,primsemano]])
Argumento Descrição
intervalo Expressão string indicando o intervalo de tempo
utilizado para calcular a diferença entre data1 e
data2. Ver opções da função DateAdd.
data1, data2 Duas datas usadas no cálculo.
primdiasem Primeiro dia da semana.
vbUseSystem=0 Usa definição da NLS API.
vbSunday=1 Domingo (default).
vbMonday=2 Segunda.
vbTuesday=3 Terça.
vbWednesday=4 Quarta.
vbThursday=5 Quinta.
vbFriday=6 Sexta.
vbSaturday=7 Sábado.
primsemano Primeira semana do ano.
vbUseSystem=0 Usa definição da NLS API.
vbFirstJan1=1 Inicia na mesma semana de 1 de Janeiro
(default).
vbFirstFourDays=2 Inicia na semana com pelo menos 4 dias no
novo ano.
vbFirstFullWeek=3 Inicia na primeira semana completa do ano.

DatePart
Retorna um intervalo de tempo de uma data. Ver opções na função
DateDiff.
DatePart (intervalo, data [,primdiasem [,primsemano]])

DateSerial
Retorna um tipo Variant de subtipo Date baseado na data
fornecida (de 01/01/100 a 31/12/9999).
DateSerial (ano, mês, dia)

DateValue
Retorna uma Variant de subtipo Date baseado em uma expressão
representando uma data.
DateValue (expr)
Argumento Descrição
expr Pode ser qualquer expressão que represente uma data (de
01/01/100 a 31/12/9999).

Day
Retorna o dia do mês (1-31) de uma expressão representando uma
data.
Day (expr)

105
VBScript Funções

Eval
Avalia e retorna o resultado de uma expressão.
Eval (expr)

Exp
Retorna ex (e=2.71828).
Exp (x)

Filter
Retorna um array que contém um subconjunto de um array de
strings.
Filter(inputstring, valor [,inclui [,compara]])
Argumento Descrição
inputstring Array string onde ocorrerá a pesquisa.
valor String a ser pesquisado.
inclui Valor lógico indicando se deve incluir (True) ou excluir
(False) elementos em inputstrings que contenham valor.
True Retorna os elementos encontrados em inputstrings.
False Retorna os elementos não encontrados em inputstring.
compara Método de comparação de strings.
vbBinaryCompare=0 Executa comparação binária (default).
vbTextCompare=1 Executa comparação textual.

Fix
Retorna a parte inteira de um número. Se o número for negativo,
retorna o primeiro inteiro negativo maior ou igual ao número. Ver
também a função Int na página 109.
Fix (exprN)

FormatCurrency
Retorna uma expressão formatada como valor monetário, e com
o símbolo que foi configurado no Control Panel do Windows.
FormatCurrency (expr [,digitos] [,leadingdig] [,negativo] [,grupo])
Argumento Descrição
expr Expressão a ser formatada.
digitos Número de casas decimais.
leadingdig Especificasezerosdepreenchimento(leadingzeroes)devem
ser exibidos (True) ou não (False) para valores fracionários.
negativo Especifica se valores negativos devem ser exibidos
(True) ou não (False) entre parenteses.
grupo Especifica se os números devem (True) ou não (False) ser
agrupados usando o delimitador especificado no Control
Panel do Windows.

106
VBScript Funções

FormatDateTime
Retorna uma expressão formatada como data ou hora.
FormatDateTime (exprD [,formato])
Argumento Descrição
exprD Expressão data a ser formatada.
formato Especifica o formato da data / hora (default =
vbGeneralDate).
vbGeneralDate=0 Data e/ou Hora.
vbLongDate=1 Data no formato longo.
vbShortDate=2 Data no formato curto.
vbLongTime=3 Hora no formato do Painel de Controle do
Windows.
vbShortTime=4 Hora usando o formato (hh:mm).

FormatNumber
Retorna uma expressão formatada como um número.
FormatNumber (expr [,digitos] [,leadingdig] [,negativo] [,grupo])
Argumento Descrição
expr Expressão a ser formatada.
digitos Número de casas decimais.
leadingdig Especificasezerosdepreenchimento(leadingzeroes)devem
ser exibidos (True) ou não (False) para valores fracionários.
negativo Especifica se valores negativos devem ser exibidos
(True) ou não (False) entre parenteses.
grupo Especifica se os números devem (True) ou não (False) ser
agrupados usando o delimitador especificado no Control
Panel do Windows.

FormatPercent
Retorna uma expressão formatada como uma porcentagem
(multiplicada por 100) com o caractere % anexado, como por
exemplo: 50%.
FormatPercent(expr [,digitos] [,leadingdig] [,negativo] [,grupo])
Argumento Descrição
expr Expressão a ser formatada.
digitos Número de casas decimais.
leadingdig Especificasezerosdepreenchimento(leadingzeroes)devem
ser exibidos (True) ou não (False) para valores fracionários.
negativo Especifica se valores negativos devem ser exibidos
(True) ou não (False) entre parenteses.
grupo Especifica se os números devem (True) ou não (False) ser
agrupados usando o delimitador especificado no Control
Panel do Windows.

GetLocale
Retorna o LCID (locale ID).
GetLocale()

107
VBScript Funções

GetObject
Retorna uma referência para um objeto ActiveX do arquivo.
GetObject([arquivo] [,classe])

GetRef
Retorna uma referência para uma procedure que pode ser vinculada
a um evento.
GetRef(nomeproc)
Set objeto.nomeEvento = GetRef(nomeProc)
Argumento Descrição
objeto Nome do objeto em que o evento será associado.
nomeEvento Nome do evento em que a função será associada.
nomeproc String contendo o nome da procedure que vai ser associada
ao evento.

Hex
Retorna a representação hexadecimal de um número decimal.
Hex (exprN)

Hour
Retorna a hora (0-23) de uma expressão que representa um horário.
Hour (expr)

InputBox
Exibe uma caixa de diálogo para a entrada de dados, espera o
usuário entrar com um texto ou escolher um botão e retorna o
conteúdo da caixa de texto. Retorna um string com tamanho zero
(“”) se o usuário escolher o botão Cancel.
InputBox (prompt [,título] [,default] [,xpos] [,ypos] [,arqhelp, contexto])
Argumento Descrição
prompt Mensagem exibida na caixa de diálogo.
título Título da caixa de diálogo.
default Conteúdo default da caixa de diálogo.
xpos Distância (em twips) da margem esquerda da caixa de
diálogo até a margem esquerda da tela. Twips é unidade
de medida igual a 1/20 de um ponto da impressora.
ypos Distância (em twips) da margem superior da caixa de
diálogo até a margem superior da tela.
arqhelp Arquivo de help a ser utilizado para fornecer help sensível
ao contexto (context-sensitive) para a caixa de diálogo.
contexto Número de contexto do tópico de help.

108
VBScript Funções

InStr
Retorna a posição da primeira ocorrência de um string dentro de
outro string.
InStr ([início], expr1, expr2 [, método])
Argumento Descrição
início Posição inicial de expr1$ a ser pesquisada.
expr1 Expressão string a ser pesquisada.
expr2 Expressão string pesquisada.
método Método de comparação de strings.
vbBinaryCompare=0Distingüe letras minúsculas de maiúsculas.
vbTextCompare=1 Não distingüe letras minúsculas de maiúsculas.

InStrRev
Retorna a posição da primeira ocorrência de um string dentro de
outro string, a partir do final do string.
InStrRev (expr1, expr2 [,início [,método]])
Argumento Descrição
expr1 Expressão string pesquisada.
expr2 Expressão string a ser pesquisada.
início Posição inicial de expr1 a ser pesquisada.
método Método de comparação de strings.
vbBinaryCompare=0Distingüe letras minúsculas de maiúsculas.
vbTextCompare=1 Não distingüe letras minúsculas de maiúsculas).

Int
Retorna a parte inteira de um número. Se o número for negativo,
retorna o primeiro inteiro negativo menor ou igual ao número. Ver
também a função Fix na página 106.
Int (exprN)

IsArray
Retorna True se uma variável é um array; caso contrário, retorna
False.
IsArray (nomevar)

IsDate
Retorna True se o valor de uma expressão puder ser ser convertido
para uma data válida; caso contrário, retorna False.
IsDate (expr)

IsEmpty
Retorna True se uma variável foi inicializada; caso contrário,
retorna False.
IsEmpty (nomevar)

109
VBScript Funções

IsNull
Retorna True se uma expressão contiver valor Null; caso
contrário, retorna False.
IsNull (expr)

IsNumeric
Retorna True se uma expressão puder ser interpretada como um
número; caso contrário, retorna False.
IsNumeric (expr)

IsObject
Retorna True se a uma expressão referencia um objeto de
automação (“Automation object”) válido; caso contrário, retorna
False.
IsObject (expr)

Join
Retorna um string que é o resultado da concatenação dos substrings
contidos em um array. Oposto da função Split (página 115).
Join(lista [,delimitador])
Argumento Descrição
lista Array contendo substrings a serem concatenados.
delimitador Caractere utilizado para separar os substrings no string
retornado (default=” ”).

LBound
Retorna o menor subscritor da dimensão especificada de um
array. Ver também a função UBound na página 117.
LBound (array [,dimensão])

LCase
Retorna uma cópia de uma expressão string com todas as letras
minúsculas. Para converter para maiúsculas utilize a função
UCase (página 117).
LCase(expr)

Left
Retorna um substring com os n caracteres iniciais de uma
expressão string. Ver também as funções Mid e Right.
Left (expr, n)

Len
Sintaxe 1:
Retorna o número de caracteres em uma expressão string.
Len (expr)

110
VBScript Funções
Sintaxe 2:
Retorna o número de bytes usados em uma variável.
Len (nomevar)

LoadPicture
Carrega uma figura. Pode-se carregar arquivos nos seguintes
formatos: .BMP, .ICO, .RLE, .WMF, .EMF, .GIF e .JPG.
LoadPicture ([nomearq])
Argumento Descrição
nomearq Nome do arquivo da figura a ser carregada.

Log
Retorna o logaritmo natural de um número.
Log (expr)

LTrim
Retorna uma cópia de uma expressão string sem os espaços em
branco iniciais. Ver também as funções RTrim e Trim.
LTrim (expr)

Mid
Retorna um substring de uma expressão string. Ver também as
funções Left e Right.
Mid (expr, início [,tamanho])
Argumento Descrição
início Posição inicial em expr.
tamanho Número de caracteres a serem retornados.

Minute
Retorna os minutos (0-59) de uma expressão que representa um
horário.
Minute (expr)

Month
Retorna o mês (1-12) de uma expressão que representa uma data.
Month (expr)

MonthName
Retorna o nome de um mês por extenso.
MonthName(mês [,abrevia])
Argumento Descrição
mês Número do mês (1-12).
abrevia Define se o nome do mês deve ser abreviado.
True Nome do mês abreviado.
False Nome do mês por extenso.

111
VBScript Funções

MsgBox
Exibe uma mensagem em uma caixa de diálogo, espera o usuário
escolher um botão e retorna um valor indicando qual botão foi
selecionado.
MsgBox (mensagem [,tipo] [,título] [,arqhelp, contexto])
Argumento Descrição
título Título a ser exibido na barra de título da caixa de diálogo.
arqhelp Arquivo de help a ser utilizado para fornecer help sensível
ao contexto (context-sensitive) para a caixa de diálogo.
contexto Número de contexto do tópico de help.
tipo Tipo do quadro a ser exibido. Some os valores das
características desejadas.
Número e tipo dos botões:
vbOKOnly=0 Exibe somente o botão OK.
vbOKCancel=1 Exibe os botões OK e Cancel.
vbAbortRetryIgnore=2 Exibe os botões Abort, Retry e Ignore.
vbYesNoCancel=3 Exibe os botões Yes, No e Cancel.
vbYesNo=4 Exibe os botões Yes e No.
vbRetryCancel=5 Exibe os botões Retry e Cancel.
Estilo do ícone:
vbCritical=16 Exibe o ícone Critical Message.
vbQuestion=32 Exibe o ícone Warning Query.
vbExclamation=48 Exibe o ícone Warning Message.
vbInformation =64 Exibe o ícone Information Message.
Identifica o botão default (que tem o foco):
vbDefaultButton1=0 Define o primeiro botão como default.
vbDefaultButton2=256 Define o segundo botão como default.
vbDefaultButton3=512 Define o terceiro botão como default.
vbDefaultButton4=768 Define o quarto botão como default.
Modalidade:
vbApplicationModal=0 O usuário deve responder à caixa de
mensagem antes de continuar o trabalho na
aplicação corrente.
vbSystemModal=4096 Em sistemas Win16 faz com que todas as
aplicações sejam suspensas até o usuário
responder à caixa de mensagem. Em
sistemas Win32, mantém a caixa de
mensagem sempre no topo das outras
aplicações que estão sendo executadas.
Valor retornado pela função:
vbOK=1 Botão OK foi clicado.
vbCancel=2 Botão Cancel foi clicado.
vbAbort=3 Botão Abort foi clicado.
vbRetry=4 Botão Retry foi clicado.
vbIgnore=5 Botão Ignore foi clicado.
vbYes=6 Botão Yes foi clicado.
vbNo=7 Botão No foi clicado.

Now
Retorna a data e a hora do sistema operacional.
Now

112
VBScript Funções

Oct
Retorna um texto que representa o valor octal de um argumento
decimal.
Oct (número)

Replace
Retorna um string na qual um substring especificado foi substituído
por um outro substring, um número especificado de vezes.
Replace(expr1, expr2, expr3 [,começo[,numsubst[,compara]]])
Argumento Descrição
expr1 String que contém uma ou mais substrings que serão
trocadas.
expr2 Substring a ser procurada.
expr3 Substring de substituição
começo Posição onde a substituição será iniciada.
numsubst Número de substituições a serem feitas. Default= -1 que
é equivalente a todas as possíveis substituições.
compara Tipo de comparação.
Constantes de Comparação:
vbBinaryCompare=0 Faz uma comparação binária.
vbTextCompare=1 Faz uma comparação textual.
vbDatabaseCompare=2 Faz uma comparação baseada em
informações de um banco de dados onde a
comparação será feita.

RGB
Retorna um número inteiro longo representando o valor da cor
RGB.
RGB (vermelho, verde, azul)
Argumento Descrição
vermelho Número (0-255) representando o item vermelho da cor.
verde Número (0-255) representando o item verde da cor.
azul Número (0-255) representando o item azul da cor.

Right
Retorna um substring com n caracteres à direita de uma expressão
string. Ver também as funções Mid e Left.
Right (expr, n)

Rnd
Retorna um número aleatório entre 0 e 1. Para inicializar o gerador
de números aleatórios use o comando Randomize (página 100).
Rnd [(número)]
Argumento Descrição
número Determina como a função Rnd irá gerar o número aleatório.
<0 Retorna sempre o mesmo número.
>0 Retorna o próximo número aleatório na seqüência (default).
=0 Retorna o número aleatório gerado mais recentemente.

113
VBScript Funções

Round
Retorna um número arredondado com um determinado número
de casas decimais.
Round (número, num_casas_decimais)

RTrim
Retorna uma cópia de uma expressão string sem os espaços em
branco finais. Ver também as funções LTrim e Trim.
RTrim (expr)

ScriptEngine
Retorna o nome da linguagem de scripting que está sendo
utilizada.
ScriptEngine
Valor Retornado
VBScript Visual Basic Scripting Edition.
JScript JScript.
VBA Visual Basic for Applications.

ScriptEngineBuildVersion
Retorna o número da versão da linguagem de scripting que está
sendo utilizada.
ScriptEngineBuildVersion

ScriptEngineMajorVersion
Retorna o número de mais alta ordem no número da versão da
linguagem de scripting que está sendo utilizada.
ScriptEngineMajorVersion

ScriptEngineMinorVersion
Retorna o número de mais baixa ordem no número da versão da
linguagem de scripting que está sendo utilizada.
ScriptEngineMinorVersion

Second
Retorna os segundos (0-59) de uma expressão que representa um
horário.
Second (expr)

SetLocale
Define o LCID (locale ID).
SetLocale(LCID)

114
VBScript Funções

Sgn
Retorna um número inteiro indicando o sinal de um número.
Sgn (número)
Valor retornado:
1 O número é maior que 0.
0 O número é 0.
-1 O número é menor que 0.

Sin
Retorna o seno de um ângulo (expresso em radianos).
Sin (ângulo)

Space
Retorna um string com um número especificado de espaços em branco.
Space (número)

Split
Retorna um array contendo um número especificado de substrings.
Oposto da função Join (página 100).
Split (expressão [,delimitador [,contador [,compara]]])
Argumento Descrição
expressão Expressão string contendo substrings separados por
delimitadores.
delimitador Caractere utilizado para separar os substrings.
contador Número de substrings a serem retornados. Para retornar
todos os substrings especifique -1.
compara
vbBinaryCompare=0 Efetua comparação binária.
vbTextCompare=1 Efetua comparação textual.

Sqr
Retorna a raiz quadrada de um número.
Sqr (número)

StrComp
Retorna um valor indicando o resultado da comparação de dois
strings.
StrComp (expr1, expr2 [,compara])
Argumento Descrição
compara Especifica o método de comparação de strings.
0 Distingue minúsculas de maiúsculas.
1 Não distingue minúsculas de maiúsculas.
Valor retornado Condição:
-1 expr1 < expr2
0 expr1 = expr2
1 expr1 > expr2
Null expr = Null ou expr2 = Null

115
VBScript Funções

String
Retorna um string com n caracteres, contendo o código ANSI
ou o primeiro caractere da expr especificada.
String (n, cod | expr)

StrReverse
Retorna uma cópia de um string, com os caracteres na ordem
reversa.
StrReverse(string)

Tan
Retorna a tangente de um ângulo (expresso em radianos).
Tan (ângulo)

Time
Retorna um Variant do subtipo Date indicando a hora corrente
do sistema operacional.
Time

Timer
Retorna o número de segundos que se passaram depois da meia
noite.
Timer

TimeSerial
Retorna um Date correspondente a um horário.
TimeSerial (hora, minuto, segundo)

TimeValue
Retorna o horário representado por uma expressão string.
TimeValue (expr)

Trim
Retorna uma cópia de uma expressão string sem os espaços em
branco iniciais e finais. Ver também as funções LTrim e RTrim.
Trim (expr)

TypeName
Retorna o subtipo de dados de uma variável.
TypeName (nomevar)
String retornado A variável contém
Byte Um byte.
Integer Um inteiro.
Long Um inteiro longo.
Single Um número de ponto-flutuante de precisão simples.
Double Um número de ponto-flutuante de dupla precisão.
Currency Um valor currency.

116
VBScript Funções
Date Uma data.
String Um string.
Boolean Um valor lógico.
Empty Um valor não inicializado.
Null Dados inválidos.
tipoobjeto Nome do tipo real de um objeto.
Object Um objeto que suporta OLE.
Unknown Um objeto de tipo desconhecido.
Nothing Uma variável objeto que não se refere a um objeto.
Error Um valor error.

UBound
Retorna o maior subscritor da dimensão especificada de um array.
Para retornar o menor subscritor utilize a função LBound
(página 110).
UBound (array [,dimensão])

UCase
Retorna uma cópia de uma expressão string com todas as letras
maiúsculas. Para converter para minúsculas utilize a função
LCase (página 110).
UCase (expr)

VarType
Retorna um valor indicando o subtipo de uma variável.
VarType (nomevar)
Valor retornado pela função:
vbEmpty=0 Vazio (não inicializada).
vbNull =1 Null (sem dados válidos).
vbInteger=2 Integer.
vbLong=3 Long (long integer).
vbSingle=4 Single (simples precisão).
vbDouble=5 Double (dupla precisão).
vbCurrency=6 Currency.
vbDate=7 Date.
vbString=8 String.
vbObject=09 Objeto OLE.
vbError =10 Erro.
vbBoolean=11 Valor lógico.
vbVariant=12 Variant (usado somente com arrays de Variants).
vbDataObjects=13 Objeto não-OLE.
vbByte=17 Byte.
vbArray=8192 Array.

117
VBScript Funções

Weekday
Retorna um número entre 1 (Domingo) e 7 (Sábado),
correspondente ao dia da semana de uma expressão representando
uma data.
Weekday (data, [primeiro])
Argumento Descrição
data Expressão representando uma data.
primeiro Uma constante que especifica o primeiro dia da
semana.
vbSunday=1 Domingo (default).
vbMonday =2 Segunda-feira.
vbTuesday=3 Terça-feira.
vbWednesday=4 Quarta-feira.
vbThursday=5 Quinta-feira.
vbFriday=6 Sexta-feira.
vbSaturday=7 Sábado.

WeekdayName
Retorna o nome do dia da semana.
WeekDayName (dia, [abrevia], [primeiro])
Argumento Descrição
dia Um Número representando o dia da semana.
abrevia Define se o dia da semana será abreviado.
False Não abrevia o dia da semana (default).
True Abrevia o dia da semana.
primeiro Uma constante que especifica o primeiro dia da
semana.
vbSunday=1 Domingo (default).
vbMonday =2 Segunda-feira.
vbTuesday=3 Terça-feira.
vbWednesday=4 Quarta-feira.
vbThursday=5 Quinta-feira.
vbFriday=6 Sexta-feira.
vbSaturday=7 Sábado.

Year
Retorna um número que representa o ano de uma determinada
data.
Year (Data)

118
VBScript Operadores

Operadores
Operadores Aritméticos
^ Exponenciação resultado = operando1 ^ operando2
* Multiplicação resultado = operando1 * operando2
/ Divisão resultado = operando1 / operando2
\ Divisão inteira resultado = operando1 \ operando2
(retorna um resultado inteiro)
Mod Módulo aritmético resultado = operando1 Mod operando2
(retorna o resto da divisão de operando1 por operando2)
+ Adição resultado = operando1 + operando2
- Subtração (1) resultado = operando1 - operando2
(2) -número (indica um valor negativo)
Operadores de Comparação
True se False se
< Menor que expr1 < expr2 expr1 >= expr2
<= Menor ou igual expr1 <= expr2 expr1 > expr2
> Maior que expr1 > expr2 expr1 <= expr2
>= Maior ou igual expr1 >= expr2 expr1 < expr2
= Igual expr1 = expr2 expr1 <> expr2
<> Diferente expr1 <> expr2 expr1 = expr2
Operadores de Concatenação de
Strings
& Concatenação resultado = operando1$ & operando2$
+ Concatenação (obsoleto) resultado = operando1$ + operando2$
Operadores Lógicos
And resultado=expr1 And expr2 Retorna True se ambas as expressões
forem True.
Eqv resultado=expr1 Eqv expr2 Retorna True se ambas as expressões
forem True ou ambas forem False.
Imp resultado=expr1 Imp expr2 Retorna False se a expr1 for True e a
expr2 for False; caso contrário, retorna
True.
Not resultado=Not expr Retorna o inverso da expr.
Or resultado=expr1 Or expr2 Retorna True se uma das expressões
for True.
Xor resultado=expr1 Xor expr2 Retorna True se apenas uma das
expressões for True, mas não ambas
forem True.
Outros Operadores
Is resultado=objref1 Is objref2 Retorna True se ambos os objetos
referirem-se ao mesmo objeto.
Precedência dos Operadores
Quando operadores de mais de uma categoria são combinados, os operadores
aritméticos são avaliados primeiro, os de comparação são avaliados em seguida e
os lógicos são avaliados por último, conforme a tabela abaixo. Dentro de uma
mesma categoria, os operadores são avaliados na ordem de precedência mostrada
abaixo. Alguns operadores têm a mesma precedência e são avaliados da esquerda
para a direita na ordem em que aparecem: multiplicação e divisão, adição e
subtração, e os operadores de comparação.
Aritméticos Comparação Lógicos
Exponenciação (^) Igualdade (=) Not
Negação (-) Desigualdade (<>) And
Multiplicação e divisão (*,/) Menor que (<) Or
Divisão inteira (\) Maior que (>) Xor
Módulo (Mod) Menor que ou igual (<=) Eqv
Adição e Subtração (+,-) Maior que ou igual (>=) Imp
Concatenação (&) Is

119
VBScript Subtipos de Dados

Subtipos de Dados
VBScript têm somente um tipo de dado chamado Variant. Um
Variant é um tipo especial de dados que pode conter diferentes
tipos de informações, dependendo de como ele é usado. A função
VarType pode ser utilizada para retornar informação sobre o tipo
de dado armazenado em um Variant.

Subtipo Descrição

Empty Variant não está inicializado. O valor é 0


para variáveis numéricas e string (“”) para
variáveis string.
Null Contém um valor Null.
Boolean Contém True ou False.
Byte Contém um número inteiro entre 0 e 255.
Integer Contém um número inteiro entre -32,768 a
32,767.
Currency -922,337,203,685,477.5808 a
922,337,203,685,477.5807.
Long Contém um número inteiro entre -
2,147,483,648 a 2,147,483,647.
Single Contém um número ponto-flutuante,
simples precisão entre -3.402823E38 a -
1.401298E-45 para valores negativos;
1.401298E-45 a 3.402823E38 para valores
positivos.
Double Contém um número ponto-flutuante, dupla
precisão entre -1.79769313486232E308 a -
4.94065645841247E-324 para número
negativos; 4.94065645841247E-324 a
1.79769313486232E308 para valores
positivos.
Date (Time) Contém um número que representa uma
data entre 01/Janeiro/100 a 31/Dezembro/
9999.
String Contém um string de tamanho variável que
pode ter até aproximadamente 2 bilhões de
caracteres.
Object Contém um objeto.

120
Apêndice Propriedade Status

Códigos da Propriedade Status


Código Significado
1xx Utilizado para enviar informações para o cliente.
100 Continue
101 Switching Protocols
2xx Indica que a solicitação (request) teve sucesso. Por
exemplo, o código 200 é utilizado para indicar que a
página solicitada foi obtida com sucesso.
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
3xx Indica que ações adicionais devem ser tomadas antes
da solicitação (request) ser satisfeita. Por exemplo, o
código 301 indica que a página foi movida e o browser
será redirecionado para a nova página.
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
303 See Other
304 Not Modified
305 Use Proxy
307 Temporary Redirect
4xx Indica que o browser fez uma solicitação (request) que
não pode ser atendida. Por exemplo, "404 - URL not
found" indica que a página solicitada foi movida ou não
existe.
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Time-out
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Large
415 Unsupported Media Type
416 Requested range not satisfiable
417 Expectation Failed
5xx Indica um erro no servidor. Por exemplo, o código 503
indica que o servidor tem muitas solicitações (requests)
para processar.
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Time-out
505 HTTP Version not supported
121
Apêndice Coleção ServerVariables

Itens da Coleção ServerVariables


Elemento Descrição
ALL_HTTP Todos os headers HTTP enviados pelo
browser cliente.
ALL_RAW Todos os headers HTTP em seu estado
original enviados pelo browser cliente.
APPL_MD_PATH Path do metabase para para a aplicação.
APPL_PHYSICAL_PATH Path físico correspondente ao path do
metabase.
AUTH_PASSWORD Senha fornecida no diálogo de autenticação
do cliente (o IIS deve estar configurado para
Basic Authentication).
AUTH_TYPE Método de autenticação usado pelo servidor
para validar usuários que solicitam scripts
no servidor protegidos pela segurança do
Windows NT.
AUTH_USER Nome do usuário fornecido pelo usuário
para o servidor se a página não permite
acesso anônimo.
CERT_COOKIE ID do certificado digital do cliente.
CERT_FLAGS Valor de dois bits: bit 0 igual a 1 indica se
o certificado do cliente está presente, bit 1
igual a 1 indica que a autoridade de
certificação do certificado do cliente é inválida.
CERT_ISSUER Campo Issuer do certificado do cliente
(O=MS, OU=IAS, CN=usuário,
C=USA).
CERT_KEYSIZE Número de bits na chave de conexão
Secure Sockets Layer.
CERT_SECRETKEYSIZE Número de bits na chave do "server
certificate private".
CERT_SERIALNUMBER Campo Serial Number do certificado digital
do cliente.
CERT_SERVER_ISSUER Campo Issuer do certificado do servidor.
CERT_SERVER_SUBJECT Campo Subject do certificado do servidor.
CERT_SUBJECT Campo Subject do certificado do cliente.
CONTENT_LENGTH Número de bytes enviados no corpo (body)
da request.
CONTENT_TYPE Tipo MIME do conteúdo enviado pelo cliente.
GATEWAY_INTERFACE Tipo de interface CGI usada pelo servidor
web para manipular a request.
HTTP_nomeheader Valor armazenado no header especificado.
Veja na página XX a lista dos headers mais
comuns. Qualquer header não incluído
nessa lista deve ser prefixado com HTTP_
para ser acessado.
HTTPS Retorna ON se a request vêm de um canal
seguro ou OFF de um canal não-seguro.
HTTPS_KEYSIZE Número de bits na chave de conexão
Secure Sockets Layer.
HTTPS_SECRETKEYSIZE Número de bits na chave do "server
certificate private".

122
Apêndice Coleção ServerVariables
HTTPS_SERVER_ISSUER Campo Issuer do certificado do servidor.
HTTPS_SERVER_SUBJECT Campo Subject do certificado do servidor.
INSTANCE_ID ID, em formato texto, para a instância do
Internet Information Server (IIS).
INSTANCE_META_PATH Path do metabase para a instância do
Internet Information Server (IIS) que
responde à request.
LOCAL_ADDR Retorna o endereço do servidor do qual a
request é originada.
LOGON_USER Conta do usuário usada para efetuar o logon
no Windows.
PATH_INFO Path virtual e nome do documento solicitado
pelo cliente, em relação à pasta raiz deste
site.
PATH_TRANSLATED Versão convertida do PATH_INFO que
executa o mapeamento virtual para físico do
path.
QUERY_STRING Contém a query string acrescentada ao
HTTP request (após o caractere ?). Também
disponível na coleção QueryString.
REMOTE_ADDR Endereço IP do computador do browser
cliente.
REMOTE_HOST Nome do host do browser cliente.
REMOTE_USER Nome (se disponível) da máquina cliente
que solicitou a página.
REQUEST_METHOD Método usado pelo browser cliente no
request (GET ou POST).
SCRIPT_NAME Path virtual do script corrente.
SERVER_NAME Nome do host, DNS alias, ou endereço IP
do servidor.
SERVER_PORT Número da porta em que a request foi
recebida (80 para páginas normais e 443
para requests SSL).
SERVER_PORT_SECURE Indica se a request HTTP está sendo
gerenciada pelo servidor web em uma porta
segura (1) ou em uma porta não segura (0).
SERVER_PROTOCOL Nome e versão do protocolo usado pelo
servidor web para manipular a request do
cliente.
SERVER_SOFTWARE Nome e versão do servidor web.
URL Endereço URL base requisitado (sem a
querystring) pelo browser cliente.

Headers HTTP mais comuns


HTTP_ACCEPT Lista de tipos MIME que o browser cliente
pode aceitar.
HTTP_ACCEPT_ENCODINGLista dos tipos de encoding que o cliente
pode aceitar.
HTTP_ACCEPT_LANGUAGE Código da linguagem do browser cliente.
HTTP_COOKIE Cookie incluído com a request.
HTTP_USER_AGENT Nome do browser utilizado pelo usuário.
HTTP_REFERER URL da request original quando um
redirecionamento ocorreu.

123
Apendice Sites

Onde obter mais informações


Sites Internacionais
www.15seconds.com
www.4guysfromrolla.com
www.actionjackson.com
www.activeserverpages.com
www.asp101.com
www.asp-help.com
www.aspforums.com
www.aspfree.com
www.asphole.com
www.aspin.com
www.aspkicker.com
www.asplists.com
www.asptoday.com
www.asptracker.com
www.aspwatch.com
www.aspwire.com
www.aspzone.com
www.chilisoft.com
www.componentsource.com
www.cookiecentral.com
www.devguru.com
www.kamath.com
www.halcyonsoft.com
www.haneng.com
www.powerasp.com
www.serverobjects.com
www.superexpert.com
www.tcp-ip.com
www.ultimateasp.com

Sites em Português
www.aspbrasil.com.br

124
Apêndice

Notação Sintática Utilizada


itens em negrito Na sintaxe dos comandos, identificam as
palavras reservadas da linguagem Visual Basic.
itens em itálico Identificam as informações que devem ser
fornecidas pelo programador.
[] Na sintaxe dos comandos, os itens dentro de
colchetes são opcionais.
••• Identifica as partes de um comando que podem
ser repetidas.
{opção1|opção2|..} Indica que deve ser escolhida uma opção entre
duas ou mais alternativas.

Novatec na Internet
Conheça o site da Novatec Editora

www.novateceditora.com.br
 Veja a relação de nossas publicações;
 Conheça os últimos lançamentos;
 Adquira nossas publicações através da Internet;
 Cadastre-se para ser informado das novidades da Novatec;
 Faça o download (parcial) dos Guias;
 E muito mais.

E-mail: leitor@novateceditora.com.br

125
Índice

126
Índice

127
Índice

128
ASP
 ASP (Active Server Pages) é uma tecnologia
criada pela Microsoft que permite criar páginas
web dinâmicas usando scripts do lado servidor
("server-side").

 Este Guia de Consulta Rápida descreve de


maneira suscinta todos os objetos,
propriedades, métodos e eventos do ASP 3.0.
Inclui também uma referência completa da
linguagem VBScript.

 Indispensável para quem quer obter o máximo


proveito da tecnologia ASP, sem perder tempo
consultando volumosos manuais.

 Prático para carregar e consultar.

Copyright © Novatec Editora Ltda.


Fone: (0xx11) 6959-6529
Fax: (0xx11) 6950-8869
Internet: www.novateceditora.com.br