130
GUIA DE CONSULTA RÁPIDA novatec Rubens Prates www. novateceditora.com.br ASP Inclui VBScript

Rubens Prates - Guia de Consulta rápida ASP

Embed Size (px)

Citation preview

Page 1: Rubens Prates - Guia de Consulta rápida ASP

GUIA DE

CONSULTA

RÁPIDA

novatec

Rubens Prates

www.novateceditora.com.br

ASPInclui VBScript

Page 2: Rubens Prates - Guia de Consulta rápida ASP

Novatec Editorawww.novateceditora.com.br

Rubens Prates

ASPGuia de Consulta Rápida

Page 3: Rubens Prates - Guia de Consulta rápida ASP

2

Guia de Consulta Rápida ASPde Rubens Prates

Copyright@2000 da Novatec Editora Ltda.

Todos os direitos reservados. É proibida a reprodução dessa obra,mesmo parcial, por qualquer processo, sem prévia autorização, porescrito, dos autores e da Editora.

Revisão de texto: Sonia Maike

ISBN: 85-85184-??-?

Novatec Editora Ltda.Rua Cons. Moreira de Barros 1084 Conj 0102018-012 São Paulo - SP BrasilFone: (0xx11) 6959-6529Fax: (0xx11) 6950-8869E-mail: [email protected]: www.novateceditora.com.br

Page 4: Rubens Prates - Guia de Consulta rápida ASP

3

Sumário

Conceitos Básicos ............................................................ 5Introdução .................................................................... 5Definindo a Linguagem de Script ............................. 11Objetos e Componentes ........................................... 12Diretivas de Processamento ..................................... 15Diretivas SSI (Server-Side Include) ........................... 16Arquivo Global.asa .................................................... 17

Objetos Intrínsecos do ASP ............................................ 20Objeto Application ...................................................... 20Objeto ASPError (ASP 3.0) ........................................ 24Objeto ObjectContext ................................................. 26Objeto Request .......................................................... 27Objeto Response ...................................................... 33Objeto Server ............................................................. 42Objeto Session .......................................................... 45

Componentes do IIS ....................................................... 50ADO ............................................................................ 50Ad Rotator .................................................................. 51Browser Capabilities ................................................. 54Content Linking .......................................................... 56Content Rotator .......................................................... 59Counters .................................................................... 61Logging Utility (ASP 3.0) ............................................ 62MyInfo ......................................................................... 66Page Counter ............................................................. 67Permission Checker ................................................. 68Tools .......................................................................... 69

Objetos de Scripting Run-Time ...................................... 70Objeto Dictionary ....................................................... 70Objeto FileSystemObject .......................................... 72Objeto Drive ............................................................... 77Objeto Folder ............................................................ 79Objeto File .................................................................. 83Objeto TextStream .................................................... 86

Objetos do VBScript ........................................................ 89Objeto RegExp .......................................................... 89Objeto Err .................................................................. 93

VBScript ........................................................................... 95Instruções do VBScript .............................................. 95Funções do VBScript ............................................... 102Operadores .............................................................. 119Subtipos de Dados .................................................. 120

Apêndice ........................................................................ 121Códigos da Propriedade Status ............................. 121Itens da Coleção ServerVariables ........................... 122Onde obter mais informações ................................ 124Notação Sintática Utilizada ...................................... 125Novatec na Internet .................................................. 125

Índice ............................................................................. 126

Page 5: Rubens Prates - Guia de Consulta rápida ASP

4

Page 6: Rubens Prates - Guia de Consulta rápida ASP

5

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

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

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

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

Plataforma para ASPOriginalmente ASP somente poderia ser utilizada com servidoresweb da Microsoft (PWS - Personal Web Server e IIS - InternetInformation Server) para a plataforma Windows. Atualmenteexistem ferramentas de terceiros que oferecem a mesmafuncionalidade ASP para outros servidores web, tais como oNetscape Enterprise, disponível para vários sistemas operacionais,como o Unix. As mais conhecidas são o Chili!Soft(www.chilisoft.com) e o Instant ASP (www.halcyon.com).

Ferramentas de DesenvolvimentoEmbora as páginas ASP possam ser criadas utilizando editores detexto, como o Notepad, ou mais especializados como o FrontPage,existem diversas ferramentas para desenvolvimento de aplicaçõesweb, tais como o Visual InterDev, um dos componentes do VisualStudio 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áginawww.15seconds.com/tool/default.htm.

Depuração de scripts ASPA maneira mais fácil de depurar scripts é utilizar o Microsoft ScriptDebugger. Pode ser instalado como parte do NT Option Pack ouatravés de download em http://msdn.microsoft.com/scripting/debugger/.

Conceitos Básicos Introdução

Page 7: Rubens Prates - Guia de Consulta rápida ASP

6

Conceitos Básicos Introdução

Página ASPUma página ASP é um arquivo texto com a extensão .asp que contémqualquer combinação de:

• texto

• tags HTML

• scripts

Um exemplo simples de página ASP:

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

Os usuários não podem ver os comandos de script que criaram apágina que está sendo visualizada. Verificando o código fonte dapágina exibida (opção View > Source do Internet Explorer ou View> Page Source do Netscape), percebemos que no lugar do códigoscript está o resultado do script, conforme mostrado na tela abaixo:

Page 8: Rubens Prates - Guia de Consulta rápida ASP

7

Conceitos Básicos Introdução

Delimitadores de scripts server-sideNas páginas .asp, os scripts são diferenciados de textos e HTMLpor delimitadores <% e %> ou pelo elemento <SCRIPTRUNAT="SERVER"> ... </SCRIPT>. Dentro dos delimitadores,pode ser incluído qualquer comando da linguagem de scriptingutilizada. O exemplo abaixo mostra uma página HTML que contémum comando script delimitado por <% e %>:

<HTML>

<BODY>

Data e hora:

<% Response.Write Now() %>

</BODY>

</HTML>

A função Now() retorna a data e hora correntes. Quando o servidorprocessa esta página, ele substitui <%= Now() %> pela data e horacorrentes e retorna a página para o browser, como por exemplo:

Data e hora: 03/25/2000 8:47:00 PM

O comando script do exemplo acima também poderia ser delimitadocom elemento <SCRIPT RUNAT=SERVER>, como mostradoabaixo:

<HTML>

<BODY>

Data e hora:

<SCRIPT RUNAT="SERVER">

Response.Write Now()

</SCRIPT>

</BODY>

</HTML>

Scripting Server-side x Client-sideUma página Asp pode conter ambos os tipos de scripts: server-sidee client-side. O script server-side deve ter a cláusulaRUNAT="SERVER". O script client-side (comRUNAT="CLIENT" ou com o atributo RUNAT omitido) éignorado pelo interpretador ASP e passado para o browser clientecomo texto normal. Veja abaixo um exemplo de como isso funciona:

<HTML>

<BODY>

Texto e <B>HTML</B> enviados diretamente para o browser cliente.

<SCRIPT RUNAT="SERVER">

REM Código script server-side executado pelo ASP no servidor.

</SCRIPT>

<SCRIPT>

<!--

REM Código script client-side executado no browser cliente.

-->

</SCRIPT>

</BODY>

</HTML>

Page 9: Rubens Prates - Guia de Consulta rápida ASP

8

Conceitos Básicos Introdução

Enviando conteúdo para o browserPara enviar conteúdo para o browser dentro dos delimitadores descripting utilize o método Write do objeto Response. Por exemplo,o seguinte comando envia uma mensagem diferente para o usuáriodependendo se ele visitou a página antes:

< %

If blnPrimVez Then

Response.Write “<H3 ALIGN=CENTER>Bem-vindo à Novatec</H3>”

Else

Response.Write “<H3 ALIGN=CENTER>Seja novamente bem-vindo àNovatec</H3>”

End If

% >

Qualquer conteúdo que não estiver dentro de delimitadores descripting são enviados diretamente para o browser. Por exemplo,o seguinte script produz a mesma saída que o script anterior:

<H3 ALIGN=CENTER>

<% If blnPrimVez Then %>

Bem-vindo à Novatec

<% Else %>

Seja novamente bem-vindo à Novatec

<% End If %>

</H3>

Intercalar comandos script e HTML quando você necessita apenasretornar a saída uma vez ou quanto é mais conveniente adicionarcomandos ao texto HTML existente. Use Response.Write quandovocê não deseja dividir um comando com delimitadores quando vocêdeseja construir o string que será retornado para o browser. Porexemplo, você pode construir um string de texto que constrói umalinha da tabela com valores enviados por um formulário HTML:

Response.Write “<TR><TD>” & Request.Form(“FirstName”) _

& “</TD><TD>” & Request.Form(“LastName”) & “</TD></TR>”

Incluindo arquivos de scriptsTambém é possível incluir na página ASP arquivos de scriptseparados que contém código de scripting, tornando mais fácilescrever funções que devem estar disponíveis para muitas páginas.Desta forma, as alterações no código de scripting serãoautomaticamente refletidas em todas as páginas na próxima vez queelas forem executadas. Para incluir um arquivo de script separado,utilize o atributo SRC do elemento <SCRIPT> para especificar umpath virtual, relativo ou físico e o nome do arquivo:

<SCRIPT RUNAT="SERVER" SRC="/scripts/valida.inc"></SCRIPT>

O arquivo separado deve conter somente código script válido, nãopode conter conteúdo de página, tais como texto ou HTML.

Page 10: Rubens Prates - Guia de Consulta rápida ASP

9

Conceitos Básicos Introdução

Arquitetura do ASPA tecnologia ASP é encapsulada em uma simples DLL chamadaASP.DLL, que é instalada por default no diretórioWinnt\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 aextensão for .asp o servidor passa esse arquivo para a dll ASP.DLLpara ser interpretado. O resultado é devolvido para para o servidorweb, que por sua vez envia para browser que solicitou a página.Até o ASP 2.0 o processamento de arquivos .asp requeriaprocessamento 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, semprejudicar o desempenho.

inserir ILUSTRAÇÃO

Page 11: Rubens Prates - Guia de Consulta rápida ASP

10

Diretórios no servidor IISNa instalação do servidor IIS é criado o subdiretório \Inetpub nocomputador do servidor IIS, onde normalmente são colocados osarquivos de páginas web. Esse subdiretório, por sua vez, contémsubdiretórios, entre eles o \wwwroot, que é o topo da árvore paraos web sites, e é o diretório web default.\Inetpub

\wwwrootEssa estrutura é conhecida como estrutura de diretórios físicos, quenós visualizamos no Windows Explorer. Por exemplo, a pastaC:\My Documents é um diretório físico.Existe contudo uma segunda estrutura de diretórios no computadordo servidor web, que reflete a estrutura do site. Consiste de umhierarquia de diretórios virtuais. Através do Managment Consoledo IIS podemos criar esses diretórios, e definir o relacionamentoentre os diretórios virtuais e os diretórios físicos.Nós podemos criar aplicações virtuais em qualquer subdiretório dosite.Um diretório virtual é um diretório que não precisa localizar-se emseu diretório home; na verdade, ele pode residir em outro disco oucomputador, mas pode ser acessado por um browser cliente atravésda Internet como se estivesse localizado em seu diretório home. Odiretório home por padrão é X:\InetPub\wwwroot, onde X é o discorígido do sistema operacional em uma instalação padrão.O diretório home é o diretório raiz do seu site.Para cada site em um computador sob o IIS, existe um diretório raizno servidor, que é usualmente C:\InetPub\WWWRoot.Diretórios virtuais são diretórios mapeados na árvore de diretóriosdo site; no entanto, eles fisicamente ficam fora dessa árvore. Alocalização física pode ser até mesmo um outro servidor.

AplicaçãoUma página ASP usualmente existe como parte de uma aplicaçãoASP. Uma aplicação ASP é realmente todas as páginas e conteúdoassociado 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 umsite real ou virtual dentro do servidor web.Uma aplicação é a soma de todos os arquivos que podem seracessados através de um diretório virtual e seus subdiretórios. Essecontexto de aplicação é o mesmo para todos os clientes da aplicação.Por exemplo, um cliente da Tailandia que solicita páginas dodiretório virtual /SearchApp está acessando a mesma aplicação queum segundo cliente da Suécia que estiver acessando páginas domesmo diretório virtual, independente de qual página dentro dodiretório virtual cada um estiver solicitando. Você pode compartilharinformações entre todos os clientes de uma aplicação através doobjeto Application.

Configuração de aplicações ASP no IISAntes de você criar uma aplicação ASP, você deve criar um diretóriovirtual.Antes de você criar uma aplicação ASP, você deve criar um diretóriovirtual.Para criar um diretório virtual siga os seguintes passos:

1. Clique com o botão direito do mouse o servidor onde vocêdeseja criar o diretório virtual.

Conceitos Básicos Introdução

Page 12: Rubens Prates - Guia de Consulta rápida ASP

11

Definindo a Linguagem de ScriptUma aplicação ASP pode utilizar diferentes linguagens de scripting.As linguagens VBScript e JScript (similar à JavaScript) são instaladaspor default. As outras linguagens devem ser obtidas e instaladasseparadamente.Existem três formas de especificar a linguagem de scripting a serutilizada: para o site inteiro, para uma página ASP e para uma funçãoespecífica:

Site inteiroPara definir a linguagem de script padrão para todas as páginasem um site, habilite a opção Default ASP Language da AppOptions na configuração do servidor web onde ASP estiverinstalada. Se não especificada na configuração do servidor web,será assumido VBScript, por default.

Página ASPPara definir a linguagem de script para uma única página, utilizea diretiva <%@ LANGUAGE=linguagem %>. Essa diretivadeve ocorrer apenas uma vez e deve ser a primeira linha da página.Por exemplo, para definir a linguagem JScript colocamos aseguinte instrução no início da página:<%@ LANGUAGEM = JScript %>

Recomenda-se definir a linguagem no nível de página pois no casodo arquivo da página ser utilizada em um outro servidor web ondenão pode ser garantido que a linguagem de scripting padrão sejaa que você deseja.

FunçãoPara definir a linguagem de scripting somente para uma funçãoespecífica de uma página, utilize a opção LANGUAGE da tag<SCRIPT>. Essa opção anula as definições de linguagem descripting 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 quetrata-se de um script server-side. Se não for especificada, seráassumida que trata-se de um script client-server.

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

Conceitos Básicos Linguagem de Scripting

Page 13: Rubens Prates - Guia de Consulta rápida ASP

12

Objetos e ComponentesDiversos tipos de objetos e componentes podem ser utilizados comASP. Embora sejam acessíveis da mesma forma, através da tecnologiaCOM, conceitualmente eles são divididos em grupos:

Objetos Intrínsecos do ASPSão objetos fornecidos diretamente pela DLL ASP e estão sempredisponíveis para scripts server-side, e não precisam serem criados.

• Application (mais detalhes na página 20).

• ASPError (mais detalhes na página 24).

• ObjectContext (mais detalhes na página 26).

• Request (mais detalhes na página 27).

• Response (mais detalhes na página 33).

• Server (mais detalhes na página 42).

• Session (mais detalhes na página 45).

Componentes do IISEsses componentes são instalados pelo IIS, no diretórioWinNT\System32\inetsrv\ do Windows. Precisam ser registradosno servidor antes de serem instanciados em suas aplicações web,caso não tenham sido instalados por default pelo IIS.

• ADO (mais detalhes na página 50).

• Ad Rotator (mais detalhes na página 51).

• Browser Capabilities (mais detalhes na página 54).

• Content Linking (mais detalhes na página 56).

• Content Rotator (mais detalhes na página 59).

• Counters (mais detalhes na página 61).

• Logging Utility (mais detalhes na página 62).

• MyInfo (mais detalhes na página 66).

• Page Counter (mais detalhes na página 67).

• Permission Checker (mais detalhes na página 68).

• Tools (mais detalhes na página 69).

Objetos de Scripting Run-TimeEsses objetos são parte da Scripting Runtime Objects library,contidos em scrrun.dll. Eles são expostos pelo "scripting engine",independente da linguagem de scripting utilizada (VBScript, JScript,etc) e podem ser utilizados tanto do lado cliente quanto do ladoservidor.

• Dictionary (mais detalhes na página 70).

• FileSystemObject (mais detalhes na página 72).

• TextStream (mais detalhes na página 86).

Conceitos Básicos Objetos e Componentes

Page 14: Rubens Prates - Guia de Consulta rápida ASP

13

Objetos do VBScriptObjetos fornecidos pela linguagem VBScript (vbscript.dll), e podemser 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, oferecemobjetos similares aos objetos acima.

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

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

Usando o método Server.CreateObjectÉ a maneira mais comum para criar uma instância de um objeto. Porexemplo, para criar uma instância do componente BrowserCapabilities:

< %

Dim objBrowser

Set objBrowser = Server.CreateObject("MSWC.BrowserType")

% >

No exemplo acima o parâmetro MSWC.BrowserType é o ProgIDdo componente Browser Capabilities.

Conceitos Básicos Objetos e Componentes

Page 15: Rubens Prates - Guia de Consulta rápida ASP

14

Conceitos Básicos Objetos e Componentes

Usando o elemento <OBJECT>Podemos usar o elemento <OBJECT> padrão HTML para criarinstâncias de um componente no servidor adicionando o parâmetroRUNAT="SERVER". Normalmente utiliza-se o PROGID em vezdo ClassID numérico.

<OBJECT RUNAT="Server" SCOPE=escopo ID=identificador{PROGID="progid"|CLASSID="ClassID"}><PARAM NAME="param1" VALUE="valor1"><PARAM NAME="param2" VALUE="valor2">

</OBJECT>

Parâmetros Descrição

SCOPE Especifica o escopo do objeto. Se SCOPE="PAGE" ouse for omitido, indica que o escopo é a página corrente.Caso <OBJECT> estiver no arquivo Global.asa, osescopos Session ou Application podem ser informados.

ID Especifica o nome para a instância do objeto.PROGID Identificador do objeto.CLASSID Especifica um identificador único para um objeto COM.

ProgID ou ClassID devem ser especificados.PARAM Define os valores das propriedades expostas pelo objeto

para uso em nossos scripts

Exemplos

<OBJECT RUNAT=Server SCOPE=Session ID=MinhaConexaoPROGID=”ADODB.Connection”>

REM Object Script

</OBJECT>

<OBJECTRUNAT=Server SCOPE=Session ID=MinhaConexaoCLASSID=”Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">

REM Object Script

</OBJECT>

Como podemos perceber, a utilização do ProgID é mais fácil do queClassID.

Diferença entre CreateObject e <OBJECT>O método Server.CreateObject cria uma instância do objetoimediatamente. O elemento <OBJECT> somente cria uma instânciado objeto na primeira vez que o objeto for referenciado.

Escopo das Instâncias de ObjetosPor default, todas as instâncias de objetos e componentes criadosem uma página ASP tem escopo da página. Eles existem somenteenquanto a página estiver sendo executada, e são destruidosautomaticamente após a página corrente ter sido encerrada e osresultados terem sidos enviados ao browser cliente.Entretanto se nós colocarmos o elemento <OBJECT> no arquivoGlobal.asa que existe no diretório raiz da aplicação, pode serespecificado que o objeto ou componente deverá ter escopoApplication ou Session.

Page 16: Rubens Prates - Guia de Consulta rápida ASP

15

Diretivas de ProcessamentoAs diretivas de processamento indicam ao servidor web comoprocessar o arquivo .asp. Elas devem ser colocadas na primeira linhado 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áginade código para interpretação do HTML enviado ao browser.

<@ CODEPAGE=página_código %>

ENABLESESSIONSTATE Habilita (True) ou desabilita (False) o armazenamento deinformaçõ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 dedados, como datas e horas. Ao contrário, a propriedadeSession.LCID, define o identificador de localidade parainterpretaçã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 (seexistir), ou iniciará uma nova transação.

Requires_New A página sempre iniciará uma nova transação, mesmo quejá exista uma.

Supported Executa a página dentro de uma transação existente (seexistir), mas não iniciará uma nova transação.

Not_Supported A página não será executada dentro de uma transaçãoexistente, nem iniciará uma nova transação.

Conceitos Básicos Diretivas de Processamento

Page 17: Rubens Prates - Guia de Consulta rápida ASP

16

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

#configEspecifica o formato usado para mensagens de erro, datas, etamanhos de arquivo retornado para o browser cliente.<!-- #config timefmt=”%m/%d/%y” -->

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

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

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

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

#includeInclui um arquivo em uma página HTML ou ASP. A extensão doarquivo a ser incluído deve estar mapeada, na configuração doservidor web, para SSINC.DLL, a DLL que interpreta diretivasSSI. 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órioda página corrente.

<!--#include file=”xyz.asp”-->

virtual Inclui um arquivo. O nome do arquivo representa um pathque é relativo à raiz do site.

<!--#include virtual=”/xyz.asp”-->

Conceitos Básicos Diretivas SSI

Page 18: Rubens Prates - Guia de Consulta rápida ASP

17

Arquivo Global.asaGlobal.asa é um arquivo opcional, localizado na raiz do diretóriovirtual. Deve existir somente um arquivo global.asa por aplicação.Ele armazena informações e objetos usados globalmente pelaaplicação, e não pode conter qualquer conteúdo que possa serexibido 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 deusuário e também no início e no final da aplicação ASP. Normalmenteo código no arquivo Global.asa é utilizado para inicializar variáveisno início de cada sessão de usuário ou para criar conexões a bancosde dados que são utilizadas em toda a aplicação.

Exemplo de Arquivo Global.asa

<OBJECT

RUNAT=Server

SCOPE=Session

ID=Tool1

PROGID="MSWC.Tools">

</OBJECT>

<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>

Sub Application_OnStart

Application("UsuariosAtivos")=0

End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart

Session.Timeout = 20

Session("Inicio") = Now

Application.Lock

Application("UsuariosAtivos") = Application("UsuariosAtivos") + 1

Application.UnLock

End Sub

Sub Session_OnEnd

Application.Lock

Application("UsuariosAtivos")=Application("UsuariosAtivos") - 1

Application.UnLock

End Sub

</SCRIPT>

<!-- METADATA TYPE="TypeLibrary"

FILE="Report.LIB"

VERSION="1.5"

LCID="1306"

-->

Conceitos Básicos Global.asa

Page 19: Rubens Prates - Guia de Consulta rápida ASP

18

Partes do Arquivo Global.asaO arquivo Global.asa é dividido em quatro segmentos:

• Eventos do objeto Application• Eventos do objeto Session• Declarações <OBJECT>

• Declarações TypeLibrary

Eventos do objeto Application

Uma aplicação ASP é formada por todos os arquivos em umdiretório virtual e nos subdiretórios deste. Pode ter dois eventos:o evento Application_OnStart e o Application_OnEnd.

Evento Descrição

Application_OnStart Ocorre na primeira vez que um usuário abre umadas páginas da aplicação. Pode-se definir um scripta ser executado quando da ocorrência desteevento.

Application_OnEnd Ocorre quando o servidor web é desligado. Pode-se definir um scritpt a ser executado após todas assessões de usuários terem terminado. Por exemplo,você pode querer calcular e armazenar estatísticassobre sessões de usuário para referência futura.

Eventos do objeto Session

O servidor web cria automaticamente uma sessão quando o usuárioque previamente não tinha uma sessão, abre uma página na aplicação.Essa sessão é encerrada quanto atingir o timeout ou quando oservidor chamar o método Abandon. A sessão têm dois eventos:Session_OnStart e Session_OnEnd.

Evento Descrição

Session_OnStart Ocorre antes do início de uma nova sessão por umusuário. Pode-se definir um script para esse evento,que será executado antes que a página solicitadapelo usuário seja processada.

Session_OnEnd Ocorre quando a sessão de um usuário é encerrada,por timeout (default=20 minutos) ou pela execuçãodo método Abandon.

Declarações <OBJECT>O elemento <OBJECT> cria objetos com escopo Session ouApplication.Por exemplo:

<OBJECT RUNAT=Server SCOPE=Session ID=MeuAdRotPROGID=”MSWC.AdRotator”>

</OBJECT>

Então esse objeto poderá ser referênciado em qualquer página daaplicação:

<%= MeuAdRot.GetAdvertisement(“/ads/adrot.txt”) %>

Para mais detalhes sobre o elemento <OBJECT> veja a página 14.

Conceitos Básicos Global.asa

Page 20: Rubens Prates - Guia de Consulta rápida ASP

19

Conceitos Básicos Global.asa

Declarações Type LibraryUma type library é um arquivo que contém informações sobreobjetos e tipos suportados por um componente ActiveX. Adeclaração, no arquivo Global.asa, das type libraries dos objetosActiveX utilizados na aplicação, permite referenciar em qualquerscript da aplicação, os tipos de dados das type libraries.

Sintaxe:

<!—METADATA TYPE=”TypeLib”

FILE=”nomearquivo” UUID=”typelibraryuuid”

VERSION=”majorversionnumber.minorversionnumber”

LCID=”localeid”

—>

Parâmetro Significado

nomearquivo Path para a type library.typelibraryuuid Identificador universal único para a type library.majorversionnumber Número mais significativo da versão.minorversionnumber Número menos significativo da versão.localeid Identificador de local usado pela type library.

Informações Adicionais• Os delimitadores <% %> não são permitidos no arquivo

global.asa. Devem ser usadas as tags <SCRIPT> e </SCRIPT>.O parâmetro RUNAT=Server deve ser especificado na tag.

• O arquivo global.asa é significativo somente para inicializaçãoe finalização. Qualquer código que tentar enviar dados parao cliente será ignorado. Por exemplo, você pode ter HTMLem seu arquivo Global.asa mais ele será ignorado. Do mesmomodo, você não tem acesso ao método Response.Write.

• Não é necessário "lock" e "unlock" o objeto Application na rotinaApplication_onStart pois isto é executado uma única vez.

• Quando alterações são gravadas no arquivo Global.asa, oservidor termina todo processamento da aplicação correnteantes de recompilar o arquivo Global.asa. Durante essetempo o servidor não aceita solicitações adicionais e retornauma mensagem de erro indicando que a solicitação não podeser processada enquanto a aplicação estiver sendo reiniciada.Após todas as solicitações do usuário corrente tiverem sidoprocessadas, o servidor elimina todas as sessões ativas,chamando o evento Session_OnEnd para cada sessão queele elimina, fecha a aplicação e chama o eventoApplication_OnEnd. O arquivo Global.asa é entãorecompilado. Subseqüentes solicitações de usuário iniciarãoa aplicação e criarão novas sessões.

• Procedures declaradas no arquivo Global.asa somente podemser chamadas pelos scripts associados com os eventosApplication_OnStart, Application_OnEnd,Session_OnStart, e Session_OnEnd. Elas não estãodisponíveis para as páginas ASP em uma aplicação ASP.

Page 21: Rubens Prates - Guia de Consulta rápida ASP

20

Objeto ApplicationO objeto Application representa a própria aplicação ASP, que édefinida como o conjunto de todos os arquivos .asp em um diretóriovirtual e seus subdiretórios.O objeto Application é criado pelo servidor web no momento daprimeira solicitação de página do primeiro usuário da aplicação, epermanece na memória até que o servidor web seja desativado.Existe somente um objeto Aplication para todos os usuários daaplicação ASP, que é usado para armazenamento de variáveis ereferências a objetos disponíveis para todas as páginas da aplicação.Uma variável armazenada no objeto Application pode ser lida emodificada por qualquer página dentro da aplicação e por qualquerusuário. Por exemplo:

< %

Application.Lock

Application("minhavar") = "Alô mundo"

Application.Unlock

Response.Write Application("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 objetoApplication.As referências a instâncias de objetos criados com o elemento<OBJECT> são armazenadas na coleção StaticObjects do objetoApplication.

Sumário do Objeto Application

ColeçõesContentsStaticObjects

MétodosContents.RemoveContents.RemoveAllLock()Unlock()

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

Objetos Intrínsecos do ASP Application

Page 22: Rubens Prates - Guia de Consulta rápida ASP

21

Coleções do objeto Application

Contents

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

Application.Contents(nome_item)

Propriedades da coleção ContentsComo todas as coleções ASP, a coleção Contents tem asseguintes propriedades: Item, Key e Count.

Item

Define ou retorna o valor de um elemento específico na coleçãoContents. O elemento pode ser especificado através de umnú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êsexemplos 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çãoContents. Utilizando o exemplo da propriedade Item, então:

strNomeChave = Application.Contents.Key(1)

retorna "editora", e o exemplo abaixostrValorChave = Application.Contents.Key("editora")

retorna "novatec".

Count

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

Objetos Intrínsecos do ASP Application

Page 23: Rubens Prates - Guia de Consulta rápida ASP

22

Exemplo da utilização de coleções

< %

Application(“nome”) = “Guia de ASP”

Application(“data”) = “05/01/2000”

Application(“autor”) = “Rubens Prates”

Set Application(“Obj1”) = Server.CreateObject(“ADODB.Connection”)

For Each Item in Application.Contents

If IsObject( Application.Contents(Item)) Then

Response.Write Item & “ é um objeto.<BR>”

Else

Response.Write Item & “=” & Application.Contents(Item) & “<BR>”

End If

Next

% >

StaticObjects

A coleção StaticObject do objeto Application pode armazenarinstâncias de objetos criadas com o elemento <OBJECT>.

Application.StaticObjects(nome_item)

Propriedades da coleção StaticObjectsComo todas as coleções ASP, a coleção StaticObjects tem asseguintes propriedades: Item, Key e Count. Para mais detalhesveja a coleção Contents na página 21.

Exemplo

—————arquivo Global.asa——————-

<OBJECT RUNAT=Server SCOPE=Application ID=ObjInfo

PROGID=”MSWC.MyInfo”>

</OBJECT>

<OBJECT RUNAT=Server SCOPE=Application ID=ObjConexao

PROGID=”ADODB.Connection”>

</OBJECT>

<OBJECT RUNAT=Server SCOPE=Application ID=ObjAdRot

PROGID=”MSWC.ADRotator”>

</OBJECT>

—————arquivo.asp————————-

< %

For Each obj In Application.StaticObjects

Response.Write obj & “<BR>”

Next

\%>

Objetos Intrínsecos do ASP Application

Page 24: Rubens Prates - Guia de Consulta rápida ASP

23

Métodos do objeto Application

Contents.Remove Remove uma variável da coleção Application.Contents. Não épossível remover variáveis da coleçãoApplication.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 dacoleção Contents do objeto Application. Para retirar o bloqueioutilize Unlock.Exemplo:

Application.Lock< %

Application.Lock

Application("NumVisitas") = Application("NumVisitas") + 1

Application.Unlock

% >

Esta página da aplicação já foi visitada

<%= Application("NumVisitas") %> vezes.

Unlock

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

Application.Unlock

Eventos do objeto Application

Application_OnEnd

O evento OnEnd ocorre quando a Application é encerrada. Ocó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 primeiravez. O código para este evento deve ser colocado no arquivoGlobal.asa. Para mais detalhes veja a página 18.

Objetos Intrínsecos do ASP Application

Page 25: Rubens Prates - Guia de Consulta rápida ASP

24

Objetos Intrínsecos do ASP ASPError

Objeto ASPError (ASP 3.0)O objeto ASPError é usado para obter informações sobre um erroocorrido em uma página ASP. O objeto ASPError é retornado pelométodo Server.GetLastError.

Sumário do Objeto ASPError

PropriedadesASPCodeASPDescriptionCategoryColumnDescriptionLineNumberFileSource

Propriedades do objeto ASPError

ASPCode Retorna o código do erro gerado pelo servidor IIS.

ASPError.ASPCode ()

Código Significado

ASP 0100 Out of memoryASP 0101 Unexpected errorASP 0102 Expecting string inputASP 0103 Expecting numeric inputASP 0104 Operation not allowedASP 0105 Index out of rangeASP 0106 Type MismatchASP 0107 Stack OverflowASP 0115 Unexpected errorASP 0177 Server.CreateObject FailedASP 0190 Unexpected errorASP 0191 Unexpected errorASP 0192 Unexpected errorASP 0193 OnStartPage FailedASP 0194 OnEndPage FailedASP 0240 Script Engine ExceptionASP 0241 CreateObject ExceptionASP 0242 Query OnStartPage Interface Exception

ASPDescription

Retorna uma descrição detalhada do erro, se for um erro relacionadocom ASP.

ASPError.ASPDescription ()

Page 26: Rubens Prates - Guia de Consulta rápida ASP

25

Objetos Intrínsecos do ASP ASPError

Category Indica a fonte do erro: IIS, linguagem de scripting ou umcomponente.

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 processadoquando ocorreu o erro.

ASPError.File ()

Source

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

ASPError.Source ()

Page 27: Rubens Prates - Guia de Consulta rápida ASP

26

Objeto ObjectContextO objeto ObjectContext é utilizado para encerrar ou abortar umatransaçã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é quea transação seja encerrada com sucesso ou falhe.As transações em uma aplicação ASP eram controladas, até o ASP2.0, pelo MTS (Microsoft Transaction Server), que a partir doWindows 2000, foi incorporado à tecnologia COM+. O MTScontinua entretanto sendo suportado nas versões anteriores aoWindows 2000.

Sumário do Objeto Request

EventosOnTransactionAbortOnTransactionCommit

MétodosSetAbortSetComplete

Eventos do objeto ObjectContext

OnTransactionAbort Ocorre quando uma transação for abortada. A subrotina associadaao evento OnTransactionAbort é executada, se tiver sidoespecificada no script.

OnTransactionCommit

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

Métodos do objeto ObjectContext

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

ObjectContext.SetAbort

SetComplete

Indica que uma transação foi completada com sucesso. Aciona oevento OnTransactionCommit. A chamada para SetCompletenão significa que a transação inteira está completa. Cadacomponente chamado no script deve também chamar o métodoSetComplete. Se SetComplete não for chamado, a transaçãosó será considerada encerrada após todo o código ter sidoprocessado sem qualquer chamada para SetAbort.ObjectContext.SetComplete

Objetos Intrínsecos do ASP ObjectContext

Page 28: Rubens Prates - Guia de Consulta rápida ASP

27

Objeto RequestO objeto Request fornece acesso às informações passadas, nasolicitação (request) do browser ao servidor. Essas informações sãoarmazenadas nas coleções do objeto Request.

Sumário do Objeto Request

ColeçõesClientCertificateCookiesFormQueryStringServerVariables

PropriedadeTotalBytes

MétodoBinaryRead

Coleções do objeto RequestTodas as variáveis podem ser acessadas diretamente chamandoRequest(variável) sem o nome da coleção. Nesse caso, o servidorweb pesquisa as coleções na seguinte ordem:

1. QueryString2. Form3. Cookies4. ClientCertificate5. ServerVariablesSe uma variável existe com mesmo nome em mais de uma coleção, oobjeto Request retorna a primeira instância encontrada. Recomenda-se que quando se referir a membros de uma coleção utilizar o nomecompleto; isto faz com que o servidor localize um item mais rapidamente.Por exemplo, utilize Request.ServerVariables(AUTH_USER) emvez de Request(AUTH_USER).

ClientCertificate

A coleção ClientCertificate contêm os valores dos campos docertificado digital do cliente enviado na solicitação (request)HTTP. Certificados digitais possibilitam transações eletrônicasseguras e são enviados pelo browser cliente para o servidor webquando 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.

Objetos Intrínsecos do ASP Request

Page 29: Rubens Prates - Guia de Consulta rápida ASP

28

Flags Existem duas flags que fornecem informaçõesadicionais sobre o certificado do cliente. Necessitada inclusão do arquivo cervbs.inc. A flagceCertPresent indica que um certificado do clienteestá presente. A flag ceUnrecognizedIssuer

indica que o certificado digital do cliente foi atribuídopor uma autoridade de certificação desconhecida.

Issuer Um string contendo informações sobre o emissordo certificado digital do cliente. Se o parâmetroSubChave não for especificado, a utilização dachave Issuer retorna uma lista de todos os valoresde subcampos Issuer separados por vírgulas.

SerialNumber Representação ASCII dos bytes hexadecimais donúmero serial da certificação.

Subject Uma lista de strings delimitados por vírgulas quefornecem informações sobre o proprietário docertificado digital.

ValidFrom Data inicial da validade do certificado.ValidUntil Data de expiração do certificado.

SubChave O argumento opcional SubChave é um sufixoadicionado aos campos Issuer ou Subject. Porexemplo, 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çãoS Estado (ou provincia) do Subject ou Issuer.T Cargo do Subject ou Issuer.

Exemplo

<HTML>

<HEAD>

</HEAD>

<BODY>

Este certificado é válido de

<%= Request.ClientCertificate(“ValidFrom”) %> até

<%= Request.ClientCertificate(“ValidUntil”) %>

</BODY>

</HTML>

Propriedades da coleção ClientCertificateComo todas as coleções ASP, a coleção ClientCertificate temas seguintes propriedades: Item, Key e Count. Para maisdetalhes veja a coleção Contents na página 21.

Objetos Intrínsecos do ASP Request

Page 30: Rubens Prates - Guia de Consulta rápida ASP

29

Cookies

A coleção Cookies contêm os valores dos cookies enviados pelobrowser cliente na solicitação (request) HTTP ao servidor web.Um cookie é um pequeno arquivo texto fornecido pelo servidorweb e armazenado no computador do cliente, utilizado paraidentificar as sessões de cada cliente conectado ao seu servidorweb. Mais informações sobre cookies podem ser obtidas emwww.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.

ExemploExibe os valores do cookie recebido na request HTTP:< %

For Each strItem In Request.Cookies

Response.Write strItem & “ = “ & Request.Cookies(strItem) & “<BR>”

If Request.Cookies(strItem).HasKeys Then

For Each strSubitem In Request.Cookies(strItem)

Response.Write “->” & strItem & “(“ & strSubitem & “) = “ & _

Request.Cookies(strItem)(strSubitem) & “<BR>”

Next

End If

Next

% >

Propriedades da coleção CookiesComo todas as coleções ASP, a coleção Cookies tem as seguintespropriedades: Item, Key e Count. Para mais detalhes veja acoleção Contents na página 21.

Form

A coleção Form contém os valores dos elementos de um formulárioenviados no corpo (body) da solicitação (request) HTTP, usandoo 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 eRequest.Form(elemento).Count.

Count Número de valores do elemento.

Objetos Intrínsecos do ASP Request

Page 31: Rubens Prates - Guia de Consulta rápida ASP

30

ExemploConsidere o seguinte formulário:

<FORM ACTION = “submit.asp” METHOD = “POST”>

<P>Nome: <INPUT NAME = “nome” SIZE = 48>

<P>Qual é a sua cerveja preferida: <SELECT NAME = “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”) %>.

Sua cerveja preferida é <%= Request.Form(“cerveja”) %>.

O resultado seria:Benvindo, Joel. Sua cerveja preferida é Brahma.

Propriedades da coleção FormComo todas as coleções ASP, a coleção Form tem as seguintespropriedades: Item, Key e Count. Para mais detalhes veja acoleção Contents na página 21.

QueryString

A coleção QueryString contém os valores das variáveis enviadasno query string da solicitação (request) HTTP, usando o métodoGET. Query string é um string anexado ao URL usado para oenvio de pequenos volumes de dados ao servidor.A query string é especificada após o sinal de (?), contendo paresde nomes e valores de variáveis, separados por &. Os espaços sãosubstituídos pelo sinal de "+" dentro de valores.Diferentes processos podem gerar uma query string, tais comouma tag <A HEF>, a submissão de um formulário ou a digitaçãode uma consulta na caixa de endereço do browser. Por exemplo,a tag:

<A HREF= “exemplo?string=isto é um exemplo”>exemplo string</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 eRequest.Querystring(variável).Count.

Count Número de valores do parâmetro.

Objetos Intrínsecos do ASP Request

Page 32: Rubens Prates - Guia de Consulta rápida ASP

31

ExemploConsidere o seguinte formulário:

<FORM ACTION = “submit.asp” METHOD = “GET”>

<P>Nome: <INPUT NAME = “nome” SIZE = 48>

<P>Qual é a sua cerveja preferida: <SELECT NAME = “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”) %>.

Sua cerveja preferida é <%= Request.QueryString(“cerveja”) %>.

O resultado seria:Benvindo, Joel. Sua cerveja preferida é Brahma.

Propriedades da coleção QueryStringComo todas as coleções ASP, a coleção QueryString tem asseguintes propriedades: Item, Key e Count. Para mais detalhesveja a coleção Contents na página 21.

ServerVariables

Uma coleção dos valores do header HTTP enviados na solicitação(request) do browser cliente para o servidor, mais os valores devariáveis de ambiente do servidor web. Cada vez que uma páginaASP é acessada, o servidor web cria variáveis de ambiente cominformações sobre o browser, o servidor web e a página ASP queestá sendo acessada.

strValor = Request.ServerVariables("nome")

Parâmetro Descrição

nome Nome do elemento da coleção ServerVariables. Veja napágina 122 a lista dos possíveis valores.

Exemplo

< %

EnderecoIP = Request.ServerVariables(“REMOTE_ADDR”)

Response.Write “Seu endereço IP é “ & EnderecoIP

% >

Propriedades da coleção ServerVariablesComo todas as coleções ASP, a coleção ServerVariables tem asseguintes propriedades: Item, Key e Count. Para mais detalhesveja a coleção Contents na página 21.

Objetos Intrínsecos do ASP Request

Page 33: Rubens Prates - Guia de Consulta rápida ASP

32

Propriedade do objeto Request

TotalBytes

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

Var = Request.TotalBytes

Método do objeto Request

BinaryRead

O método BinaryRead lê um número de bytes diretamente docorpo (body) da solicitação (request) HTTP enviada pelo clientecomo parte de um HTTP Post. Esse método obtém os dados docliente e armazena-os em um SafeArray. Um SafeArray é umarray especial que contém, além de seus itens, o número dedimensõ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.

Objetos Intrínsecos do ASP Request

Page 34: Rubens Prates - Guia de Consulta rápida ASP

33

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

Sumário do Objeto Response

ColeçãoCookies

PropriedadesBufferCacheControlCharsetContentTypeExpiresExpiresAbsoluteIsClientConnectedPICSStatus

MétodosAddHeaderAppendToLogBinaryWriteClearEndFlushRedirectWrite

Coleção do objeto Response

Cookies

A coleção Cookies é usada para enviar um cookie para o browsercliente. 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 dacoleção Cookies devem ser enviados antes que qualquer códigoHTML seja enviado para o browser cliente, exceto seResponse.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"

Objetos Intrínsecos do ASP Response

Page 35: Rubens Prates - Guia de Consulta rápida ASP

34

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 cookiesomente para páginas no domínio especificado.

Expires Data em que o cookie expira e é descartado no computadordo cliente. Se não for especificado, o cookie residirá nocomputador somente durante a sessão do cliente.

HasKeys Retorna um valor booleano (True/False) indicando se ocookie contém campos.

Path Indica o diretório virtual para onde o cookie deve serenviado. Para enviar o cookie para todas as páginas dosite utilize Path="/". Se não for especificado, assume opath da aplicação ASP corrente.

Secure Indica que o cookie deve ser enviado somente se obrowser cliente estiver utilizando Secure Sockets Layer(SSL) (True/False).

Exemplo:

< %

'Envia um cookie para o browser cliente

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 únicoitem. Esses subitens podem ser acessados individualmente. Porexemplo:

< %

‘Envia um cookie com subitens para o browser cliente

Response.Cookies(“Usuario”)(“Id”) = “Joel”

Response.Cookies(“Usuario”)(“Senha”) = “olddog”

Response.Cookies("Usuario").Path = "/"

Response.Cookies("Usuario").Expires = DateAdd("m", 3, Now)

% >

Informações adicionais sobre cookiesOs cookies são armazenados como arquivos de texto, seu nomeidentifica o usuário e o site. No browser Internet Explorer oscookies são gravados no subdiretório Cookies do Windows, docomputador do usuário. Para visualizar o conteúdo de um cookie,clique com o botão direito do mouse nele e selecione Open nomenu de contexto. O usuário pode desabilitar o recebimento decookies, alterando a configuração do seu browser.

Propriedades da coleção CookiesComo todas as coleções ASP, a coleção Cookies tem as seguintespropriedades: Item, Key e Count. Para mais detalhes veja acoleção Contents na página 21.

Objetos Intrínsecos do ASP Response

Page 36: Rubens Prates - Guia de Consulta rápida ASP

35

Propriedades do objeto Response

Buffer Determina se a saída de uma página ASP deve ser colocada em umbuffer até que todos os scripts na página sejam processados, ouaté que os métodos Flush ou End serem executados. Por alterarvalores do header HTTP da resposta, deve ser definida antes quequalquer saída tenha sido enviada ao browser cliente, a não ser quea resposta esteja buferizada.Response.Buffer = blnSetting

Parâmetro Descrição

True Indica que a saída da página será colocado em um bufferaté que todo o script da página corrente tenha sidoprocessado ou até que o método Flush ou End do objetoResponse tenha sido chamado (default no ASP 3.0).

False Não coloca no buffer. A saída é enviada imediatamente aobrowser cliente após cada linha criada e introduzida nostream HTML (default no ASP 2.0).

CacheControl

Determina se servidores proxy devem armazenar as páginas ASPem cache. Um servidor proxy é usado para acelerar a obtenção depáginas, mantendo uma cópia local da página em cache. Aspropriedades Response.Expires e Response.ExpiresAbsolutepodem ser utilizadas para definir a hora e/ou data limite daexistência do cache. Por alterar valores do header HTTP daresposta, deve ser definida antes que qualquer saída tenha sidoenviada ao browser cliente, a não ser que a resposta estejabuferizada.

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. Onome do character set é adicionado ao final do header "content-type" no objeto Response. Por alterar valores do header HTTPda resposta, deve ser definida antes que qualquer saída tenha sidoenviada ao browser cliente, a não ser que a resposta estejabuferizada.

Response.Charset (strNomeCharset)

Parâmetro Descrição

strNomeCharset String correspondente ao character set (default=ISO-LATIN-1).

Exemplo

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

Objetos Intrínsecos do ASP Response

Page 37: Rubens Prates - Guia de Consulta rápida ASP

36

ContentType

Define o valor do item Content-Type no header HTTP enviadopara o browser cliente. Informa ao browser cliente o tipo deconteúdo enviado no corpo (body) na resposta do servidor, porexemplo, se é texto ou imagem. Isto permite ao browser determinarse ele pode exibir o arquivo ou é necessário chamar outraaplicação.Por alterar valores do header HTTP da resposta, deveser definida antes que qualquer saída tenha sido enviada aobrowser 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 MIMEpadrão, no formato tipo/subtipo. A parte tipo do valorrepresenta o conteúdo geral e o subtipo representa oconteúdo específico (default=text/html).

Exemplo

< %

if tipodados = "jpg" Then

Response.ContentType = "image/JPEG"

Else

Response.ContentType = "text/plain"

End If

% >

Expires

Especifica a quantidade de tempo (em minutos) que a páginacorrente deve ser mantida no cache do computador cliente. Se ousuário retornar para essa página dentro do tempo especificado,a versão em cache da página será exibida. Por alterar valores doheader HTTP da resposta, deve ser definida antes que qualquersaída tenha sido enviada ao browser cliente, a não ser que aresposta esteja buferizada.

Response.Expires [= intNumMinutos]

Argumento Descrição

intNumMinutos Número de minutos que o browser cliente deve deixarno cache a página corrente. O valor zero força obrowser cliente a solicitar novamente a página doservidor toda a vez que o cliente navegue pela página.

ExpiresAbsolute

Especifica que a página corrente deve ser mantida no cache docomputador cliente até a data e hora especificados. Se o usuárioretornar para esta página antes desta data e hora, a versão em cacheda página será exibida. Por alterar valores do header HTTP daresposta, deve ser definida antes que qualquer saída tenha sidoenviada ao browser cliente, a não ser que a resposta estejabuferizada.

Response.ExpiresAbsolute [=[data] [hora]]

Objetos Intrínsecos do ASP Response

Page 38: Rubens Prates - Guia de Consulta rápida ASP

37

Parâmetro Descrição

data Data após a qual a página corrente não deve permanecerno cache (formato mês/dia/ano). Se a data não forespecificada, a página expirará no horário especificado nomesmo dia em que script for executado.

hora Hora na data especificada a qual a página corrente nãodeve permanecer no cache. Se não for especificado, apágina expirará exatamente à meia-noite da dataespecificada.

Exemplo

< %

Response.ExpiresAbsolute=#February 20, 2000 18:00:00#

% >

IsClientConnected

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

Response.IsClientConnected

Exemplo

< %

if Response.IsClientConnected Then

código...

else

Response.End

End If

% >

Pics

Adiciona um label PICS ao header HTTP response. PICS é umsistema de classificação usado voluntariamente por sites paraclassificar o conteúdo da página em termos de violência, sexo,linguagem inapropriada, etc. Por alterar valores do header HTTPda resposta, deve ser definida antes que qualquer saída tenha sidoenviada ao browser cliente, a não ser que a resposta estejabuferizada. Se o label possui aspas embutidas, estas devem sersubstituídas por & chr(34) &. Mais informações sobre PICSpodem ser obtidas em www.rsac.org.

Response.Pics (strLabelPICS)

Objetos Intrínsecos do ASP Response

Page 39: Rubens Prates - Guia de Consulta rápida ASP

38

Status

Especifica o valor do status e da mensagem enviada para o clientenos headers HTTP da resposta para indicar o resultado doprocessamento da página (erro ou sucesso). Quando um servidorresponde a uma solicitação (request) HTTP, a primeira linharetornada é a linha de status. Por alterar valores do header HTTPda resposta, deve ser definida antes que qualquer saída tenha sidoenviada ao browser cliente, a não ser que a resposta estejabuferizada.

Response.Status = strStatus

Argumento Descrição

strStatus Valor string contendo um código de três dígitos que indicao status da solicitação (request) HTTP e uma brevedescrição do código de status. Veja na página 121 oscódigos de status.

Exemplo

< %

EnderecoIP = Request.ServerVariables(“REMOTE_ADDR”)

If EnderecoIP <> “208.5.64.223” Then

Response.Status = “403 Access Forbidden”

Response.Write Response.Status

Response.End

End If

% >

Métodos do objeto Response

AddHeader Adiciona um header HTTP à resposta enviada ao browser cliente.Não substitui um header existente com mesmo nome, e apósadicionado, não pode ser removido. Por alterar valores do headerHTTP da resposta, deve ser executado antes que qualquer saídatenha sido enviada ao browser cliente, a não ser que a respostaesteja buferizada.

Response.AddHeader strNome,strValor

Parâmetro Descrição

strNome Nome do header a ser adicionado. Pode ser um nomepredefinido ou criado pelo próprio usuário.

strValor Valor inicial do novo header.

Exemplo

< %

Response.Status = "302 Object Moved"

Response.AddHeader "Location", "novopath/novapag.asp"

% >

Objetos Intrínsecos do ASP Response

Page 40: Rubens Prates - Guia de Consulta rápida ASP

39

AppendToLog

Acrescenta um string (sem vírgulas) no final de uma entrada nolog do servidor web para a solicitação (request) corrente docliente. O servidor IIS permite registrar, em um arquivo, aatividade do usuário. Esse arquivo pode ser um arquivo texto ouum banco de dados ODBC. Cada entrada no log contém: data/horada visita do usuário, páginas solicitadas, endereço IP do clientee o tempo de conexão com o servidor. Os arquivos de log do IISestão localizados emwinnt\system32\LogFiles\W3svc1\ex[data].log.

Response.AppendToLog strEntradaLog

Parâmetro Descrição

strEntradaLog String a ser acrescentado. Até 80 caracteres, não podeconter vírgulas, porque os campos do log do IIS sãodelimitados por vírgulas.

Exemplo

< %

Response.AppendToLog(“Erro no Processamento”)

% >

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,

Erro no Processamento

BinaryWrite

Envia dados binários diretamente para a saída HTTPcorrente semqualquer conversão de character-set. Utilizado para enviarinformação não-string, tais como dados binários requeridos poruma aplicação cliente ou os bytes que compõem um arquivoimagem.

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 seResponse.Buffer não estiver definido como True.

Response.Clear

Objetos Intrínsecos do ASP Response

Page 41: Rubens Prates - Guia de Consulta rápida ASP

40

End Interrompe o processamento do script, e envia o resultadocorrente para o browser cliente, sem processar o resto do arquivoASP. 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 “Esta linha não será mostrada”

% >

Flush

Envia o conteúdo do buffer de saída imediatamente ao browsercliente. Ocorrerá erro de run-time se Response.Buffer nãoestiver 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, retornaum HTTP status "302 Object Moved" indicando a ocorrência deum redirecionamento.Nenhuma saída deve ser executada antes deuma instrução Response.Redirect.Response.Redirect(strURL)

Parâmetro Descrição

strURL String com o endereço URL da página para onde o browsercliente é redirecionado.

Exemplo

< %

If Session(“IDCliente”) = “” Then

Response.Redirect “Registro.asp”

End If

% >

Objetos Intrínsecos do ASP Response

Page 42: Rubens Prates - Guia de Consulta rápida ASP

41

Objetos Intrínsecos do ASP Response

Write Envia informações diretamente para a saída HTTP corrente. Podeser utilizado o atalho <%= vntDados %> no lugar deResponse.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 pordiante. 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> Tabelas das Server Variables </H1>

<TABLE border=0 width=90% align=center cellspacing=5>

< %

For each nome In Request.ServerVariables

Response.Write "<TR><TD>" & nome & "</TD><TD>"

Response.Write Request.ServerVariables(nome) & "</TD></TR>"

Next

% >

</TABLE>

</BODY>

</HTML>

Page 43: Rubens Prates - Guia de Consulta rápida ASP

42

Objeto ServerO objeto Server fornece acesso a métodos e propriedades doservidor.

Sumário do Objeto Server

PropriedadeScriptTimeout

MétodosCreateObjectExecuteGetLastErrorHTMLEncodeMapPathTransferURLEncode

Propriedade do Objeto Server

ScriptTimeout Define ou retorna a quantidade de tempo (em segundos) quescripts na página podem ser executados antes do servidor abortara execução da página. É normalmente utilizada para evitar asobrecarga do servidor com páginas com erros que podemocasionar loops (default=90 segundos).

Server.ScriptTimeout [=lngNumSegundos]

Exemplo

<% Server.ScriptTimeout = 150 %>

Métodos do Objeto Server

CreateObject

Cria uma instância de um objeto no servidor para uso em umapágina ASP. Uma vez instanciado, você pode acessar quaisquercoleções, eventos, métodos e proprieadades associadas com esseobjeto. Os objetos a serem instanciados devem estar instaladose 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 oobjeto que está sendo instanciado.

strProgID Identificação da classe do objeto que será instanciado.Este valor é encontrado no Registry e representa como aDLL do componente está registrada.

Exemplo

<% Set objConn = Server.CreateObject(“ADODB.Connection”) %>

Objetos Intrínsecos do ASP Server

Page 44: Rubens Prates - Guia de Consulta rápida ASP

43

Execute (ASP 3.0)

Interrompe a execução da página corrente e transfere o controlepara uma outra página. O ambiente corrente do usuário é carregadopara a nova página. Após aquela página ter sido executada, ocontrole volta para a página original e a execução continua nocomando seguinte ao método Execute. O método Execute ésimilar a uma chamada de procedure em muitas linguagens deprogramação.

Server.Execute(strUrl)Exemplo:< %

If blnUsaDHTML Then

Server.Execute(“DHTML.asp”)

Else

Server.Execute(“HTML.asp”)

End If

% >

GetLastError (ASP 3.0)

Retorna uma referência para um objeto ASPError que armazenadetalhes do último erro ocorrido no processamento da página. Poralterar valores do header HTTP da resposta, deve ser executadoantes que qualquer saída tenha sido enviada ao browser cliente,a não ser que a resposta esteja buferizada.

Server.GetLastError()

HTMLEncode

O método HTMLEncode aplica a sintaxe de codificação HTMLem um string. Caracteres especiais, tais como: < e > são convertidospara &lt; e &gt;, respectivamente.

Server.HTMLEncode(strHTMLString)

Parâmetro Descrição

strHTMLString String a ser codificado.

Exemplo

< %

Response.Write Server.HTMLEncode(“A tag para uma tabela é: <Table>”)

% >

Produz a saída:A tag para uma tabela é: &lt;Table&gt;

Objetos Intrínsecos do ASP Server

Page 45: Rubens Prates - Guia de Consulta rápida ASP

44

MapPath

O método MapPath mapeia um path virtual ou relativo para ocorrespondente diretório físico no servidor.

Server.MapPath(strPath)

Parâmetro Descrição

strPath Especifica o path virtual ou relativo a ser mapeado paraum diretório físico. Se path inicia com (/) ou (\), é assumidoser um path virtual completo. Caso contrário, é assumidoser um path relativo ao diretório que o arquivo .asp estásendo processado.

Exemplo

<HTML>

O path do arquivo teste.asp é:

<% Response.Write Server.MapPath(“teste.asp”) %>

</HTML>

Saída do script:O path deste arquivo é D:\Inetpub\wwwroot\teste.asp

Transfer (ASP 3.0)

Interrompe a execução da página corrente e transfere o controlepara uma outra página. O ambiente corrente do usuário é carregadopara a nova página. Ao contrário do método Execute, a execuçãonão é retornada para a página original.

Server.Transfer(strUrl)

Exemplo

< %

If Session(“blnVendaRealizada”) Then

Server.Transfer(“/Pedido/Agradece.asp”)

Else

Server.Transfer(“/Pedido/MaisInfo.asp”)

End if

% >

URLEncode

O método URLEncode converte um string utilizando as regrasde codificação URL, para que possa ser enviado em linha deendereç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

Objetos Intrínsecos do ASP Server

Page 46: Rubens Prates - Guia de Consulta rápida ASP

45

Objeto SessionUm objeto Session armazena informações para uma sessão deusuário. A sessão de usuário inicia no momento que o usuáriosolicita a primeira página do site. Variáveis armazenadas no objetoSession não são descartadas quando o usuário passa para outraspáginas da aplicação; em vez disso, essas variáveis persistem paraa sessão inteira do usuário. O servidor destrói o objeto Sessionquando o tempo da sessão expira ou é abandonada.As variáveis Session funcionam somente com browsers quesuportam cookies. Se o usuário desabilitar os cookies em seubrowser, então todas as variáveis Session do usuário serão perdidastão logo uma nova página for solicitada. Por default, o objetoSession é destruído após a sessão ficar inativa por 20 minutos.O seguinte script mostra como criar uma variável Session chamadaminhavar com o valor “Alô mundo”:

Session( “minhavar” ) = “Alô mundo”

Após a variável minhavar ter sido criada, você pode exibí-la emqualquer página subseqüente usando o seguinte comando:

Response.Write Session( “minhavar” )

Sumário do Objeto Session

ColeçõesContentsStaticObjects

PropriedadesCodePageLCIDSessionIDTimeout

MétodosContents.RemoveContents.RemoveAllAbandon

EventosonStartonEnd

Coleções do Objeto Session

Contents

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

Session.Contents(nome_item)

Objetos Intrínsecos do ASP Session

Page 47: Rubens Prates - Guia de Consulta rápida ASP

46

Propriedades da coleção ContentsComo todas as coleções ASP, a coleção Contents tem asseguintes propriedades: Item, Key e Count.

Item Define ou retorna o valor de um elemento específico na coleçãoContents. O elemento pode ser especificado através de umnú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êsexemplos 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çãoContents. Utilizando o exemplo da propriedade Item, então:

strNomeChave = Session.Contents.Key(1)

retorna "editora", e o exemplo abaixostrValorChave = Session.Contents.Key("editora")

retorna "novatec".

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

Exemplo da utilização de coleções

< %

Session(“nome”) = “Guia de ASP”

Session(“data”) = “05/01/2000”

Session(“autor”) = “Rubens Prates”

Set Session(“Obj1”) = Server.CreateObject(“ADODB.Connection”)

For Each Item in Session.Contents

If IsObject( Session.Contents(Item)) Then

Response.Write Item & “ é um objeto.<BR>”

Else

Response.Write Item & “=” & Session.Contents(Item) & “<BR>”

End If

Next

% >

Objetos Intrínsecos do ASP Session

Page 48: Rubens Prates - Guia de Consulta rápida ASP

47

StaticObjects

A coleção StaticObject do objeto Session pode armazenarinstâncias de objetos criadas com o elemento <OBJECT>.

Session.StaticObjects(nome_item)

Propriedades da coleção StaticObjectsComo todas as coleções ASP, a coleção StaticObjects tem asseguintes propriedades: Item, Key e Count. Para mais detalhesveja a coleção Contents na página 46.

Exemplo

—————arquivo Global.asa——————-

<OBJECT RUNAT=Server SCOPE=Session ID=ObjInfo

PROGID=”MSWC.MyInfo”>

</OBJECT>

<OBJECT RUNAT=Server SCOPE=Session ID=ObjConexao

PROGID=”ADODB.Connection”>

</OBJECT>

<OBJECT RUNAT=Server SCOPE=Session ID=ObjAdRot

PROGID=”MSWC.ADRotator”>

</OBJECT>

—————arquivo.asp————————-

< %

For Each obj In Application.StaticObjects

Response.Write obj & “<BR>”

Next

\%>

Propriedades do Objeto Session

CodePage

Especifica a página de código usado para exibir o texto enviadopara o browser cliente.

Session.CodePage(=Codepage)

LCID

Especifica o identificador de localização que será usado paraexibir o texto enviado para o browser cliente. Permite formatardatas, números e moeda de acordo com as especificações de cadapaís ou região. Por exemplo, o identificador para o Brasil é 1046.

Session.LCID intLCID

Objetos Intrínsecos do ASP Session

Page 49: Rubens Prates - Guia de Consulta rápida ASP

48

SessionID

Retorna o número de identificação de sessão para o usuáriocorrente. Esse número é usado para rastrear um usuário, e é geradopelo servidor web (através de um algorítmo complexo) naprimeira 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 doservidor web, o browser envia o cookie para o servidor, no headerHTTP da request, como forma de identificá-lo perante o servidor.O cookie somente é reinicializado quando o browser ou o servidorforem reinicializados.Se o browser não suportar cookies ou estiver com a opção decookies desabilitada, a propriedade SessionID não será enviadacomo parte do header HTTP da request, e portanto não poderáser utilizada para identificar o usuário.

Session.SessionID

Exemplo

<% Response.Write “Sua ID de sessão é “ & Session.SessionID %>

Saída:Sua ID de sessão é 465107831

Timeout Especifica o tempo máximo (em minutos) de inatividade de umasessão até que o servidor a considere encerrada (default=20minutos). Se o usuário não atualizar a imagem da página ousolicitar outra página no tempo especificado, a sessão é encerradaautomaticamente e os recursos liberados.

Session.Timeout [=número]

Métodos do Objeto Session

Contents.Remove Remove uma variável da coleção Session.Contents. Não épossível remover variáveis da coleção Session.StaticObjects.

Session.Contents.Remove (nome | índice)

Argumento Descrição

nome Nome do item a ser removido.índice Índice do item a ser removido.

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

Session.Contents.RemoveAll

Objetos Intrínsecos do ASP Session

Page 50: Rubens Prates - Guia de Consulta rápida ASP

49

Abandon

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

Session.Abandon

Eventos do Objeto Session

Session_OnEnd

O evento OnEnd ocorre quando a Session é encerrada. Aprocedure para este evento, se existir, deve ser colocada noarquivo 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 procedurepara este evento, se existir, deve ser colocada no arquivo Global.asada aplicação que contém a página solicitada. Para mais detalhesveja a página 18.

Objetos Intrínsecos do ASP Session

Page 51: Rubens Prates - Guia de Consulta rápida ASP

50

ADOADO (ActiveX Data Objects) é uma tecnologia complementar aoASP, fornecendo a interface com bancos de dados.ADO faz parte da suite de componentes MDAC (Microsoft DataAccess Components) incluída no pacote II 5.0 / ASP 3.0, e tambémem outros produtos da Microsoft. Você pode fazer o download daversão mais recente em http://www.microsoft.com/data/download.htm.A explicação completa do ADO exige um livro inteiro, o que éinviável nesse guia. Colocamos nessa página apenas um exemplo.Para mais informações veja o guia ADO desta mesma série.Sintaxe para instanciação do componente:

Set objADO = Server.CreateObject(“strProgID”)

Parâmetro Significado

ProgID ProgID do objeto ADO a ser instanciado.

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

msado15.dll Nome da DLL que contém os objetos ADO.adovbs.inc Contém declarações VBScript para todas as constantes

usadas pelo ADO.

Utilização do componenteVeja abaixo um exemplo de como listar os nomes dos produtos nobanco de dados Northwind, o banco de dados de exemplo éfornecido pela Microsoft no Access e SQL Server.

< %

Option Explicit

Response.Expires = 0

Dim objConn, objRs, strQuery, strConexao

Set objConn = Server.CreateObject("ADODB.Connection")

' necessita de uma conexão ODBC para o banco de dados Northwind

strConexao = "DSN=Northwind; Database=Northwind; UID=sa; PWD=;"

objConn.Open strConexao

strQuery = "SELECT Productname FROM Products ORDER BY ProductName

Set objRs = objConn.Execute(strQuery)

While Not objRs.EOF

Response.Write objRs("Productname") &

objRs.MoveNext

Wend

% >

Componentes do IIS ADO

Page 52: Rubens Prates - Guia de Consulta rápida ASP

51

Ad RotatorEsse componente controla a exibição rotativa de banners (imagenscom conteúdo publicitário) exibidos na página. Cada vez que umusuário abre ou recarrega a página, será exibido um novo bannerbaseado na informação contida no arquivo Rotator Schedule.Sintaxe para instanciação do componente:

Set objAdRot = Server.CreateObject("MSWC.AdRotator")

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Adrot.dll Nome da DLL que contém o componente Ad Rotator.Rotator Schedule Um arquivo texto com informações que o componente

Ad Rotator utiliza para gerenciar e exibir os banners.Página Redirect URL do arquivo de redirecionamento opcional. Pode

ser uma página ASP, uma DLL ou uma aplicação CGI.Normalmente inclui script para analisar o "query string"enviado pelo componente Ad Rotator, contabilizar asinformações sobre visitantes, e redirecionar o usuáriopara o URL associado com o anúncio que foi clicado.

Layout do arquivo Rotator ScheduleEsse arquivo consiste de duas seções, separadas por uma linhacontendo um asterisco (*): informações para todas as imagense informações de cada anúncio:

Informações para todas as imagensAplica-se a todos os banners na página.

Parâmetro Significado

REDIRECT Especifica o URL da página Redirect. Pode ser URLabsoluto ou relativo ao diretório virtual.

WIDTH Largura (em pixels) dos banners (default=60).HEIGHT Altura (em pixels) dos banners (default=440).BORDER Espessura (em pixels) da borda ao redor dos banners

(default=1). Pode ser substituído pela propriedade Border.

Informações de cada bannerContêm informações sobre cada banner na página. Todos oselementos de cada banner são opcionais. Coloque hifen (-) no lugarde um elemento omitido.

Elemento Significado

adURL URL do banner a ser exibido.adHomePageUrl URL para a homepage do anunciante para onde o

usuário será redirecionado quando clicar o banner.texto alternativo Texto a ser exibido quando o browser não suportar

imagens ou quando a opção de exibir imagens estiverdesabilitada.

peso relativo Um número que especifica o peso relativo desseanúncio. Todos os pesos de todos os anúncios sãosomados e o tempo de exibição é determinado pelaporcentagem do peso em relação ao total.

Componentes do IIS Ad Rotator

Page 53: Rubens Prates - Guia de Consulta rápida ASP

52

Exemplo do arquivo Rotator ScheduleREDIRECT contabiliza.asp

WIDTH 500

HEIGHT 80

BORDER 0

*

/imagens/tcpip.gif

http://www.novatec1.com/tcpip

Guia do TCP/IP

50

/imagens/php.gif

http://www.novatec1.com/php

Guia do PHP

50

Exemplo da Página Redirect< %

' contabiliza.asp

strUserName = Session("USERNAME")

strRemoteAddress = Request.ServerVariables("REMOTE_ADDR")

strURL = Request.QueryString("URL")

strBrowser = Session("UserBrowser")

'

' código para registrar as informações em um banco de dados

'

Response.Redirect strURL

% >

Utilização do componente Ad RotatorPara colocar os banners em seu site, crie uma instância do objetoantes de colocá-lo onde ele será exibido.

< %

Dim objAdRot

Set objAdRot = Server.CreateObject("MSWC.AdRotator")

% >

<HR>

<%= objAdRot.GetAdvertisement("rotsched.txt") %>

<HR>

Benvindo à página da Novatec. Por favor visite nossos patrocinadores.

Componentes do IIS Ad Rotator

Page 54: Rubens Prates - Guia de Consulta rápida ASP

53

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 é umhiperlink (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. Cadavez que o script é executado, tal quando o usuário abre ou recarregauma 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 RotatorSchedule relativo ao diretório virtual.

Componentes do IIS Ad Rotator

Page 55: Rubens Prates - Guia de Consulta rápida ASP

54

Browser CapabilitiesEsse componente permite determinar os recursos suportados pelosbrowsers clientes. Informa os recursos que cada browser suporta,baseado no arquivo browscap.ini, localizado no mesmo diretório dabrowscap.dll. Antes de você criar páginas super incrementadas, ébom lembrar que nem todos os browsers suportam recursos taiscomo: frames, som de fundo, applets Java e tabelas.Sintaxe para instanciação do componente:

Set objTipoBrowser = Server.CreateObject(“MSWC.BrowserType”)

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Browscap.dll Nome da DLL que contém o componente BrowserCapabilities.

Browscap.ini Arquivo texto com informações sobre os recursossuportados por um grande número de browsers.

Funcionamento do componenteQuando um browser se conecta a um servidor, ele envia um headerHTTP User Agent, que identifica o browser e o número de suaversão. O componente Browser Capabilities utiliza esse headerpara localizar uma entrada no arquivo Browscap.ini que correspondaa esse browser. Se for encontrada um associação, o componenteBrowser Capabilities assume as propriedades contidas no arquivoBrowscap.ini que coincide com o header User Agent. Se nãoencontrar uma associação, ele assume as propriedades default. Seo componente não encontrar uma associação e as propriedadesdefault não forem especificadas no arquivo Browscap.ini, ele definecada propriedade com o string "UNKNOWN".O arquivo Browscap.ini pode ser editado para incluir novosbrowsers, ou novos recursos para browsers existentes. É possívelobter o arquivo browscap.ini atualizado no sitewww.asptracker.com, ou em www.cyscape.com/browscap.Veja abaixo um pequeno fragmento do arquivo Browscap.ini criadopor Juan Llivre no site www.asptracker.

;MSIE 5.0

[IE 5.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

Componentes do IIS Browser Capabilities

Page 56: Rubens Prates - Guia de Consulta rápida ASP

55

Utilização do componente< %

Dim bc

Set bc = Server.CreateObject(“MSWC.BrowserType”)

% >

Nome do browser: <%= bc.browser %><p>

Versão do browser: <%= bc.version %><p>

<% if (bc.frames = TRUE) then %>

O browser permite frames<p>

<% else %>

O browser NÃO permite frames<p>

<% end if %>

<% if (bc.tables = TRUE) then %>

O browser permite tabelas<p>

<% else %>

O browser NÃO permite tabelas<p>

< %

end if

set bc=nothing

% >

Propriedades do componenteRelacionamos 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.

Componentes do IIS Browser Capabilities

Page 57: Rubens Prates - Guia de Consulta rápida ASP

56

Content LinkingO componente Content Linking cria tabelas de conteúdo parapáginas Web, e vincula-as sequencialmente como páginas de umlivro. Elimina a necessidade de ajustar os links manualmente quandoas páginas são adicionadas ou excluídas. Utiliza um arquivo textocom a lista de páginas e a ordem em que devem ser exibidas.Sintaxe para instanciação do componente:

Set objNextLink = Server.CreateObject(“MSWC.NextLink”)

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

NextLink.dll Nome da DLL que contém o componente ContentLinking.

Content Linking List Arquivo texto que reside no diretório virtual econtém uma lista de URLs de páginas, na ordemem que elas devem ser exibidas. Cada páginaocupa uma linha do arquivo.

Layout do arquivo Content Linking ListContém uma linha de texto para cada URL na lista. Cada linhatermina com um Carriage Return e cada item na linha é separado porum caractere TAB. Cada linha do arquivo tem a seguinte sintaxe:

URL_doc [descrição [comentário]]

Item Significado

URL_pag Path virtual ou relativo do documento web. Não podem serpaths físicos, nem URLs absolutos (que começam comhttp://, // ou \\).

descrição String opcional descrevendo a página.comentário String opcional contendo comentário sobre a página, e não

é visualizado pelo usuário.

Exemplo do arquivo Content Linking List

pagA.asp Introdução

pagB.asp Objetos intrínsecos

pagC.asp Componentes

pagD.asp Objetos de scritpting

Componentes do IIS Content Linking

Page 58: Rubens Prates - Guia de Consulta rápida ASP

57

Utilização do componenteO script abaixo cria uma tabela de conteúdo, usando uma lista nãoordenada:

<UL>

< %

Set NextLink = Server.CreateObject (“MSWC.NextLink”)

num_itens = NextLink.GetListCount (“nextlink.txt”)

For i=1 To num_itens

% >

<LI><A HREF=” <%= 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áginaanterior" a um arquivo HTML.

< %

Set NextLink = Server.CreateObject (“MSWC.NextLink”)

num_itens = NextLink.GetListCount("nextlink.txt")

pag_atual = NextLink.GetListIndex("nextlink.txt")

If (pag_atual > 1) Then

% >

<A HREF=” <%= NextLink.GetPreviousURL (“nextlink.txt”) %> “>

Página Anterior</A>

< %

End If

If (pag_atual <> num_itens) Then

% >

<A HREF=” <%= NextLink.GetNextURL (“nextlink.txt”) %> “>

Próxima Página</A>

<% End IF %>

O script acima pode ser colocado em um arquivo include (verpágina 16) que pode usado em todas as páginas que fazer parte dacadeia de links.

Componentes do IIS Content Linking

Page 59: Rubens Prates - Guia de Consulta rápida ASP

58

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 fizerparte 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 doque 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 fizerparte da lista, o URL da primeira página é retornado.

objNextLink.GetPreviousURL(strListaVinculo)

Componentes do IIS Content Linking

Page 60: Rubens Prates - Guia de Consulta rápida ASP

59

Componentes do IIS Content Rotator

Content RotatorO componente Content Rotator permite exibir automaticamentediferentes seções de código HTML em uma página. Cada vez queo usuário solicita a página, o objeto exibe uma seção de códigoHTML diferente, baseado na informação especificada em umarquivo texto, que contém diferentes seções de código HTML. Ocódigo HTML pode conter tags HTML que permitem exibirqualquer tipo de conteúdo: texto, imagens ou hiperlinks. Umexemplo de utilização é exibir uma dica do dia diferente na página,cada vez que o usuário visitar a página.Sintaxe para instanciação do componente:

Set objContRot = Server.CreateObject("MSWC.ContentRotator")

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Controt.dll Nome da DLL que contém o componente ContentRotator.

Content Schedule Um arquivo de texto contendo diferentes seçõesde código HTML que o componente utiliza eexibe para o cliente.

Layout do arquivo Content ScheduleConsiste de várias entradas para seções de código HTML. Cadaentrada consiste de duas partes: uma linha que começa com doissinais de porcentagem (%%) e contém um peso relativo e qualquercomentário e, uma segunda parte que contém o próprio códigoHTML.

Sintaxe de cada seção:%% [#intPeso] [//comentário]códigoHTML

Elemento Significado

% % Identifica o início de uma seção de código HTML.#intPeso Parâmetro opcional que especifica um número entre 0 e

10000 que indica o peso relativo dessa seção. Todos ospesos de todas as seções são somados e o tempo deexibição é determinado pela porcentagem do peso emrelação ao total.

//comentário Parâmetro opcional contendo comentários sobre a entrada.Não é exibido para o usuário.Se ocupar mais de uma linha,cada linha adicional deve iniciar com o delimitador (%%)seguindo pelo delimitador de comentário (//).

códigoHTML Código HTML exibido pelo objeto.Pode incluir uma oumais linhas.

Page 61: Rubens Prates - Guia de Consulta rápida ASP

60

Exemplo do arquivo Content Schedule%% // Na falta do peso assume o default 1

Conheça nossas publicações.

%% #2 // Comentários podem ocupar mais de uma linha.

%% // Linha adicional de comentário

%% // Ainda outra linha de comentário

<FONT FACE=”ARIAL,HELVETICA” SIZE=”2">

Conheça o último lançamento:

<H1>TCP/IP</H1>

</FONT>

%% #3 // Exibe uma imagem

<IMG SRC=”/imagens/logo.gif”>

% %

Localize a <A HREF=”livrarias.asp”>Livraria</A> mais próxima.

Utilização do componenteO exemplo abaixo exibe uma dica diferente cada vez que o usuáriovisualizar a página.

< %

Set ProxDica = Server.CreateObject(“MSWC.ContentRotator”)

Response.Write ProxDica.ChooseContent(“/Dicas/Content.txt”)

% >

Métodos do componente

ChooseContent Seleciona uma seção de código HTML do arquivo contentschedule, 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 ContentSchedule.

GetAllContent Exibe todas as seções de código HTML contidas no arquivocontent schedule. Cada seção é exibida separada por uma tag<HR>.

objContentRotator.ChooseContent(strContentSchedule)

Parâmetro Significado

strContentSchedule Especifica a localização do arquivo ContentSchedule.

Componentes do IIS Content Rotator

Page 62: Rubens Prates - Guia de Consulta rápida ASP

61

Componentes do IIS Counters

CountersO 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.txtque pode ser encontrado no mesmo diretório do componenteCounters.dll.Sintaxe para instanciação do componente:

Set objContadores= Server.CreateObject("MSWC.Counters")

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Counters.dll Nome da DLL que contém o componente Counters.Counters.txt Arquivo texto contendo os valores atuais dos contadores

adicionados ao objeto Counters do site. Pode conterqualquer número de valores de contadores e não deveser editado manualmente. Também não deve serrenomeado.

Utilização do componenteExiste uma única cópia do arquivo Counters.txt, que todas asinstâncias do componente devem utilizar. A maneira mais comumde utilização é criar uma instância no arquivo Global.asa, disponívelpara todas as páginas no site. Por exemplo:

<OBJECT ID="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 suaentrada do arquivo Counters.txt.

objContador.Remove(strNomeContador)

Set Cria um contador no componente Counters e adiciona umaentrada no arquivo Counters.txt. Retorna o novo valor docontador.

objContador.Set(strNomeContador, intValorContador)

Page 63: Rubens Prates - Guia de Consulta rápida ASP

62

Componentes do IIS Logging Utility

Logging Utility (ASP 3.0)O componente Logging Utility é usado para criar um objeto IISLog,que permite a leitura do arquivo de log do IIS. O usuário que estiveracessando o script que instancia o componente IISLog deve estarautenticado como um Administrador ou Operador no servidor ondeo IIS estiver sendo executado.Sintaxe para instanciação do componente:

Set obj = Server.CreateObject("MSWC.IISLog")

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Logscrpt.dll Nome da DLL que contém o componente Logging Utility.

Métodos do componente

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

AtEndOfLog()

CloseLogFiles

Fecha os arquivos de log abertos.

CloseLogFiles (modo)

Parâmetro Significado

modo Especifica quais arquivos serão fechados.ForReading=1 Fecha todos os arquivos que foram abertos para

leitura.ForWriting=2 Fecha todos os arquivos que foram abertos para

gravação.AllOpenFiles=32 Fecha todos os arquivos abertos.

OpenLogFiles

Abre um arquivo de log para leitura ou gravação.

OpenLogFile( nomearq, [modo], [serviço], [instância], [formato] )

Parâmetro Significado

nomearq Nome do arquivo de log a ser aberto.modo Parâmetro opcional indicando se o arquivo log será

aberto para leitura ou gravação.ForReading=1 Fecha todos os arquivos que foram abertos para leitura

(default).ForWriting=2 Fecha todos os arquivos que foram abertos para

gravação.serviço Parâmetro opcional indicando que somente os registros

do serviço especificado devem ser retornados.instância Parâmetro opcional indicando que somente os registros

da instância do serviço especificado devem serretornados.

formato Parâmetro opcional indicando o formato para arquivoslog abertos para gravação.

Page 64: Rubens Prates - Guia de Consulta rápida ASP

63

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 umoutro objeto IISLog.

WriteLogRecord( objIISLog )

Parâmetro Descrição

objIISLog O objeto indicando onde os registros de log devem serlidos.

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 devariantes forma um par chave-valor que descreve oheader HTTP.

Componentes do IIS Logging Utility

Page 65: Rubens Prates - Guia de Consulta rápida ASP

64

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 parao 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 apágina retornada.

var = TimeTaken

URIQuery

Retorna o parâmetro no query string acrescentado ao URL nasolicitação (request).

var = URIQuery

Componentes do IIS Logging Utility

Page 66: Rubens Prates - Guia de Consulta rápida ASP

65

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 acessandoo servidor anônimamente.

var = UserName

Win32Status Retorna o código de status Win32 retornado após o processamentoda solicitação (request).

var = Win32Status

Componentes do IIS Logging Utility

Page 67: Rubens Prates - Guia de Consulta rápida ASP

66

Componentes do IIS MyInfo

MyInfoO componente MyInfo cria um objeto MyInfo que fornece umrepositório para armazenamento persistente de pares nome/valor,ou qualquer outro tipo de informação string, acessíveis no siteinteiro. Os dados são armazenados no formato XML no arquivoMyInfo.xml localizado no diretório inetsrv do computador doservidor web. O componente MyInfo foi originalmente introduzidono Personal Web Server, para manter informações pessoaisfornecidas pelo administrador do servidor, através de um conjuntode propriedades predefinidas. No IIS essas propriedades não sãoimplementadas.

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Myinfo.dll Nome da DLL que contém o componente MyInfo.Myinfo.xml Arquivo onde o componente MyInfo armazena seus

valores. Não pode ser renomeado.

Utilização do componenteDeve ser criado um objeto MyInfo no arquivo Global.asa atravésdo seguinte código:

<OBJECT ID="objMyInfo"

RUNAT="Server"

SCOPE="Application"

PROGID="MSWC.MyInfo">

</OBJECT>

O componente MyInfo não têm propriedades ou métodos pordefault. Você pode criar novas propriedades MyInfo simplesmenteatribuindo um valor string à propriedade. Por exemplo:

< %

objMyInfo.Editora = “Novatec”

objMyInfo.Editor = “Rubens Prates”

objMyInfo.Endereco = "Rua Cons Moreira de Barros 1084"

% >

Como qualquer propriedade de componente, seu valor pode serretornado em qualquer página do site, através do código abaixo:

< %

strNomeEditora = objMyInfo.Editora

strNomeEditor = objMyInfo.Editor

strEndereco = objMyInfo.Endereco

% >

Page 68: Rubens Prates - Guia de Consulta rápida ASP

67

Componentes do IIS Page Counter

Page CounterO componente Page Counter cria um objeto PageCounter quemantém registro do número de vezes que uma página foi acessada.O componente Page Counter usa um objeto interno do IIS paracontar o número de vezes que cada página é acessada. Quando umainstância do objeto PageCounter é criada na página, o objeto obtémo valor do contador de acessos dessa página. O componenteperiodicamente grava os dados em um arquivo texto no servidor, eno caso de shutdown ou erro, o valor corrente não é perdido.Sintaxe para instanciação do componente:

Set obj = Server.CreateObject("MSWC.PageCounter")

Arquivos utilizados pelo componente

Arquivo/DLL Descrição

Pagecnt.dll Nome da DLL que contém o componente PageCounter.

Hit Count Data Arquivo contendo o valor corrente do contador deacessos para cada página na qual o objeto PageCounterestá sendo usado (nome default=hitcnt.cnt).

Métodos do componente

Hits Retorna o número de hits em uma página.

objPgCntr.Hits([strPathInfo)]

Parâmetro Significado

strPathInfo Path virtual e nome da página. Se não especificado, retornaa contagem para a página corrente.

Exemplo< %

Dim objPgCntr, lngHitCount

Set objPgCntr = Server.CreateObject("MSWC.PageCounter")

lngHitCount = objPgCntr.Hits("/Apps/Homepage.asp")

% >

A home page foi acessada <%=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, retornaa contagem para a página corrente.

Page 69: Rubens Prates - Guia de Consulta rápida ASP

68

Componentes do IIS Permission Checker

Permission CheckerO componente Permission Checker permite utilizar o modelo desegurança do Windows NT/2000 para determinar se um usuário tempermissão para ver um arquivo armazenado em um volume NTFS.Necessita das opções de segurança Basic Clear Text ou WindowsNT Challenge Response ativadas no servidor web.Sintaxe para instanciação do componente:

Set obj= Server.CreateObject("MSWC.PermissionChecker")

Arquivo utilizado pelo componente

Arquivo/DLL Descrição

Permchk.dll Nome da DLL que contém o componente PermissionChecker.

Método do componente

HasAcess Determina se o usuário corrente tem acesso a um arquivoespecificado no argumento strPath.

objPermChkr.HasAccess(strPath)

Parâmetro Significado

strPath Path relativo (físico ou virtual) para o arquivo no qual sequer determinar direito de acesso.

Exemplo< %

Dim objPermChkr, blnPermissao

Set objPermChkr = Server.CreateObject ("MSWC.PermissionChecker")

blnPermissao = objPermChkr.HasAccess("PagSeg.asp")

If blnPermissao Then

% >

<A HREF="PagSeg.asp"> Página de Segurança </A>

< %

End If

% >

Page 70: Rubens Prates - Guia de Consulta rápida ASP

69

Componentes do IIS Tools

ToolsO componente Tools fornece métodos para verificar a existência de umarquivo, processar um formulário HTML, ou gerar um número aleatório.Sintaxe para instanciação do componente:

Set objTools = Server.CreateObject("MSWC.Tools")

Arquivo utilizado pelo componente

Arquivo/DLL Descrição

Tools.dll Nome da DLL que contém o componente Tools.

Métodos do componente

FileExists Retorna -1 se o URL existe; caso contrário, retorna 0. Similar aFileSystemObject.FileExists.

Tools.FileExists(URL)

Exemplo<% If objTools.FileExists("qualquer.gif") Then

Response.Write "O arquivo qualquer.gif existe"

Else

Response.Write "O arquivo qualquer.gif não existe"

End If %>

ProcessForm Processa o conteúdo de um formulário submetido por umvisitante do site. Lê um arquivo template, insere nele as informaçõescriadas (provavelmente da coleção Request.Form) e, então gravao 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 processadosserão gravados.

Url_template URL relativo do arquivo que contém o template, ouinstruções para processamento dos dados. Podeconter scripts ASP entre delimitadores <% e %>, massão tratados como texto comum e copiado para oarquivo de saída. Entretanto, se estiverem entre <%%e %%>, serão executados quando o template estiversendo carregado.

ponto_inserção Parâmetro opcional indicando onde inserir, no arquivode saída, os dados processados. Esse parâmetro nãofoi 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 %>

Page 71: Rubens Prates - Guia de Consulta rápida ASP

70

Objeto DictionaryO objeto Dictionary armazena pares nome/valor (referenciadoscomo 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 itempara a chave "c".

< %

Dim carros

Set carros = CreateObject(“Scripting.Dictionary”)

cars.Add “a”, “Elba”

cars.Add “b”, “Fusca”

cars.Add “c”, “Audi”

Response.Write “O valor correspondente à chave ‘c’ é “ carros.Item(“c”)

% >

Saída do script:

"O valor correspondente à chave ‘c’ é Audi"

Propriedades do Objeto Dictionary

CompareMode (somente em VBScript)

Define ou retorna o modo utilizado na comparação de strings emum objeto Dictionary.

objetoDic.CompareMode [=compara]

Argumento Descrição

objetoDic Objeto Dictionary.compara Modo de comparação usado por funções tais como

StrComp.vbBinaryCompare=0 Comparação binária.vbTextCompare=1 Comparação textual.

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

objetoDic.Count

Item Define ou retorna um item para uma chave especificada em umobjeto 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.

Objetos de Scripting Run-Time Dictionary

Page 72: Rubens Prates - Guia de Consulta rápida ASP

71

Key Define ou retorna o valor de uma chave em um objeto Dictionary.

objetoDic.Key (chave) = novachave

Argumento Descrição

objetoDic Objeto Dictionary.

chave Chave existente.novachave Novo valor da chave.

Métodos do Objeto Dictionary

Add

Adiciona um par chave/item a um objeto Dictionary.

objetoDic.Add chave, item

Argumento Descrição

objetoDic Objeto Dictionary.chave Chave associada ao item que está sendo adicionado.item Item a ser adicionado.

Exists Retorna True se a chave especificada existir no objeto Dictionary;caso contrário, retorna False.

objetoDic.Exists (chave)

Argumento Descrição

objetoDic Objeto Dictionary.chave Chave a ser pesquisada no objeto Dictionary.

Items Retorna um array contendo todos os itens em um objetoDictionary.

objetoDic.Items

Keys Retorna um array contendo todas as chaves em um objetoDictionary.

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

Objetos de Scripting Run-Time Dictionary

Page 73: Rubens Prates - Guia de Consulta rápida ASP

72

Objeto FileSystemObject O bjeto FileSystemObject fornece acesso ao sistema de arquivos(“file system”) do computador. Permite acessar os arquivosexistentes e criar novos arquivos.Sintaxe para instanciação do objeto:

Set obj = CreateObject("Scripting.FileSystemObject")No exemplo abaixo é utilizado o método CreateTextFile do objetoFileSystemObject para criar um arquivo texto (c:\qqarq.txt) egravar um texto nele.

< %dim arqsys, arqtxt, nome, pathSet arqsys = CreateObject(“Scripting.FileSystemObject”)Set arqtxt = arqsys.CreateTextFile(“c:\qqarq.txt”, True)path = arqsys.GetAbsolutePathName(“c:\qqarq.txt”)nome = arqsys.GetFileName(path)arqtxt.WriteLine(“texto a ser gravado”)arqtxt.CloseIf arqsys.FileExists(path) ThenResponse.Write (“Seu arquivo, ‘“ & getname & “‘, foi criado.”)End If% >

Propriedades do objeto

Drives Retorna uma coleção Drives contendo todos os drives acessíveisem 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.

Objetos de Scripting Run-Time FileSystemObject

Page 74: Rubens Prates - Guia de Consulta rápida ASP

73

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 podeser 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”.

Objetos de Scripting Run-Time FileSystemObject

Page 75: Rubens Prates - Guia de Consulta rápida ASP

74

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 aextensão de arquivo.

objetoFSO.GetBaseName (path)

GetDrive

Retorna um objeto Drive correspondendo ao drive no pathespecificado.

objetoFSO.GetDrive (path)

GetDriveName Retorna o nome do drive no path especificado.

objetoFSO.GetDriveName (path)

Objetos de Scripting Run-Time FileSystemObject

Page 76: Rubens Prates - Guia de Consulta rápida ASP

75

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

objetoFSO.GetExtensionName (path)

GetFile

Retorna um objeto File correspondendo ao arquivo no pathespecificado.

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 pathespecificado.

objetoFSO.GetFolder (nomepasta)

GetParentFolderName Retorna o nome da pasta na qual o último componente do pathespecificado 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 arquivosinstalados pelo Windows.

SystemFolder=1 Pasta System, que contém bibliotecas, fontese drivers.

TemporaryFolder=2 Pasta Temp, utilizada para armazenar arquivostemporários.

GetTempName

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

objetoFSO.GetTempName

Objetos de Scripting Run-Time FileSystemObject

Page 77: Rubens Prates - Guia de Consulta rápida ASP

76

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 serutilizado 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.

Objetos de Scripting Run-Time FileSystemObject

Page 78: Rubens Prates - Guia de Consulta rápida ASP

77

Objeto DriveO objeto Drive fornece acesso às propriedades de um drive.No exemplo abaixo é utilizado o método GetDrive do objetoFileSystemObject para obter o objeto Drive para o drive "c".

< %Set arqsys = CreateObject(“Scripting.FileSystemObject”)Set drv = arqsys.GetDrive(“c”)% >

Propriedade do objeto

AvailableSpace

Retorna a quantidade de espaço disponível em um disco. Vertambé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 Desconhecido1 Removível2 Fixo3 Rede4 CD-ROM5 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

Objetos de Scripting Run-Time FileSystemObject

Page 79: Rubens Prates - Guia de Consulta rápida ASP

78

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

objetoDrv.RootFolder

SerialNumber

Retorna o número serial utilizado para identificar o volume dodisco.

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.

Objetos de Scripting Run-Time FileSystemObject

Page 80: Rubens Prates - Guia de Consulta rápida ASP

79

Objeto Folder O objeto Folder fornece acesso às propriedades de uma pasta. Noexemplo abaixo é utilizado o método GetFolder do objetoFileSystemObject para obter o objeto Folder e visualizar uma desuas propriedades (DateCreated).

< %Dim arqsys, pastademo, datacriacaoSet arqsys = CreateObject(“Scripting.FileSystemObject”)Set pastademo = 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 arquivoou pasta.

objetoFld.DateLastModified

Argumento Descrição

objetoFld Objeto Folder.

Objetos de Scripting Run-Time FileSystemObject

Page 81: Rubens Prates - Guia de Consulta rápida ASP

80

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

objetoFld.Drive

IsRootFolder

Retorna True se a pasta especificada é a pasta raiz (“rootfolder”); 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 pastaespecificada 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 umarquivo ou pasta.

objetoFld.ShortName

Argumento Descrição

objetoFld Objeto Folder.

ShortPath

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

objetoFld.ShortPath

Argumento Descrição

objetoFld Objeto Folder.

Objetos de Scripting Run-Time FileSystemObject

Page 82: Rubens Prates - Guia de Consulta rápida ASP

81

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

objetoFld.Size

Argumento Descrição

objetoFld Objeto Folder.

SubFolders

Retorna uma coleção Folders de todas as pastas contidas na pastaespecificada, inclusive arquelas com os atributos “hidden” e“system”.

objetoFld.SubFolders

Argumento Descrição

objetoFld Objeto Folder.

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

objetoFld.Type

Argumento Descrição

objetoFld Objeto Folder.

Coleções do objeto Folder

Files Retorna uma coleção Files de todos os objetos File em umapasta, 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.

Objetos de Scripting Run-Time FileSystemObject

Page 83: Rubens Prates - Guia de Consulta rápida ASP

82

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.

Page 84: Rubens Prates - Guia de Consulta rápida ASP

83

Objeto FileO objeto File fornece acesso a todas as propriedades de um arquivo.No exemplo abaixo é utilizado o método GetFile do objetoFileSystemObject para obter o objeto File e visualizar uma desuas propridades (DateCreated).

< %Dim arqsys, arqdemo, datacriacaoSet arqsys = CreateObject(“Scripting.FileSystemObject”)Set arqdemo = 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 arquivoou pasta.

objetoFile.DateLastModified

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

objetoFile.Drive

Objetos de Scripting Run-Time FileSystemObject

Page 85: Rubens Prates - Guia de Consulta rápida ASP

84

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 pastaespecificada 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 umarquivo ou pasta.

objetoFile.ShortName

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

objetoFile.ShortPath

Size

Retorna o tamanho (em bytes) de um arquivo, ou o tamanho (embytes) 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.

Objetos de Scripting Run-Time FileSystemObject

Page 86: Rubens Prates - Guia de Consulta rápida ASP

85

CreateTextFile Cria um arquivo texto e retorna um objeto TextStream que fazreferê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 serutilizado 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.

Objetos de Scripting Run-Time FileSystemObject

Page 87: Rubens Prates - Guia de Consulta rápida ASP

86

Objeto TextStream O objeto TextStream permite acessar arquivos textos. Umainstância do objeto TextStream pode ser criada através dosmétodos CreateTextFile ou OpenTextFile do objetoFileSystemObject, ou alternativamente, através do métodoOpenAsTextStream do objeto File.Exemplo:< %Dim arqsys, arqtesteSet arqsys = CreateObject(“Scripting.FileSystemObject”)Set arqteste= arqsys.CreateTextFile(“c:\qqarquivo.txt”, True)arqteste.WriteLine “Texto a ser gravado no arquivo qqarquivo.txt”arqteste.Close% >

Propriedades do objeto

AtEndOfLine

Retorna True se o ponteiro do arquivo estiver posicionadoimediatamente antes da marca de fim de linha em um arquivoTextStream; caso contrário, retorna False.

objeto.AtEndOfLine

Argumento Descrição

objeto Objeto TextStream.

AtEndOfStream

Retorna True se o ponteiro do arquivo estiver posicionado nofim 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 emum 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.

Objetos de Scripting Run-Time TextStream

Page 88: Rubens Prates - Guia de Consulta rápida ASP

87

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 TextStreame 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.

Objetos de Scripting Run-Time TextStream

Page 89: Rubens Prates - Guia de Consulta rápida ASP

88

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 arquivoTextStream (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 arquivoTextStream.

objeto.WriteLine ([texto])

Argumento Descrição

objeto Objeto TextStream.texto Texto a ser gravado no arquivo.

Objetos de Scripting Run-Time TextStream

Page 90: Rubens Prates - Guia de Consulta rápida ASP

89

Objeto RegExp O objeto RegExp é usado para criar e executar uma expressãoregular. Uma expressão regular permite pesquisar uma seqüência decaracteres em um string.Um objeto Match é criado cada vez que o objeto RegExp encontrauma correspondência (match). Zero ou mais correspondências(matches) podem ocorrer, e o objeto RegExp retorna uma coleçãoMatches de objetos Match.

< %

strTarget = "teste testando testado atestado"

Set objRegExp = New RegExp 'cria uma expressão regular

objRegExp.Pattern = "test*" 'define o padrão de pesquisa

objRegExp.IgnoreCase = False 'distingüe minúsculas de maiúsculas

objRegExp.Global = True 'define o escopo da pesquisa

Set colMatches = objRegExp.Execute(strTarget) 'executa a pesquisa

For Each Match In colMatches

Response.Write "Correspondência encontrada em " & Match.FirstIndex & ". "

Response.Write "Valor encontrado é '" & Match.Value & "'.<BR>"

Next

% >

Métodos do objeto RegExp

Execute Executa a busca de uma expressão regular em um string, retornandouma coleção Matches contendo um objeto Match para cadacorrespondência (match) encontrada. A propriedade Patterndeve 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) encontradapor um outro string (str2). Se nenhuma correspondência forencontrada, retorna o string original.

objetoRegExp.Replace (str1, str2)

Test

Executa uma busca de uma expressão regular em um string, eretorna um valor Booleano True ou False, indicando se a expressãoregular foi encontrada.

objetoRegExp.Test(string)

Objetos do VBScript RegExp

Page 91: Rubens Prates - Guia de Consulta rápida ASP

90

Propriedades do objeto RegExp

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

objetoRegExp.Global = True | False

IgnoreCase

Define ou retorna um valor boleano que determina se a expressãoregular 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. Deveser especificada antes do objeto RegExp ser utilizado. Maisinformaçõ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 RegExpcontendo objetos Match que são criados para cada correspondência(match) encontrada da expressão regular em um string.

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

Propriedades do objeto Match

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

objetoMatch.FirstIndex

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

objetoMatch.Length

Value

Retorna o valor ou o texto encontrado na pesquisa da expressãoregular.

objetoMatch.Value

Objetos do VBScript RegExp

Page 92: Rubens Prates - Guia de Consulta rápida ASP

91

Objetos do VBScript RegExp

Símbolos usados em Expressões

Símbolo Função

^ Somente localiza (match) no início de um string.Por exemplo: ”^P” localiza o primeiro "P" em "Pedropegou o pato".

$ Somente localiza (match) no final de um string.Por exemplo: a expressão "o$" localiza o último "o" em"Pedro pegou o pato".

\b Localiza qualquer final de palavra.Por exemplo: "mente\b" localiza em "possivelmenteamanhã".

\B Localiza qualquer coisa que não seja final de palavra.literal Localiza o literal especificado.\n Localiza o caractere "new line"\f Localiza o caractere "form feed"\r Localiza o caractere "carriage return"\t Localiza o caractere "tab horizontal"\ v Localiza o caractere "tab vertical"\? Localiza o caractere "?"\* Localiza o caractere "*"\+ Localiza o caractere "+"\. Localiza o caractere "."\| Localiza o caractere "|"\{ Localiza o caractere "{"\} Localiza o caractere "}"\\ Localiza o caractere "\"\[ Localiza o caractere "["\] Localiza o caractere "]"\( Localiza o caractere "("\) Localiza o caractere ")"\xxx Localiza o caractere ASCII expresso pelo número octal

xxx .Por exemplo: ”\50" localiza “(“ ou chr (40).

\xdd Localiza o caractere ASCII expresso pelo número hexadd.Por exemplo: ”\x28" localiza “(“ ou chr (40).

\uxxxx Localiza o caractere ASCII expresso pelo código Unicodexxxx .Por exemplo: ”\u00A3" localiza “£”.

[a-z] Localiza qualquer caractere no intervalo especificado.Por exemplo: a expressão "[a-c]" localiza "a", "b"ou "c".

[xyz] Localiza qualquer caractere especificado em [ ].Por exemplo: "col[iu]na" localiza "colina" e "coluna".

[^xyz] Localiza qualquer caractere que não estiver em [ ].Por exemplo: ”dr[^o]ga” localiza qualquer combinação,exceto "droga".

. Localiza qualquer caractere exceto \n.Por exemplo: a expressão "a.b" localiza "aab" e"a3b", mas não "ab".

\w Localiza letras e dígitos. Equivale a [a-zA-Z_0-9].\W Localiza qualquer caractere que não seja letra ou dígito.

Equivale a [^a-zA-Z_0-9].

Page 93: Rubens Prates - Guia de Consulta rápida ASP

92

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 caracteresespaço.

{x,y} Localiza entre x e y ocorrências de uma expressãoregular.Por exemplo: ”\d{2,3}” localiza pelo menos 2, mas nãomais 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. Podeser 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:".

Page 94: Rubens Prates - Guia de Consulta rápida ASP

93

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 doVBScript. Aceita os métodos Raise e Clear para criar e desativarerros run-time.No exemplo abaixo é verificado o valor da propriedade Number,e se ela contém um valor diferente de zero, exibe os detalhes nobrowser.

< %Dim numerro, descrerroOn Error Resume NextErr.Raise 6numerro = Err.numberdescrerro = Err.descriptionIf numerro <> 0 ThenResponse.Write “Ocorreu um erro! Erro número “ & numerro & “ do_tipo ‘“ & descrerro & “‘.”End If% >

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.

Objetos do VBScript Err

Page 95: Rubens Prates - Guia de Consulta rápida ASP

94

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 originalmentegerou 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 noarquivo 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 é acionadoquando o usuário clica no botão Help ou pressiona a tecla F1 nacaixa de diálogo de um mensagem de erro.

objetoErr.HelpFile [=path]

Argumento Descrição

objetoErr Objeto Err.

path Localização do arquivo Help.

Objetos do VBScript Err

Page 96: Rubens Prates - Guia de Consulta rápida ASP

95

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 deargumentos 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 nomeinstruçõ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 umafunçã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 constantesacessí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 constantesacessíveis somente dentro do módulo onde a declaraçãofoi 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 forverdadeira (While) ou até que uma condição se torne verdadeira(Until).

VBScript Instruções

Page 97: Rubens Prates - Guia de Consulta rápida ASP

96

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 imediatamenteseguinte ao comando Loop.

Loop Finalização do bloco Do.

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

Erase array

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

Execute instrução

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

ExecuteGlobal instrução

Exit

Sai de um laço Do...Loop ou For...Next, ou de uma procedureFunction ou Sub.

Exit {Do | For | Function | Sub}

VBScript Instruções

Page 98: Rubens Prates - Guia de Consulta rápida ASP

97

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 aocomando Next.

Next Finaliza um laço For...Next. Incrementa o contador e voltaa repetir o bloco.

For Each...Next Repete um grupo de instruções para cada elemento em umacoleção ou array. Permite processar cada item em uma coleção ouarray 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 deuma coleção ou um array.

grupo Nome de uma coleção ou um array.

Function

Declara uma função(Function). Ao contrário dasprocedures(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

VBScript Instruções

Page 99: Rubens Prates - Guia de Consulta rápida ASP

98

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 quandoela é 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, baseadana 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 ounumérica que retorna True (não-zero) ou False (0 ou Null).

ElseIf Indica as condições alternativas que devem ser avaliadasse a condição1 não for satisfeita.

Else Identifica a ação que deve ser tomada caso nenhuma dascondiçõ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 ondeocorreu o erro. O erro não é corrigido, apenas ignorado, e não éexibida nenhuma mensagem de erro. A instrução On Error Goto0 desabilita a manipulação de erros.

On Error Resume Next

Option Explicit

Força a declaração (com Dim, Private, Public ou ReDim) detodas 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 queo 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).

VBScript Instruções

Page 100: Rubens Prates - Guia de Consulta rápida ASP

99

PropertyGet Declara, em um bloco Class, o nome, os argumentos, e o códigoque formam a procedure Property que obtém o valor de umapropriedade.

[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ódigoque formam a procedure Property que atribui o valor de umapropriedade.

[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ódigoque formam a procedure Property que definem uma referênciapara 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.

VBScript Instruções

Page 101: Rubens Prates - Guia de Consulta rápida ASP

100

Public Usado no nível de módulo para declarar variáveis públicas e alocarespaç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 paraobter os números aleatórios.

Randomize [número]

Argumento Descrição

número Valor da semente usada para inicializar o gerador. Seomitido será utilizado o valor retornado pelo timer dosistema.

ReDim Usada no nível de procedure para declarar arrays dinâmicos ealocar 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 serexecutado, dependendo do resultado da expr_teste, que é comparadacom as expressões na cláusula Case. Caso encontre umacorrespondê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

VBScript Instruções

Page 102: Rubens Prates - Guia de Consulta rápida ASP

101

Argumento Descrição

expr_teste Expressão numérica ou string.lista Lista de expressões a serem comparadas com a expr_teste.Case Else Identifica o bloco de instruções a ser executado caso não

tenha sido encontrada uma correspondência entre aexpr_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çãoou método que retorna um objeto.

Nothing Elimina a associação de varobjeto a qualquer objetoespecífico.

Sub

Declara uma procedure Sub. Ao contrário das proceduresFunction, 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 forverdadeira.

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

VBScript Instruções

Page 103: Rubens Prates - Guia de Consulta rápida ASP

102

Funções do VBScript

Abs Retorna o valor absoluto de um número.

Abs (número)

Array

Permite criar um array unidimensional de valores, normalmenteutilizado para armazenar uma pequena quantidade de dadosdentro do programa.

Array (lista_arg)

Argumento Descrição

lista_arg Lista de valores separados por vírgula atribuídos aoselementos do array.

Asc Retorna o código numérico ANSI do primeiro caractere de umaexpressã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ãostring 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) convertidoem um valor lógico (True ou False). Se o valor da expressão forzero, False é retornado; caso contrário, True é retornado. Se aexpressã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) convertidopara um tipo variant de subtipo Byte.

CByte (expr)

VBScript Funções

Page 104: Rubens Prates - Guia de Consulta rápida ASP

103

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

CCur (expr)

CDate

Retorna o valor de uma expressão data e hora convertido para umtipo variant de subtipo Date.

CDate (expr)

CDbl Retorna o valor de uma expressão (numérica ou string) convertidopara 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) convertidopara um variant de subtipo Integer.

CInt (expr)

CLng

Retorna o valor de uma expressão (numérica ou string) convertidopara 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. Ostatement Set atribui a referência ao objeto a uma variável ouproperty. A palavra-chave Nothing é usada para limpar areferê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.

VBScript Funções

Page 105: Rubens Prates - Guia de Consulta rápida ASP

104

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

CSng (expr)

CStr

Retorna o valor de uma expressão (numérica ou string) convertidopara 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 detempo a uma data base.

DateAdd (intervalo, núm_interv, data_base)

Argumento Descrição

intervalo Expressão string indicando o intervalo de tempo a seradicionado.

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, nopassado.

data_base Um tipo variant ou um literal representando a data na qualo intervalo será adicionado.

VBScript Funções

Page 106: Rubens Prates - Guia de Consulta rápida ASP

105

DateDiff Retorna o número de intervalos (dia, semana, trimestre, etc) entreduas datas.

DateDiff (intervalo, data1, data2 [,primdiasem [,primsemano]])

Argumento Descrição

intervalo Expressão string indicando o intervalo de tempoutilizado para calcular a diferença entre data1 edata2. 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çãoDateDiff.DatePart (intervalo, data [,primdiasem [,primsemano]])

DateSerial

Retorna um tipo Variant de subtipo Date baseado na datafornecida (de 01/01/100 a 31/12/9999).

DateSerial (ano, mês, dia)

DateValue Retorna uma Variant de subtipo Date baseado em uma expressãorepresentando uma data.

DateValue (expr)

Argumento Descrição

expr Pode ser qualquer expressão que represente uma data (de01/01/100 a 31/12/9999).

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

Day (expr)

VBScript Funções

Page 107: Rubens Prates - Guia de Consulta rápida ASP

106

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 destrings.

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. Vertambém a função Int na página 109.

Fix (exprN)

FormatCurrency Retorna uma expressão formatada como valor monetário, e como 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 Especifica se zeros de preenchimento (leading zeroes) 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 ControlPanel do Windows.

VBScript Funções

Page 108: Rubens Prates - Guia de Consulta rápida ASP

107

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 Especifica se zeros de preenchimento (leading zeroes) 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 ControlPanel do Windows.

FormatPercent

Retorna uma expressão formatada como uma porcentagem(multiplicada por 100) com o caractere % anexado, como porexemplo: 50%.

FormatPercent(expr [,digitos] [,leadingdig] [,negativo] [,grupo])

Argumento Descrição

expr Expressão a ser formatada.digitos Número de casas decimais.leadingdig Especifica se zeros de preenchimento (leading zeroes) 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 ControlPanel do Windows.

GetLocale Retorna o LCID (locale ID).

GetLocale()

VBScript Funções

Page 109: Rubens Prates - Guia de Consulta rápida ASP

108

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 vinculadaa 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 ousuário entrar com um texto ou escolher um botão e retorna oconteú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 é unidadede medida igual a 1/20 de um ponto da impressora.

ypos Distância (em twips) da margem superior da caixa dediálogo até a margem superior da tela.

arqhelp Arquivo de help a ser utilizado para fornecer help sensívelao contexto (context-sensitive) para a caixa de diálogo.

contexto Número de contexto do tópico de help.

VBScript Funções

Page 110: Rubens Prates - Guia de Consulta rápida ASP

109

InStr Retorna a posição da primeira ocorrência de um string dentro deoutro 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 deoutro 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. Vertambém a função Fix na página 106.

Int (exprN)

IsArray Retorna True se uma variável é um array; caso contrário, retornaFalse.

IsArray (nomevar)

IsDate Retorna True se o valor de uma expressão puder ser ser convertidopara 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)

VBScript Funções

Page 111: Rubens Prates - Guia de Consulta rápida ASP

110

IsNull Retorna True se uma expressão contiver valor Null; casocontrário, retorna False.

IsNull (expr)

IsNumeric

Retorna True se uma expressão puder ser interpretada como umnúmero; caso contrário, retorna False.

IsNumeric (expr)

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

IsObject (expr)

Join Retorna um string que é o resultado da concatenação dos substringscontidos 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 umarray. 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 letrasminúsculas. Para converter para maiúsculas utilize a funçãoUCase (página 117).

LCase(expr)

Left

Retorna um substring com os n caracteres iniciais de umaexpressã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)

VBScript Funções

Page 112: Rubens Prates - Guia de Consulta rápida ASP

111

Sintaxe 2:

Retorna o número de bytes usados em uma variável.

Len (nomevar)

LoadPicture Carrega uma figura. Pode-se carregar arquivos nos seguintesformatos: .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 embranco iniciais. Ver também as funções RTrim e Trim.

LTrim (expr)

Mid Retorna um substring de uma expressão string. Ver também asfunçõ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 umhorá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.

VBScript Funções

Page 113: Rubens Prates - Guia de Consulta rápida ASP

112

MsgBox Exibe uma mensagem em uma caixa de diálogo, espera o usuárioescolher um botão e retorna um valor indicando qual botão foiselecionado.

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 naaplicação corrente.

vbSystemModal=4096 Em sistemas Win16 faz com que todas asaplicações sejam suspensas até o usuárioresponder à caixa de mensagem. Emsistemas Win32, mantém a caixa demensagem sempre no topo das outrasaplicaçõ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

VBScript Funções

Page 114: Rubens Prates - Guia de Consulta rápida ASP

113

Oct Retorna um texto que representa o valor octal de um argumentodecimal.

Oct (número)

Replace

Retorna um string na qual um substring especificado foi substituídopor 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ãotrocadas.

expr2 Substring a ser procurada.expr3 Substring de substituiçãocomeç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 acomparação será feita.

RGB

Retorna um número inteiro longo representando o valor da corRGB.

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ãostring. 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 geradorde 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.

VBScript Funções

Page 115: Rubens Prates - Guia de Consulta rápida ASP

114

Round Retorna um número arredondado com um determinado númerode casas decimais.

Round (número, num_casas_decimais)

RTrim

Retorna uma cópia de uma expressão string sem os espaços embranco finais. Ver também as funções LTrim e Trim.

RTrim (expr)

ScriptEngine Retorna o nome da linguagem de scripting que está sendoutilizada.

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 dalinguagem de scripting que está sendo utilizada.

ScriptEngineMajorVersion

ScriptEngineMinorVersion

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

ScriptEngineMinorVersion

Second

Retorna os segundos (0-59) de uma expressão que representa umhorário.

Second (expr)

SetLocale Define o LCID (locale ID).

SetLocale(LCID)

VBScript Funções

Page 116: Rubens Prates - Guia de Consulta rápida ASP

115

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 pordelimitadores.

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 doisstrings.

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 < expr20 expr1 = expr21 expr1 > expr2Null expr = Null ou expr2 = Null

VBScript Funções

Page 117: Rubens Prates - Guia de Consulta rápida ASP

116

String Retorna um string com n caracteres, contendo o código ANSIou o primeiro caractere da expr especificada.

String (n, cod | expr)

StrReverse

Retorna uma cópia de um string, com os caracteres na ordemreversa.

StrReverse(string)

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

Tan (ângulo)

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

Time

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

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 embranco 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.

VBScript Funções

Page 118: Rubens Prates - Guia de Consulta rápida ASP

117

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 letrasmaiúsculas. Para converter para minúsculas utilize a funçãoLCase (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.

VBScript Funções

Page 119: Rubens Prates - Guia de Consulta rápida ASP

118

VBScript Funções

Weekday Retorna um número entre 1 (Domingo) e 7 (Sábado),correspondente ao dia da semana de uma expressão representandouma 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 dasemana.

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 determinadadata.

Year (Data)

Page 120: Rubens Prates - Guia de Consulta rápida ASP

119

OperadoresOperadores 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çãoTrue 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 deStrings

& Concatenação resultado = operando1$ & operando2$+ Concatenação (obsoleto) resultado = operando1$ + operando2$

Operadores LógicosAnd 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 OperadoresIs resultado=objref1 Is objref2 Retorna True se ambos os objetos

referirem-se ao mesmo objeto.

Precedência dos OperadoresQuando 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

VBScript Operadores

Page 121: Rubens Prates - Guia de Consulta rápida ASP

120

Subtipos de DadosVBScript têm somente um tipo de dado chamado Variant. UmVariant é um tipo especial de dados que pode conter diferentestipos de informações, dependendo de como ele é usado. A funçãoVarType pode ser utilizada para retornar informação sobre o tipode dado armazenado em um Variant.

Subtipo Descrição

Empty Variant não está inicializado. O valor é 0para variáveis numéricas e string (“”) paravariáveis string.

Null Contém um valor Null.

Boolean Contém True ou False.

Byte Contém um número inteiro entre 0 e 255.

Integer Contém um número inteiro entre -32,768 a32,767.

Currency -922,337,203,685,477.5808 a922,337,203,685,477.5807.

Long Contém um número inteiro entre -2,147,483,648 a 2,147,483,647.

Single Contém um número ponto-flutuante,simples precisão entre -3.402823E38 a -1.401298E-45 para valores negativos;1.401298E-45 a 3.402823E38 para valorespositivos.

Double Contém um número ponto-flutuante, duplaprecisão entre -1.79769313486232E308 a -4.94065645841247E-324 para númeronegativos; 4.94065645841247E-324 a1.79769313486232E308 para valorespositivos.

Date (Time) Contém um número que representa umadata entre 01/Janeiro/100 a 31/Dezembro/9999.

String Contém um string de tamanho variável quepode ter até aproximadamente 2 bilhões decaracteres.

Object Contém um objeto.

VBScript Subtipos de Dados

Page 122: Rubens Prates - Guia de Consulta rápida ASP

121

Apêndice Propriedade Status

Códigos da Propriedade StatusCódigo Significado

1xx Utilizado para enviar informações para o cliente.100 Continue101 Switching Protocols

2xx Indica que a solicitação (request) teve sucesso. Porexemplo, o código 200 é utilizado para indicar que apágina solicitada foi obtida com sucesso.

200 OK201 Created202 Accepted203 Non-Authoritative Information204 No Content205 Reset Content206 Partial Content

3xx Indica que ações adicionais devem ser tomadas antesda solicitação (request) ser satisfeita. Por exemplo, ocódigo 301 indica que a página foi movida e o browserserá redirecionado para a nova página.

300 Multiple Choices301 Moved Permanently302 Moved Temporarily303 See Other304 Not Modified305 Use Proxy307 Temporary Redirect

4xx Indica que o browser fez uma solicitação (request) quenão pode ser atendida. Por exemplo, "404 - URL notfound" indica que a página solicitada foi movida ou nãoexiste.

400 Bad Request401 Unauthorized402 Payment Required403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable407 Proxy Authentication Required408 Request Time-out409 Conflict410 Gone411 Length Required412 Precondition Failed413 Request Entity Too Large414 Request-URI Too Large415 Unsupported Media Type416 Requested range not satisfiable417 Expectation Failed

5xx Indica um erro no servidor. Por exemplo, o código 503indica que o servidor tem muitas solicitações (requests)para processar.

500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Time-out505 HTTP Version not supported

Page 123: Rubens Prates - Guia de Consulta rápida ASP

122

Apêndice Coleção ServerVariables

Itens da Coleção ServerVariablesElemento Descrição

ALL_HTTP Todos os headers HTTP enviados pelobrowser cliente.

ALL_RAW Todos os headers HTTP em seu estadooriginal enviados pelo browser cliente.

APPL_MD_PATH Path do metabase para para a aplicação.APPL_PHYSICAL_PATH Path físico correspondente ao path do

metabase.AUTH_PASSWORD Senha fornecida no diálogo de autenticação

do cliente (o IIS deve estar configurado paraBasic Authentication).

AUTH_TYPE Método de autenticação usado pelo servidorpara validar usuários que solicitam scriptsno servidor protegidos pela segurança doWindows NT.

AUTH_USER Nome do usuário fornecido pelo usuáriopara o servidor se a página não permiteacesso anônimo.

CERT_COOKIE ID do certificado digital do cliente.CERT_FLAGS Valor de dois bits: bit 0 igual a 1 indica se

o certificado do cliente está presente, bit 1igual a 1 indica que a autoridade decertificação do certificado do cliente é inválida.

CERT_ISSUER Campo Issuer do certificado do cliente(O=MS, OU=IAS, CN=usuário,C=USA).

CERT_KEYSIZE Número de bits na chave de conexãoSecure Sockets Layer.

CERT_SECRETKEYSIZE Número de bits na chave do "servercertificate private".

CERT_SERIALNUMBER Campo Serial Number do certificado digitaldo cliente.

CERT_SERVER_ISSUER Campo Issuer do certificado do servidor.CERT_SERVER_SUBJECT Campo Subject do certificado do servidor.CERT_SUBJECT Campo Subject do certificado do cliente.CONTENT_LENGTH Número de bytes enviados no corpo (body)

da request.CONTENT_TYPE Tipo MIME do conteúdo enviado pelo cliente.GATEWAY_INTERFACE Tipo de interface CGI usada pelo servidor

web para manipular a request.HTTP_nomeheader Valor armazenado no header especificado.

Veja na página XX a lista dos headers maiscomuns. Qualquer header não incluídonessa lista deve ser prefixado com HTTP_para ser acessado.

HTTPS Retorna ON se a request vêm de um canalseguro ou OFF de um canal não-seguro.

HTTPS_KEYSIZE Número de bits na chave de conexãoSecure Sockets Layer.

HTTPS_SECRETKEYSIZE Número de bits na chave do "servercertificate private".

Page 124: Rubens Prates - Guia de Consulta rápida ASP

123

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) queresponde à request.

LOCAL_ADDR Retorna o endereço do servidor do qual arequest é originada.

LOGON_USER Conta do usuário usada para efetuar o logonno Windows.

PATH_INFO Path virtual e nome do documento solicitadopelo cliente, em relação à pasta raiz destesite.

PATH_TRANSLATED Versão convertida do PATH_INFO queexecuta o mapeamento virtual para físico dopath.

QUERY_STRING Contém a query string acrescentada aoHTTP request (após o caractere ?). Tambémdisponível na coleção QueryString.

REMOTE_ADDR Endereço IP do computador do browsercliente.

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 443para requests SSL).

SERVER_PORT_SECURE Indica se a request HTTP está sendogerenciada pelo servidor web em uma portasegura (1) ou em uma porta não segura (0).

SERVER_PROTOCOL Nome e versão do protocolo usado peloservidor web para manipular a request docliente.

SERVER_SOFTWARE Nome e versão do servidor web.URL Endereço URL base requisitado (sem a

querystring) pelo browser cliente.

Headers HTTP mais comunsHTTP_ACCEPT Lista de tipos MIME que o browser cliente

pode aceitar.HTTP_ACCEPT_ENCODINGLista dos tipos de encoding que o cliente

pode aceitar.HTTP_ACCEPT_LANGUAGE Código da linguagem do browser cliente.HTTP_COOKIE Cookie incluído com a request.HTTP_USER_AGENT Nome do browser utilizado pelo usuário.HTTP_REFERER URL da request original quando um

redirecionamento ocorreu.

Page 125: Rubens Prates - Guia de Consulta rápida ASP

124

Apendice Sites

Onde obter mais informações

Sites Internacionaiswww.15seconds.com

www.4guysfromrolla.com

www.actionjackson.com

www.activeserverpages.com

www.asp101.com

www.asp-help.com

www.aspforums.com

www.aspfree.com

www.asphole.com

www.aspin.com

www.aspkicker.com

www.asplists.com

www.asptoday.com

www.asptracker.com

www.aspwatch.com

www.aspwire.com

www.aspzone.com

www.chilisoft.com

www.componentsource.com

www.cookiecentral.com

www.devguru.com

www.kamath.com

www.halcyonsoft.com

www.haneng.com

www.powerasp.com

www.serverobjects.com

www.superexpert.com

www.tcp-ip.com

www.ultimateasp.com

Sites em Portuguêswww.aspbrasil.com.br

Page 126: Rubens Prates - Guia de Consulta rápida ASP

125

Notação Sintática Utilizadaitens em negrito Na sintaxe dos comandos, identificam as

palavras reservadas da linguagem Visual Basic.itens em itálico Identificam as informações que devem ser

fornecidas pelo programador.[ ] Na sintaxe dos comandos, os itens dentro de

colchetes são opcionais.••• Identifica as partes de um comando que podem

ser repetidas.{opção1|opção2|..} Indica que deve ser escolhida uma opção entre

duas ou mais alternativas.

Novatec na InternetConheç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: [email protected]

Apêndice

Page 127: Rubens Prates - Guia de Consulta rápida ASP

126

Índice

Page 128: Rubens Prates - Guia de Consulta rápida ASP

127

Índice

Page 129: Rubens Prates - Guia de Consulta rápida ASP

128

Índice

Page 130: Rubens Prates - Guia de Consulta rápida ASP

Copyright © Novatec Editora Ltda.Fone: (0xx11) 6959-6529Fax: (0xx11) 6950-8869Internet: www.novateceditora.com.br

� ASP (Active Server Pages) é uma tecnologiacriada pela Microsoft que permite criar páginasweb dinâmicas usando scripts do lado servidor("server-side").

� Este Guia de Consulta Rápida descreve demaneira suscinta todos os objetos,propriedades, métodos e eventos do ASP 3.0.Inclui também uma referência completa dalinguagem VBScript.

� Indispensável para quem quer obter o máximoproveito da tecnologia ASP, sem perder tempoconsultando volumosos manuais.

� Prático para carregar e consultar.

ASP