Professional Documents
Culture Documents
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
ISBN: 85-85184-??-?
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.
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.
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.
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
6
Conceitos Básicos Introdução
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
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.
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.
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:
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).
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.
13
Conceitos Básicos Objetos e Componentes
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.
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
#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.
17
Conceitos Básicos Global.asa
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
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.
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
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)
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
StaticObjects
A coleção StaticObject do objeto Application pode armazenar
instâncias de objetos criadas com o elemento <OBJECT>.
Application.StaticObjects(nome_item)
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
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
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
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.
Métodos
SetAbort
SetComplete
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.
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.
Propriedade
TotalBytes
Método
BinaryRead
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>
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
%>
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.
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.
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
%>
31
Objetos Intrínsecos do ASP Request
TotalBytes
Retorna o número total de bytes no corpo (body) da solicitação
(request) HTTP enviada pelo browser cliente.
Var = Request.TotalBytes
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.
Propriedades
Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
IsClientConnected
PICS
Status
Métodos
AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
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)
%>
34
Objetos Intrínsecos do ASP 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
%>
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.
Métodos
CreateObject
Execute
GetLastError
HTMLEncode
MapPath
Transfer
URLEncode
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%>
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
HTMLEncode
O método HTMLEncode aplica a sintaxe de codificação HTML
em um string. Caracteres especiais, tais como: < e > são convertidos
para < e >, respectivamente.
Server.HTMLEncode(strHTMLString)
Parâmetro Descrição
strHTMLString String a ser codificado.
Exemplo
<%
Response.WriteServer.HTMLEncode(“Atagparaumatabelaé:<Table>”)
%>
Produz a saída:
Atagparaumatabelaé:<Table>
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
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”)
Coleções
Contents
StaticObjects
Propriedades
CodePage
LCID
SessionID
Timeout
Métodos
Contents.Remove
Contents.RemoveAll
Abandon
Eventos
onStart
onEnd
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
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.
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)
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
\%>
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]
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
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.
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")
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”)
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”)
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")
59
Componentes do IIS Content Rotator
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")
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
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.
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")
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")
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")
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"
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.
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.
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
%>
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
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.
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
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
120
Apêndice Propriedade Status
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.
123
Apendice Sites
Sites em Português
www.aspbrasil.com.br
124
Apêndice
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").