Inclui VBScript
ASP
GUIA DE CONSULTA RĂ PIDA
Rubens Prates
www.novateceditora.com.br
novatec
Guia de Consulta Rรกpida
ASP Rubens Prates
Novatec Editora www.novateceditora.com.br
Guia de Consulta Rápida ASP de Rubens Prates
Copyright@2000 da Novatec Editora Ltda.
Todos os direitos reservados. É proibida a reprodução dessa obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, dos autores e da Editora.
Revisão de texto: Sonia Maike
ISBN: 85-85184-??-?
Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj 01 02018-012 São Paulo - SP Brasil Fone: (0xx11) 6959-6529 Fax: (0xx11) 6950-8869 E-mail: novatec@novateceditora.com.br Site: www.novateceditora.com.br
2
Sumário Conceitos Básicos ............................................................ 5 Introdução .................................................................... 5 Definindo a Linguagem de Script ............................. 11 Objetos e Componentes ........................................... 12 Diretivas de Processamento ..................................... 15 Diretivas SSI (Server-Side Include) ........................... 16 Arquivo Global.asa .................................................... 17 Objetos Intrínsecos do ASP ............................................ 20 Objeto Application ...................................................... 20 Objeto ASPError (ASP 3.0) ........................................ 24 Objeto ObjectContext ................................................. 26 Objeto Request .......................................................... 27 Objeto Response ...................................................... 33 Objeto Server ............................................................. 42 Objeto Session .......................................................... 45 Componentes do IIS ....................................................... 50 ADO ............................................................................ 50 Ad Rotator .................................................................. 51 Browser Capabilities ................................................. 54 Content Linking .......................................................... 56 Content Rotator .......................................................... 59 Counters .................................................................... 61 Logging Utility (ASP 3.0) ............................................ 62 MyInfo ......................................................................... 66 Page Counter ............................................................. 67 Permission Checker ................................................. 68 Tools .......................................................................... 69 Objetos de Scripting Run-Time ...................................... 70 Objeto Dictionary ....................................................... 70 Objeto FileSystemObject .......................................... 72 Objeto Drive ............................................................... 77 Objeto Folder ............................................................ 79 Objeto File .................................................................. 83 Objeto TextStream .................................................... 86 Objetos do VBScript ........................................................ 89 Objeto RegExp .......................................................... 89 Objeto Err .................................................................. 93 VBScript ........................................................................... 95 Instruções do VBScript .............................................. 95 Funções do VBScript ............................................... 102 Operadores .............................................................. 119 Subtipos de Dados .................................................. 120 Apêndice ........................................................................ 121 Códigos da Propriedade Status ............................. 121 Itens da Coleção ServerVariables ........................... 122 Onde obter mais informações ................................ 124 Notação Sintática Utilizada ...................................... 125 Novatec na Internet .................................................. 125 Índice ............................................................................. 126
3
4
Conceitos Básicos
Introdução
O que é ASP ASP (Active Server Pages) é uma tecnologia criada pela Microsoft, que combina HTML, comandos script e componentes ActiveX, para criar páginas web com conteúdo dinâmico.
Scripts executados no servidor Os scripts em páginas ASP são executados no servidor web ("server-side"), ao contrário de scripts client-side,executados no browser do cliente.
Linguagens de scripting Em ASP podem ser utilizadas qualquer linguagem que suporte ActiveX scripting, tais como: VBScript, JScript, PerlScript, Rexx e Python. As linguagens VBScript e JScript (similar a JavaScript) são instalados automaticamente pelo servidor web, sendo VBScript a linguagem default. Os exemplos neste guia estão em VBScript.
Independência de browsers A saída gerada pelo ASP é somente HTML padrão, o que significa que pode ser interpretada igualmente pelos browsers Microsoft Explorer, Netscape Navigator, ou qualquer outro browser.
Plataforma para ASP Originalmente ASP somente poderia ser utilizada com servidores web da Microsoft (PWS - Personal Web Server e IIS - Internet Information Server) para a plataforma Windows. Atualmente existem ferramentas de terceiros que oferecem a mesma funcionalidade ASP para outros servidores web, tais como o Netscape Enterprise, disponível para vários sistemas operacionais, como o Unix. As mais conhecidas são o Chili!Soft (www.chilisoft.com) e o Instant ASP (www.halcyon.com).
Ferramentas de Desenvolvimento Embora as páginas ASP possam ser criadas utilizando editores de texto, como o Notepad, ou mais especializados como o FrontPage, existem diversas ferramentas para desenvolvimento de aplicações web, tais como o Visual InterDev, um dos componentes do Visual Studio da Microsoft. Outras ferramentas bastante utilizadas são: • Drumbeat (www.drumbeat.com) • Cold Fusion (www.allaire.com) Para uma lista das ferramentas disponíveis veja a página www.15seconds.com/tool/default.htm.
Depuração de scripts ASP A maneira mais fácil de depurar scripts é utilizar o Microsoft Script Debugger. Pode ser instalado como parte do NT Option Pack ou através de download em http://msdn.microsoft.com/scripting/ debugger/.
5
Conceitos Básicos
Introdução
Página ASP Uma página ASP é um arquivo texto com a extensão .asp que contém qualquer combinação de: • texto • tags HTML • scripts Um exemplo simples de página ASP:
Veja na tela abaixo o resultado da execução da página ASP acima:
Os usuários não podem ver os comandos de script que criaram a página que está sendo visualizada. Verificando o código fonte da página exibida (opção View > Source do Internet Explorer ou View > Page Source do Netscape), percebemos que no lugar do código script está o resultado do script, conforme mostrado na tela abaixo:
6
Conceitos Básicos
Introdução
Delimitadores de scripts server-side Nas páginas .asp, os scripts são diferenciados de textos e HTML por delimitadores <% e %> ou pelo elemento <SCRIPT RUNAT="SERVER"> ... </SCRIPT>. Dentro dos delimitadores, pode ser incluído qualquer comando da linguagem de scripting utilizada. O exemplo abaixo mostra uma página HTML que contém um comando script delimitado por <% e %>: <HTML> <BODY> Dataehora: <%Response.WriteNow()%> </BODY> </HTML>
A função Now() retorna a data e hora correntes. Quando o servidor processa esta página, ele substitui <%= Now() %> pela data e hora correntes e retorna a página para o browser, como por exemplo: Dataehora: 03/25/20008:47:00PM
O comando script do exemplo acima também poderia ser delimitado com elemento <SCRIPT RUNAT=SERVER>, como mostrado abaixo: <HTML> <BODY> Dataehora: <SCRIPT RUNAT="SERVER"> Response.WriteNow() </SCRIPT> </BODY> </HTML>
Scripting Server-side x Client-side Uma página Asp pode conter ambos os tipos de scripts: server-side e client-side. O script server-side deve ter a cláusula RUNAT="SERVER". O script client-side (com RUNAT="CLIENT" ou com o atributo RUNAT omitido) é ignorado pelo interpretador ASP e passado para o browser cliente como texto normal. Veja abaixo um exemplo de como isso funciona: <HTML> <BODY> Textoe<B>HTML</B>enviadosdiretamenteparaobrowsercliente. <SCRIPT RUNAT="SERVER"> REMCódigoscriptserver-sideexecutadopeloASPnoservidor. </SCRIPT> <SCRIPT> <!-REMCódigoscriptclient-sideexecutadonobrowsercliente. --> </SCRIPT> </BODY> </HTML>
7
Conceitos Básicos
Introdução
Enviando conteúdo para o browser Para enviar conteúdo para o browser dentro dos delimitadores de scripting utilize o método Write do objeto Response. Por exemplo, o seguinte comando envia uma mensagem diferente para o usuário dependendo se ele visitou a página antes: <% IfblnPrimVezThen Response.Write“<H3ALIGN=CENTER>Bem-vindoàNovatec</H3>” Else Response.Write“<H3ALIGN=CENTER>Sejanovamentebem-vindoà Novatec</H3>” EndIf %>
Qualquer conteúdo que não estiver dentro de delimitadores de scripting são enviados diretamente para o browser. Por exemplo, o seguinte script produz a mesma saída que o script anterior: <H3 ALIGN=CENTER> <%IfblnPrimVezThen%> Bem-vindoàNovatec <% Else %> Sejanovamentebem-vindoàNovatec <% End If %> </H3>
Intercalar comandos script e HTML quando você necessita apenas retornar a saída uma vez ou quanto é mais conveniente adicionar comandos ao texto HTML existente. Use Response.Write quando você não deseja dividir um comando com delimitadores quando você deseja construir o string que será retornado para o browser. Por exemplo, você pode construir um string de texto que constrói uma linha da tabela com valores enviados por um formulário HTML: Response.Write“<TR><TD>”&Request.Form(“FirstName”)_ &“</TD><TD>”&Request.Form(“LastName”)&“</TD></TR>”
Incluindo arquivos de scripts Também é possível incluir na página ASP arquivos de script separados que contém código de scripting, tornando mais fácil escrever funções que devem estar disponíveis para muitas páginas. Desta forma, as alterações no código de scripting serão automaticamente refletidas em todas as páginas na próxima vez que elas forem executadas. Para incluir um arquivo de script separado, utilize o atributo SRC do elemento <SCRIPT> para especificar um path virtual, relativo ou físico e o nome do arquivo: <SCRIPTRUNAT="SERVER"SRC="/scripts/valida.inc"></SCRIPT>
O arquivo separado deve conter somente código script válido, não pode conter conteúdo de página, tais como texto ou HTML.
8
Conceitos Básicos
Introdução
Arquitetura do ASP A tecnologia ASP é encapsulada em uma simples DLL chamada ASP.DLL, que é instalada por default no diretório Winnt\System32\inetsrv. Quando um servidor web recebe uma solicitação de um página web, o servidor verifica a extensão do arquivo da página solicitada. Se a extensão for .asp o servidor passa esse arquivo para a dll ASP.DLL para ser interpretado. O resultado é devolvido para para o servidor web, que por sua vez envia para browser que solicitou a página. Até o ASP 2.0 o processamento de arquivos .asp requeria processamento extra. A partir do ASP 3.0 pode-se usar a extensão .asp para todas as páginas, tendo ou não scripts embutidos, sem prejudicar o desempenho.
inserir ILUSTRAÇÃO
9
Conceitos Básicos
Introdução
Diretórios no servidor IIS Na instalação do servidor IIS é criado o subdiretório \Inetpub no computador do servidor IIS, onde normalmente são colocados os arquivos de páginas web. Esse subdiretório, por sua vez, contém subdiretórios, entre eles o \wwwroot, que é o topo da árvore para os web sites, e é o diretório web default. \Inetpub \wwwroot Essa estrutura é conhecida como estrutura de diretórios físicos, que nós visualizamos no Windows Explorer. Por exemplo, a pasta C:\My Documents é um diretório físico. Existe contudo uma segunda estrutura de diretórios no computador do servidor web, que reflete a estrutura do site. Consiste de um hierarquia de diretórios virtuais. Através do Managment Console do IIS podemos criar esses diretórios, e definir o relacionamento entre os diretórios virtuais e os diretórios físicos. Nós podemos criar aplicações virtuais em qualquer subdiretório do site. Um diretório virtual é um diretório que não precisa localizar-se em seu diretório home; na verdade, ele pode residir em outro disco ou computador, mas pode ser acessado por um browser cliente através da Internet como se estivesse localizado em seu diretório home. O diretório home por padrão é X:\InetPub\wwwroot, onde X é o disco rígido do sistema operacional em uma instalação padrão. O diretório home é o diretório raiz do seu site. Para cada site em um computador sob o IIS, existe um diretório raiz no servidor, que é usualmente C:\InetPub\WWWRoot. Diretórios virtuais são diretórios mapeados na árvore de diretórios do site; no entanto, eles fisicamente ficam fora dessa árvore. A localização física pode ser até mesmo um outro servidor.
Aplicação Uma página ASP usualmente existe como parte de uma aplicação ASP. Uma aplicação ASP é realmente todas as páginas e conteúdo associado de um diretório real ou virtual, tendo as páginas extensão .asp ou não. Uma aplicação ASP pode ser criada pela criação de um site real ou virtual dentro do servidor web. Uma aplicação é a soma de todos os arquivos que podem ser acessados através de um diretório virtual e seus subdiretórios. Esse contexto de aplicação é o mesmo para todos os clientes da aplicação. Por exemplo, um cliente da Tailandia que solicita páginas do diretório virtual /SearchApp está acessando a mesma aplicação que um segundo cliente da Suécia que estiver acessando páginas do mesmo diretório virtual, independente de qual página dentro do diretório virtual cada um estiver solicitando. Você pode compartilhar informações entre todos os clientes de uma aplicação através do objeto Application.
Configuração de aplicações ASP no IIS Antes de você criar uma aplicação ASP, você deve criar um diretório virtual. Antes de você criar uma aplicação ASP, você deve criar um diretório virtual.Para criar um diretório virtual siga os seguintes passos: 101. Clique com o botão direito do mouse o servidor onde você deseja criar o diretório virtual.
Conceitos Básicos
Linguagem de Scripting
Definindo a Linguagem de Script Uma aplicação ASP pode utilizar diferentes linguagens de scripting. As linguagens VBScript e JScript (similar à JavaScript) são instaladas por default. As outras linguagens devem ser obtidas e instaladas separadamente. Existem três formas de especificar a linguagem de scripting a ser utilizada: para o site inteiro, para uma página ASP e para uma função específica:
Site inteiro Para definir a linguagem de script padrão para todas as páginas em um site, habilite a opção Default ASP Language da App Options na configuração do servidor web onde ASP estiver instalada. Se não especificada na configuração do servidor web, será assumido VBScript, por default.
Página ASP Para definir a linguagem de script para uma única página, utilize a diretiva <%@ LANGUAGE=linguagem %>. Essa diretiva deve ocorrer apenas uma vez e deve ser a primeira linha da página. Por exemplo, para definir a linguagem JScript colocamos a seguinte instrução no início da página: <%@ LANGUAGEM = JScript %>
Recomenda-se definir a linguagem no nível de página pois no caso do arquivo da página ser utilizada em um outro servidor web onde não pode ser garantido que a linguagem de scripting padrão seja a que você deseja.
Função Para definir a linguagem de scripting somente para uma função específica de uma página, utilize a opção LANGUAGE da tag <SCRIPT>. Essa opção anula as definições de linguagem de scripting definidas para o site e para a página. <SCRIPT LANGUAGE=linguagem RUNAT=SERVER> ... </SCRIPT> A diretiva RUNAT=SERVER deve ser incluída para indicar que trata-se de um script server-side. Se não for especificada, será assumida que trata-se de um script client-server.
Tags <% e %> As tags <% e %> sempre utilizam a linguagem de scripting padrão definida para o site ou a linguagem definida para a página, caso tenha sido especificada.
11
Conceitos Básicos
Objetos e Componentes
Objetos e Componentes Diversos tipos de objetos e componentes podem ser utilizados com ASP. Embora sejam acessíveis da mesma forma, através da tecnologia COM, conceitualmente eles são divididos em grupos:
Objetos Intrínsecos do ASP São objetos fornecidos diretamente pela DLL ASP e estão sempre disponíveis para scripts server-side, e não precisam serem criados. • Application (mais detalhes na página 20). • ASPError (mais detalhes na página 24). • ObjectContext (mais detalhes na página 26). • Request (mais detalhes na página 27). • Response (mais detalhes na página 33). • Server (mais detalhes na página 42). • Session (mais detalhes na página 45).
Componentes do IIS Esses componentes são instalados pelo IIS, no diretório WinNT\System32\inetsrv\ do Windows. Precisam ser registrados no servidor antes de serem instanciados em suas aplicações web, caso não tenham sido instalados por default pelo IIS. • ADO (mais detalhes na página 50). • Ad Rotator (mais detalhes na página 51). • Browser Capabilities (mais detalhes na página 54). • Content Linking (mais detalhes na página 56). • Content Rotator (mais detalhes na página 59). • Counters (mais detalhes na página 61). • Logging Utility (mais detalhes na página 62). • MyInfo (mais detalhes na página 66). • Page Counter (mais detalhes na página 67). • Permission Checker (mais detalhes na página 68). • Tools (mais detalhes na página 69).
Objetos de Scripting Run-Time Esses objetos são parte da Scripting Runtime Objects library, contidos em scrrun.dll. Eles são expostos pelo "scripting engine", independente da linguagem de scripting utilizada (VBScript, JScript, etc) e podem ser utilizados tanto do lado cliente quanto do lado servidor. • Dictionary (mais detalhes na página 70). • FileSystemObject (mais detalhes na página 72). • TextStream (mais detalhes na página 86).
12
Conceitos Básicos
Objetos e Componentes
Objetos do VBScript Objetos fornecidos pela linguagem VBScript (vbscript.dll), e podem ser utilizados tanto do lado cliente quando do lado servidor. • RegExp (mais detalhes na página 80). • Err (mais detalhes na página 93). Outras linguagens de scripting, tais como o JScript, oferecem objetos similares aos objetos acima.
Outros Componentes Componentes de terceiros ou criados pelo próprio usuário. Normalmente implementados como DLLs separadas. Esses componentes podem ser desenvolvidos em Visual Basic, Visual C++ ou qualquer outra linguagem compatível com a tecnologia COM, tais como Delphi, Java e PowerBuilder. Devem ser instalados e registrados no seu sistema antes de serem utilizados. Você pode obter um catálogo de componentes em www.activeserverpages.com/ components.
Instâncias de Objetos e Componentes Objetos e componentes são criados e instanciados da mesma forma. Uma instância é uma cópia de execução de um objeto. Existem duas maneiras de criar uma instância de um componente. pelo método Server.CreateObject ou pelo elemento <OBJECT>. Um componente somente pode ser utilizado após ter sido instalado e registrado em seu sistema.
Usando o método Server.CreateObject É a maneira mais comum para criar uma instância de um objeto. Por exemplo, para criar uma instância do componente Browser Capabilities: <% DimobjBrowser SetobjBrowser=Server.CreateObject("MSWC.BrowserType") %>
No exemplo acima o parâmetro MSWC.BrowserType é o ProgID do componente Browser Capabilities.
13
Conceitos Básicos
Objetos e Componentes
Usando o elemento <OBJECT> Podemos usar o elemento <OBJECT> padrão HTML para criar instâncias de um componente no servidor adicionando o parâmetro RUNAT="SERVER". Normalmente utiliza-se o PROGID em vez do ClassID numérico. <OBJECT RUNAT="Server" SCOPE=escopo ID=identificador {PROGID="progid"|CLASSID="ClassID"}> <PARAM NAME="param1" VALUE="valor1"> <PARAM NAME="param2" VALUE="valor2"> </OBJECT> Parâmetros
Descrição
SCOPE
Especifica o escopo do objeto. Se SCOPE="PAGE" ou se for omitido, indica que o escopo é a página corrente. Caso <OBJECT> estiver no arquivo Global.asa, os escopos Session ou Application podem ser informados. Especifica o nome para a instância do objeto. Identificador do objeto. Especifica um identificador único para um objeto COM. ProgID ou ClassID devem ser especificados. Define os valores das propriedades expostas pelo objeto para uso em nossos scripts
ID PROGID CLASSID PARAM
Exemplos <OBJECTRUNAT=ServerSCOPE=SessionID=MinhaConexao PROGID=”ADODB.Connection”> REMObjectScript </OBJECT> <OBJECT RUNAT=ServerSCOPE=SessionID=MinhaConexao CLASSID=”Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21"> REMObjectScript </OBJECT>
Como podemos perceber, a utilização do ProgID é mais fácil do que ClassID.
Diferença entre CreateObject e <OBJECT> O método Server.CreateObject cria uma instância do objeto imediatamente. O elemento <OBJECT> somente cria uma instância do objeto na primeira vez que o objeto for referenciado.
Escopo das Instâncias de Objetos Por default, todas as instâncias de objetos e componentes criados em uma página ASP tem escopo da página. Eles existem somente enquanto a página estiver sendo executada, e são destruidos automaticamente após a página corrente ter sido encerrada e os resultados terem sidos enviados ao browser cliente. Entretanto se nós colocarmos o elemento <OBJECT> no arquivo Global.asa que existe no diretório raiz da aplicação, pode ser especificado que o objeto ou componente deverá ter escopo Application ou Session. 14
Conceitos Básicos
Diretivas de Processamento
Diretivas de Processamento As diretivas de processamento indicam ao servidor web como processar o arquivo .asp. Elas devem ser colocadas na primeira linha do script, e não podem ser incluídas em um arquivo incluído com #include. O formato destas diretivas é: <%@ diretiva=valor diretiva=valor ...%> Parâmetro
Descrição
diretiva valor
Nome da diretiva (deve ser precedido por um espaço). Valor da diretiva (sem espaços em torno do sinal "=").
Exemplo: <%@ LANGUAGE="JScript" CODEPAGE="1252" LCID="2057"%>
CODEPAGE Define a página de código para interpretar o script no servidor. Ao contrário, a propriedade Session.CodePage, define a página de código para interpretação do HTML enviado ao browser. <@ CODEPAGE=página_código %>
ENABLESESSIONSTATE Habilita (True) ou desabilita (False) o armazenamento de informações de sessão através de cookie de sessão. <%@ ENABLESESSIONSTATE=True|False%>
LANGUAGE Define a linguagem de script default para toda a página. <%@ LANGUAGE=linguagem%>
LCID Define um identificador de localidade para o script no servidor. O identificador é utilizado para definir a formatação de strings de dados, como datas e horas. Ao contrário, a propriedade Session.LCID, define o identificador de localidade para interpretação do HTML enviado ao browser. <%@ LCID=identificador%>
TRANSACTION Declara a página como transacional. <%@ TRANSACTION=tipo%> Parâmetro
Descrição
Required
Executa a página dentro de uma transação existente (se existir), ou iniciará uma nova transação. Requires_New A página sempre iniciará uma nova transação, mesmo que já exista uma. Supported Executa a página dentro de uma transação existente (se existir), mas não iniciará uma nova transação. Not_Supported A página não será executada dentro de uma transação existente, nem iniciará uma nova transação. 15
Conceitos Básicos
Diretivas SSI
Diretivas SSI (Server-Side Include) As diretivas SSI (Server Side Includes) são diretivas executadas no servidor web que permitem a inserção dinâmica de informações (tais como a data corrente, um arquivo HTML, etc) em uma página HTML. Essas diretivas são implementadas no servidor web através da DLL ssinc.dll. Por default o servidor IIS mapeia qualquer página com as extensões .shtml, .shtm ou .stm para essa DLL. Todas as diretivas SSI são permitidas em HTML. Entretanto, somente a diretiva #include é permitida em HTML e ASP. Para utilizar diretivas SSI, você deve renomear as extensões .htm ou .html para .shtml. Por exemplo, index.html deverá ser chamado index.shtml.
#config Especifica o formato usado para mensagens de erro, datas, e tamanhos de arquivo retornado para o browser cliente. <!--#configtimefmt=”%m/%d/%y”-->
#echo Insere o valor de uma variável de ambiente em uma página HTML. <!--#echovar=”DATE_LOCAL”-->
#exec Executa uma aplicação ou comando shell e insere a saída em uma página HTML. <!--#execcgi=”/cgi-bin/meuscript.cgi”-->
#flastmod Insere a data/hora da última modificação de um arquivo em uma página HTML. <!--#flastmodfile=”ssi.htm”-->
#fsize Insere o tamanho de um arquivo em uma página HTML. <!--#fsizefile="default.asp"-->
#include Inclui um arquivo em uma página HTML ou ASP. A extensão do arquivo a ser incluído deve estar mapeada, na configuração do servidor web, para SSINC.DLL, a DLL que interpreta diretivas SSI. Por default, o IIS mapea as extensões .shtml, .shtm e .stm. <!--#include file|virtual ="nomearq" --> Parâmetro
Descrição
file
Inclui um arquivo. O nome do arquivo é relativo ao diretório da página corrente. <!--#includefile=”xyz.asp”-->
virtual
Inclui um arquivo. O nome do arquivo representa um path que é relativo à raiz do site. <!--#includevirtual=”/xyz.asp”-->
16
Conceitos Básicos
Global.asa
Arquivo Global.asa Global.asa é um arquivo opcional, localizado na raiz do diretório virtual. Deve existir somente um arquivo global.asa por aplicação. Ele armazena informações e objetos usados globalmente pela aplicação, e não pode conter qualquer conteúdo que possa ser exibido para o usuário. O código contido no arquivo Global.asa será executado automaticamente no início e no final de uma sessão de usuário e também no início e no final da aplicação ASP. Normalmente o código no arquivo Global.asa é utilizado para inicializar variáveis no início de cada sessão de usuário ou para criar conexões a bancos de dados que são utilizadas em toda a aplicação.
Exemplo de Arquivo Global.asa <OBJECT RUNAT=Server SCOPE=Session ID=Tool1 PROGID="MSWC.Tools"> </OBJECT> <SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER> SubApplication_OnStart Application("UsuariosAtivos")=0 End Sub SubApplication_OnEnd End Sub SubSession_OnStart Session.Timeout=20 Session("Inicio")=Now Application.Lock Application("UsuariosAtivos")=Application("UsuariosAtivos")+1 Application.UnLock End Sub SubSession_OnEnd Application.Lock Application("UsuariosAtivos")=Application("UsuariosAtivos")-1 Application.UnLock End Sub </SCRIPT> <!--METADATATYPE="TypeLibrary" FILE="Report.LIB" VERSION="1.5" LCID="1306" -->
17
Conceitos Básicos
Global.asa
Partes do Arquivo Global.asa O arquivo Global.asa é dividido em quatro segmentos: • Eventos do objeto Application • Eventos do objeto Session • Declarações <OBJECT> • Declarações TypeLibrary
Eventos do objeto Application Uma aplicação ASP é formada por todos os arquivos em um diretório virtual e nos subdiretórios deste. Pode ter dois eventos: o evento Application_OnStart e o Application_OnEnd. Evento
Descrição
Application_OnStart
Ocorre na primeira vez que um usuário abre uma das páginas da aplicação. Pode-se definir um script a ser executado quando da ocorrência deste evento. Ocorre quando o servidor web é desligado. Podese definir um scritpt a ser executado após todas as sessões de usuários terem terminado. Por exemplo, você pode querer calcular e armazenar estatísticas sobre sessões de usuário para referência futura.
Application_OnEnd
Eventos do objeto Session O servidor web cria automaticamente uma sessão quando o usuário que previamente não tinha uma sessão, abre uma página na aplicação. Essa sessão é encerrada quanto atingir o timeout ou quando o servidor chamar o método Abandon. A sessão têm dois eventos: Session_OnStart e Session_OnEnd. Evento
Descrição
Session_OnStart
Ocorre antes do início de uma nova sessão por um usuário. Pode-se definir um script para esse evento, que será executado antes que a página solicitada pelo usuário seja processada. Ocorre quando a sessão de um usuário é encerrada, por timeout (default=20 minutos) ou pela execução do método Abandon.
Session_OnEnd
Declarações <OBJECT> O elemento <OBJECT> cria objetos com escopo Session ou Application. Por exemplo: <OBJECTRUNAT=ServerSCOPE=SessionID=MeuAdRot PROGID=”MSWC.AdRotator”> </OBJECT>
Então esse objeto poderá ser referênciado em qualquer página da aplicação: <%=MeuAdRot.GetAdvertisement(“/ads/adrot.txt”)%>
Para mais detalhes sobre o elemento <OBJECT> veja a página 14.
18
Conceitos Básicos
Global.asa
Declarações Type Library Uma type library é um arquivo que contém informações sobre objetos e tipos suportados por um componente ActiveX. A declaração, no arquivo Global.asa, das type libraries dos objetos ActiveX utilizados na aplicação, permite referenciar em qualquer script da aplicação, os tipos de dados das type libraries.
Sintaxe: <!—METADATA TYPE=”TypeLib” FILE=”nomearquivo” UUID=”typelibraryuuid” VERSION=”majorversionnumber.minorversionnumber” LCID=”localeid” —> Parâmetro
Significado
nomearquivo typelibraryuuid majorversionnumber minorversionnumber localeid
Path para a type library. Identificador universal único para a type library. Número mais significativo da versão. Número menos significativo da versão. Identificador de local usado pela type library.
Informações Adicionais •
•
• •
•
Os delimitadores <% %> não são permitidos no arquivo global.asa. Devem ser usadas as tags <SCRIPT> e </SCRIPT>. O parâmetro RUNAT=Server deve ser especificado na tag. O arquivo global.asa é significativo somente para inicialização e finalização. Qualquer código que tentar enviar dados para o cliente será ignorado. Por exemplo, você pode ter HTML em seu arquivo Global.asa mais ele será ignorado. Do mesmo modo, você não tem acesso ao método Response.Write. Não é necessário "lock" e "unlock" o objeto Application na rotina Application_onStart pois isto é executado uma única vez. Quando alterações são gravadas no arquivo Global.asa, o servidor termina todo processamento da aplicação corrente antes de recompilar o arquivo Global.asa. Durante esse tempo o servidor não aceita solicitações adicionais e retorna uma mensagem de erro indicando que a solicitação não pode ser processada enquanto a aplicação estiver sendo reiniciada. Após todas as solicitações do usuário corrente tiverem sido processadas, o servidor elimina todas as sessões ativas, chamando o evento Session_OnEnd para cada sessão que ele elimina, fecha a aplicação e chama o evento Application_OnEnd. O arquivo Global.asa é então recompilado. Subseqüentes solicitações de usuário iniciarão a aplicação e criarão novas sessões. Procedures declaradas no arquivo Global.asa somente podem ser chamadas pelos scripts associados com os eventos Application_OnStart, Application_OnEnd, Session_OnStart, e Session_OnEnd. Elas não estão disponíveis para as páginas ASP em uma aplicação ASP. 19
Objetos Intrínsecos do ASP
Application
Objeto Application O objeto Application representa a própria aplicação ASP, que é definida como o conjunto de todos os arquivos .asp em um diretório virtual e seus subdiretórios. O objeto Application é criado pelo servidor web no momento da primeira solicitação de página do primeiro usuário da aplicação, e permanece na memória até que o servidor web seja desativado. Existe somente um objeto Aplication para todos os usuários da aplicação ASP, que é usado para armazenamento de variáveis e referências a objetos disponíveis para todas as páginas da aplicação. Uma variável armazenada no objeto Application pode ser lida e modificada por qualquer página dentro da aplicação e por qualquer usuário. Por exemplo: <% Application.Lock Application("minhavar")="Alômundo" Application.Unlock Response.WriteApplication("minhavar") %>
As variáveis e objetos criados através de scripts (não através da tag <OBJECT> são armazenados na coleção Contents do objeto Application. As referências a instâncias de objetos criados com o elemento <OBJECT> são armazenadas na coleção StaticObjects do objeto Application.
Sumário do Objeto Application Coleções Contents StaticObjects
Métodos Contents.Remove Contents.RemoveAll Lock() Unlock()
Eventos OnStart (definido no arquivo Global.asa, ver página 18). OnEnd (definido no arquivo Global.asa, ver página 18).
20
Objetos Intrínsecos do ASP
Application
Coleções do objeto Application Contents A coleção Contents do objeto Application pode armazenar variáveis escalares e instâncias de objetos criados com Server.CreateObject (e não através da tag <OBJECT>). Application.Contents(nome_item)
Propriedades da coleção Contents Como todas as coleções ASP, a coleção Contents tem as seguintes propriedades: Item, Key e Count.
Item Define ou retorna o valor de um elemento específico na coleção Contents. O elemento pode ser especificado através de um número de índice (inicia em 1) ou de uma chave. Por exemplo: • Utilizando um número de índice: Application.Contents.Item(1)="novatec"
•
Utilizando uma chave: Application.Contents.Item("editora")="novatec"
A propriedade Item é a propriedade default da coleção Contents, que por sua vez é a coleção default do objeto Application. Os três exemplos abaixo são eqüivalentes: Application.Contents.Item(1)="novatec" Application.Contents(1)="novatec" Application(1)="novatec"
do mesmo modo, os exemplos abaixo também são eqüivalentes: Application.Contents.Item("editora")="novatec" Application.Contents("editora")="novatec" Application("editora")="novatec"
Key Define ou retorna o nome de um elemento específico na coleção Contents. Utilizando o exemplo da propriedade Item, então: strNomeChave=Application.Contents.Key(1)
retorna "editora", e o exemplo abaixo strValorChave=Application.Contents.Key("editora")
retorna "novatec".
Count Representa o número de elementos na coleção Contents.
21
Objetos Intrínsecos do ASP
Application
Exemplo da utilização de coleções <% Application(“nome”)=“GuiadeASP” Application(“data”)=“05/01/2000” Application(“autor”)=“RubensPrates” SetApplication(“Obj1”)=Server.CreateObject(“ADODB.Connection”) ForEachIteminApplication.Contents IfIsObject(Application.Contents(Item))Then Response.WriteItem&“éumobjeto.<BR>” Else Response.WriteItem&“=”&Application.Contents(Item)&“<BR>” EndIf Next %>
StaticObjects A coleção StaticObject do objeto Application pode armazenar instâncias de objetos criadas com o elemento <OBJECT>. Application.StaticObjects(nome_item)
Propriedades da coleção StaticObjects Como todas as coleções ASP, a coleção StaticObjects tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
Exemplo —————arquivo Global.asa——————<OBJECTRUNAT=ServerSCOPE=ApplicationID=ObjInfo PROGID=”MSWC.MyInfo”> </OBJECT> <OBJECTRUNAT=ServerSCOPE=ApplicationID=ObjConexao PROGID=”ADODB.Connection”> </OBJECT> <OBJECTRUNAT=ServerSCOPE=ApplicationID=ObjAdRot PROGID=”MSWC.ADRotator”> </OBJECT> —————arquivo.asp————————<% ForEachobjInApplication.StaticObjects Response.Writeobj&“<BR>” Next \%>
22
Objetos Intrínsecos do ASP
Application
Métodos do objeto Application Contents.Remove Remove uma variável da coleção Application.Contents. Não é possível remover variáveis da coleção Application.StaticObjects. Application.Contents.Remove (nome | índice) Argumento
Descrição
nome índice
Nome do item a ser removido. Índice do item a ser removido.
Contents.RemoveAll Remove todas as variáveis da coleção Application.Contents. Application.Contents.RemoveAll
Lock O método Lock impede que outros clientes alterem valores da coleção Contents do objeto Application. Para retirar o bloqueio utilize Unlock. Exemplo: Application.Lock <% Application.Lock Application("NumVisitas")=Application("NumVisitas")+1 Application.Unlock %> Estapáginadaaplicaçãojáfoivisitada <%=Application("NumVisitas")%>vezes.
Unlock Retira o bloqueio do objeto Application (efetuado por Lock), permitindo que qualquer cliente acesse e altere qualquer valor da coleção Contents do objeto Application. Application.Unlock
Eventos do objeto Application Application_OnEnd O evento OnEnd ocorre quando a Application é encerrada. O código para este evento deve ser colocado no arquivo Global.asa. Para mais detalhes veja a página 18.
Application_OnStart Este evento ocorre quando a aplicação é referenciada pela primeira vez. O código para este evento deve ser colocado no arquivo Global.asa. Para mais detalhes veja a página 18.
23
Objetos Intrínsecos do ASP
ASPError
Objeto ASPError (ASP 3.0) O objeto ASPError é usado para obter informações sobre um erro ocorrido em uma página ASP. O objeto ASPError é retornado pelo método Server.GetLastError.
Sumário do Objeto ASPError Propriedades ASPCode ASPDescription Category Column Description Line Number File Source
Propriedades do objeto ASPError ASPCode Retorna o código do erro gerado pelo servidor IIS. ASPError.ASPCode () Código
Significado
ASP 0100 ASP 0101 ASP 0102 ASP 0103 ASP 0104 ASP 0105 ASP 0106 ASP 0107 ASP 0115 ASP 0177 ASP 0190 ASP 0191 ASP 0192 ASP 0193 ASP 0194 ASP 0240 ASP 0241 ASP 0242
Out of memory Unexpected error Expecting string input Expecting numeric input Operation not allowed Index out of range Type Mismatch Stack Overflow Unexpected error Server.CreateObject Failed Unexpected error Unexpected error Unexpected error OnStartPage Failed OnEndPage Failed Script Engine Exception CreateObject Exception Query OnStartPage Interface Exception
ASPDescription Retorna uma descrição detalhada do erro, se for um erro relacionado com ASP. ASPError.ASPDescription ()
24
Objetos Intrínsecos do ASP
ASPError
Category Indica a fonte do erro: IIS, linguagem de scripting ou um componente. ASPError.Category ()
Column Indica a coluna na linha dentro do arquivo .asp que gerou o erro. ASPError.Column ()
Description Retorna uma breve descrição do erro. ASPError.Description ()
Line Indica a linha dentro do arquivo .asp que gerou o erro. ASPError.Line ()
Number Retorna o código de erro padrão COM. ASPError.Number ()
File Indica o nome do arquivo .asp que estava sendo processado quando ocorreu o erro. ASPError.File ()
Source Retorna o código, se disponível, da linha que causou o erro. ASPError.Source ()
25
Objetos Intrínsecos do ASP
ObjectContext
Objeto ObjectContext O objeto ObjectContext é utilizado para encerrar ou abortar uma transação em uma página ASP. Quando uma página ASP contém, em sua primeira linha, a diretiva @TRANSACTION, a página será executada em um contexto de transação e não será encerrada até que a transação seja encerrada com sucesso ou falhe. As transações em uma aplicação ASP eram controladas, até o ASP 2.0, pelo MTS (Microsoft Transaction Server), que a partir do Windows 2000, foi incorporado à tecnologia COM+. O MTS continua entretanto sendo suportado nas versões anteriores ao Windows 2000.
Sumário do Objeto Request Eventos OnTransactionAbort OnTransactionCommit
Métodos SetAbort SetComplete
Eventos do objeto ObjectContext OnTransactionAbort Ocorre quando uma transação for abortada. A subrotina associada ao evento OnTransactionAbort é executada, se tiver sido especificada no script.
OnTransactionCommit Ocorre quando uma transação for executada com sucesso. A subrotina associada ao evento OnTransactionCommit é executada, se tiver sido especificada no script.
Métodos do objeto ObjectContext SetAbort Aborta uma transação. Quanto uma transação é abortada, o evento OnTransactionAbort é acionado. ObjectContext.SetAbort
SetComplete Indica que uma transação foi completada com sucesso. Aciona o evento OnTransactionCommit. A chamada para SetComplete não significa que a transação inteira está completa. Cada componente chamado no script deve também chamar o método SetComplete. Se SetComplete não for chamado, a transação só será considerada encerrada após todo o código ter sido processado sem qualquer chamada para SetAbort. ObjectContext.SetComplete 26
Objetos Intrínsecos do ASP
Request
Objeto Request O objeto Request fornece acesso às informações passadas, na solicitação (request) do browser ao servidor. Essas informações são armazenadas nas coleções do objeto Request.
Sumário do Objeto Request Coleções ClientCertificate Cookies Form QueryString ServerVariables
Propriedade TotalBytes
Método BinaryRead
Coleções do objeto Request Todas as variáveis podem ser acessadas diretamente chamando Request(variável) sem o nome da coleção. Nesse caso, o servidor web pesquisa as coleções na seguinte ordem: 1. QueryString 2. Form 3. Cookies 4. ClientCertificate 5. ServerVariables Se uma variável existe com mesmo nome em mais de uma coleção, o objeto Request retorna a primeira instância encontrada. Recomendase que quando se referir a membros de uma coleção utilizar o nome completo;istofazcomqueoservidorlocalizeumitemmaisrapidamente. Por exemplo, utilize Request.ServerVariables(AUTH_USER) em vez de Request(AUTH_USER).
ClientCertificate A coleção ClientCertificate contêm os valores dos campos do certificado digital do cliente enviado na solicitação (request) HTTP. Certificados digitais possibilitam transações eletrônicas seguras e são enviados pelo browser cliente para o servidor web quando o browser cliente suportar Secure Sockets Layer (SSL) e o browser estiver conectado a um servidor web que também está executando o SSL (o URL começa com https://). Request.ClientCertificate(Chave [Subcampo]) Argumento
Descrição
Chave Certificate
Nome do campo de certificação a ser obtido. Um string contendo o stream binário do conteúdo do certificado. 27
Objetos Intrínsecos do ASP Flags
Issuer
SerialNumber Subject
ValidFrom ValidUntil SubChave
C CN GN I L O OU S T
Request
Existem duas flags que fornecem informações adicionais sobre o certificado do cliente. Necessita da inclusão do arquivo cervbs.inc. A flag ceCertPresent indica que um certificado do cliente está presente. A flag ceUnrecognizedIssuer indica que o certificado digital do cliente foi atribuído por uma autoridade de certificação desconhecida. Um string contendo informações sobre o emissor do certificado digital do cliente. Se o parâmetro SubChave não for especificado, a utilização da chave Issuer retorna uma lista de todos os valores de subcampos Issuer separados por vírgulas. Representação ASCII dos bytes hexadecimais do número serial da certificação. Uma lista de strings delimitados por vírgulas que fornecem informações sobre o proprietário do certificado digital. Data inicial da validade do certificado. Data de expiração do certificado. O argumento opcional SubChave é um sufixo adicionado aos campos Issuer ou Subject. Por exemplo, IssuerL que é a localidade do Issuer. Nome do país de origem do Subject ou Issuer. Nome comum da chave Subject. Nome do Subject ou Issuer. Iniciais do Subject ou Issuer. Localidade. Nome da empresa ou organização. Nome da unidade organizacional dentro da organização Estado (ou provincia) do Subject ou Issuer. Cargo do Subject ou Issuer.
Exemplo <HTML> <HEAD> </HEAD> <BODY> Estecertificadoéválidode <%=Request.ClientCertificate(“ValidFrom”)%>até <%=Request.ClientCertificate(“ValidUntil”)%> </BODY> </HTML>
Propriedades da coleção ClientCertificate Como todas as coleções ASP, a coleção ClientCertificate tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
28
Objetos Intrínsecos do ASP
Request
Cookies A coleção Cookies contêm os valores dos cookies enviados pelo browser cliente na solicitação (request) HTTP ao servidor web. Um cookie é um pequeno arquivo texto fornecido pelo servidor web e armazenado no computador do cliente, utilizado para identificar as sessões de cada cliente conectado ao seu servidor web. Mais informações sobre cookies podem ser obtidas em www.cookiecentral.com. Request.Cookies(nome)[(campo)|.atributo] Parâmetro
Descrição
nome campo
Nome do cookie. Parâmetro opcional usado para obter os valores dos campos de dicionários cookie. Valor booleano que indica se o cookie possui campos. Indica que o cookie possui campos. Indica que o cookie não possui campos.
atributo True False
Exemplo Exibe os valores do cookie recebido na request HTTP: <% ForEachstrItemInRequest.Cookies Response.WritestrItem&“=“&Request.Cookies(strItem)&“<BR>” IfRequest.Cookies(strItem).HasKeysThen ForEachstrSubitemInRequest.Cookies(strItem) Response.Write“->”&strItem&“(“&strSubitem&“)=“&_ Request.Cookies(strItem)(strSubitem)&“<BR>” Next EndIf Next %>
Propriedades da coleção Cookies Como todas as coleções ASP, a coleção Cookies tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
Form A coleção Form contém os valores dos elementos de um formulário enviados no corpo (body) da solicitação (request) HTTP, usando o método POST. Request.Form(elemento)[(índice)|.Count] Parâmetro
Descrição
elemento índice
Nome do elemento <FORM>. Parâmetro opcional usado quando o elemento tem mais de um valor. É um número inteiro entre 1 e Request.Form(elemento).Count. Número de valores do elemento.
Count
29
Objetos Intrínsecos do ASP
Request
Exemplo Considere o seguinte formulário: <FORM ACTION = “submit.asp” METHOD = “POST”> <P>Nome: <INPUT NAME = “nome” SIZE = 48> <P>Qualéasuacervejapreferida:<SELECTNAME=“cerveja”> <OPTION>Brahma <OPTION>Antartica <OPTION>Bavária <OPTION>Skol</SELECT> <P><INPUT TYPE = SUBMIT> </FORM>
Desse formulário, o seguinte corpo (body) poderia ser enviado: nome=Joel&cerveja=Brahma
O seguinte script poderia ser usado: Benvindo, <%=Request.Form(“nome”)%>. Suacervejapreferidaé<%=Request.Form(“cerveja”)%>.
O resultado seria: Benvindo,Joel.SuacervejapreferidaéBrahma.
Propriedades da coleção Form Como todas as coleções ASP, a coleção Form tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
QueryString A coleção QueryString contém os valores das variáveis enviadas no query string da solicitação (request) HTTP, usando o método GET. Query string é um string anexado ao URL usado para o envio de pequenos volumes de dados ao servidor. A query string é especificada após o sinal de (?), contendo pares de nomes e valores de variáveis, separados por &. Os espaços são substituídos pelo sinal de "+" dentro de valores. Diferentes processos podem gerar uma query string, tais como uma tag <A HEF>, a submissão de um formulário ou a digitação de uma consulta na caixa de endereço do browser. Por exemplo, a tag: <AHREF=“exemplo?string=istoéumexemplo”>exemplostring</A>
gera a variável string com o valor "isto é um exemplo". Request.QueryString(variável)[(índice)|.Count] Parâmetro
Descrição
variável índice
Nome da variável. Parâmetro opcional usado quando o elemento tiver mais de um valor. É um número inteiro entre 1 e Request.Querystring(variável).Count. Número de valores do parâmetro.
Count
30
Objetos Intrínsecos do ASP
Request
Exemplo Considere o seguinte formulário: <FORM ACTION = “submit.asp” METHOD = “GET”> <P>Nome: <INPUT NAME = “nome” SIZE = 48> <P>Qualéasuacervejapreferida:<SELECTNAME=“cerveja”> <OPTION>Brahma <OPTION>Antartica <OPTION>Bavária <OPTION>Skol</SELECT> <P><INPUT TYPE = SUBMIT> </FORM>
Desse formulário, a seguinte query string poderia ser enviado: nome=Joel&cerveja=Brahma
O seguinte script poderia ser usado: Benvindo, <%=Request.QueryString(“nome”)%>. Suacervejapreferidaé<%=Request.QueryString(“cerveja”)%>.
O resultado seria: Benvindo,Joel.SuacervejapreferidaéBrahma.
Propriedades da coleção QueryString Como todas as coleções ASP, a coleção QueryString tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
ServerVariables Uma coleção dos valores do header HTTP enviados na solicitação (request) do browser cliente para o servidor, mais os valores de variáveis de ambiente do servidor web. Cada vez que uma página ASP é acessada, o servidor web cria variáveis de ambiente com informações sobre o browser, o servidor web e a página ASP que está sendo acessada. strValor = Request.ServerVariables("nome") Parâmetro
Descrição
nome
Nome do elemento da coleção ServerVariables. Veja na página 122 a lista dos possíveis valores.
Exemplo <% EnderecoIP=Request.ServerVariables(“REMOTE_ADDR”) Response.Write“SeuendereçoIPé“&EnderecoIP %>
Propriedades da coleção ServerVariables Como todas as coleções ASP, a coleção ServerVariables tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
31
Objetos Intrínsecos do ASP
Request
Propriedade do objeto Request TotalBytes Retorna o número total de bytes no corpo (body) da solicitação (request) HTTP enviada pelo browser cliente. Var = Request.TotalBytes
Método do objeto Request BinaryRead O método BinaryRead lê um número de bytes diretamente do corpo (body) da solicitação (request) HTTP enviada pelo cliente como parte de um HTTP Post. Esse método obtém os dados do cliente e armazena-os em um SafeArray. Um SafeArray é um array especial que contém, além de seus itens, o número de dimensões no array e os limites dessas dimensões. Variant=Request.BinaryRead(numbytes) Descrição
variant numbytes
Array contendo os bytes lidos pelo método. Número de bytes a serem lidos.
32
Parâmetro
Objetos Intrínsecos do ASP
Response
Objeto Response O objeto Response permite enviar informações para o browser cliente, tais como texto, dados e cookies. Pode incluir informação de header HTTP, como também a saída usada para criar a página HTML. Algumas dessas informações são parte do header da página, que devem ser enviadas para o browser cliente antes que outro conteúdo seja enviado, a não ser que Response.Buffer esteja habilitado.
Sumário do Objeto Response Coleção Cookies
Propriedades Buffer CacheControl Charset ContentType Expires ExpiresAbsolute IsClientConnected PICS Status
Métodos AddHeader AppendToLog BinaryWrite Clear End Flush Redirect Write
Coleção do objeto Response Cookies A coleção Cookies é usada para enviar um cookie para o browser cliente. Permite atribuir um novo valor para um cookie (se ele já existir); caso contrário, o cookie é criado e o valor é atribuído. Por alterarem valores do header HTTP response, os valores da coleção Cookies devem ser enviados antes que qualquer código HTML seja enviado para o browser cliente, exceto se Response.Buffer estiver habilitado. Response.Cookies(item)[(subitem)|.atributo]=valor Parâmetro
Descrição
item subitem
Nome do cookie. Nome do campo do cookie. Por exemplo: Response.Cookie("MeuCookie")("Codigo")="X13" 33
Objetos Intrínsecos do ASP valor atributo Domain Expires
HasKeys Path
Secure
Response
Valor atribuído à chave ou o atributo. Atributos dos elementos da coleção Cookies. Indica que o browser cliente deve enviar o valor do cookie somente para páginas no domínio especificado. Data em que o cookie expira e é descartado no computador do cliente. Se não for especificado, o cookie residirá no computador somente durante a sessão do cliente. Retorna um valor booleano (True/False) indicando se o cookie contém campos. Indica o diretório virtual para onde o cookie deve ser enviado. Para enviar o cookie para todas as páginas do site utilize Path="/". Se não for especificado, assume o path da aplicação ASP corrente. Indica que o cookie deve ser enviado somente se o browser cliente estiver utilizando Secure Sockets Layer (SSL) (True/False).
Exemplo: <% 'Enviaumcookieparaobrowsercliente Response.Cookies("MeuCookie").Domain="/novatec1.com/" Response.Cookies("MeuCookie").Path="/cookies" Response.Cookies("MeuCookie").Expires=#08/30/2000# Response.Cookies("MeuCookie").Secure=False %>
A coleção Cookies pode armazenar múltiplos valores em um único item. Esses subitens podem ser acessados individualmente. Por exemplo: <% ‘Enviaumcookiecomsubitensparaobrowsercliente Response.Cookies(“Usuario”)(“Id”)=“Joel” Response.Cookies(“Usuario”)(“Senha”)=“olddog” Response.Cookies("Usuario").Path="/" Response.Cookies("Usuario").Expires=DateAdd("m",3,Now) %>
Informações adicionais sobre cookies Os cookies são armazenados como arquivos de texto, seu nome identifica o usuário e o site. No browser Internet Explorer os cookies são gravados no subdiretório Cookies do Windows, do computador do usuário. Para visualizar o conteúdo de um cookie, clique com o botão direito do mouse nele e selecione Open no menu de contexto. O usuário pode desabilitar o recebimento de cookies, alterando a configuração do seu browser.
Propriedades da coleção Cookies Como todas as coleções ASP, a coleção Cookies tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 21.
34
Objetos Intrínsecos do ASP
Response
Propriedades do objeto Response Buffer Determina se a saída de uma página ASP deve ser colocada em um buffer até que todos os scripts na página sejam processados, ou até que os métodos Flush ou End serem executados. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.Buffer = blnSetting Parâmetro
Descrição
True
Indica que a saída da página será colocado em um buffer até que todo o script da página corrente tenha sido processado ou até que o método Flush ou End do objeto Response tenha sido chamado (default no ASP 3.0). Não coloca no buffer. A saída é enviada imediatamente ao browser cliente após cada linha criada e introduzida no stream HTML (default no ASP 2.0).
False
CacheControl Determina se servidores proxy devem armazenar as páginas ASP em cache. Um servidor proxy é usado para acelerar a obtenção de páginas, mantendo uma cópia local da página em cache. As propriedades Response.Expires e Response.ExpiresAbsolute podem ser utilizadas para definir a hora e/ou data limite da existência do cache. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.CacheControl [="Private" | "Public"] Parâmetro
Descrição
Private Public
Desabilita o armazenamento em cache do proxy (default). Permite que os servidores proxy armazenem as páginas em cache.
Charset Define o character set para o conteúdo do response HTTP. O nome do character set é adicionado ao final do header "contenttype" no objeto Response. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.Charset (strNomeCharset) Parâmetro
Descrição
strNomeCharset
String correspondente ao character set (default=ISOLATIN-1).
Exemplo <%Response.Charset(“ISO-LATIN-7”)%>
35
Objetos Intrínsecos do ASP
Response
ContentType Define o valor do item Content-Type no header HTTP enviado para o browser cliente. Informa ao browser cliente o tipo de conteúdo enviado no corpo (body) na resposta do servidor, por exemplo, se é texto ou imagem. Isto permite ao browser determinar se ele pode exibir o arquivo ou é necessário chamar outra aplicação.Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.ContentType = strTipoConteúdo Parâmetro
Descrição
strTipoConteúdo
Representa o tipo do conteúdo, como um tipo MIME padrão, no formato tipo/subtipo. A parte tipo do valor representa o conteúdo geral e o subtipo representa o conteúdo específico (default=text/html).
Exemplo <% iftipodados="jpg"Then Response.ContentType="image/JPEG" Else Response.ContentType="text/plain" EndIf %>
Expires Especifica a quantidade de tempo (em minutos) que a página corrente deve ser mantida no cache do computador cliente. Se o usuário retornar para essa página dentro do tempo especificado, a versão em cache da página será exibida. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.Expires [= intNumMinutos] Argumento
Descrição
intNumMinutos
Número de minutos que o browser cliente deve deixar no cache a página corrente. O valor zero força o browser cliente a solicitar novamente a página do servidor toda a vez que o cliente navegue pela página.
ExpiresAbsolute Especifica que a página corrente deve ser mantida no cache do computador cliente até a data e hora especificados. Se o usuário retornar para esta página antes desta data e hora, a versão em cache da página será exibida. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.ExpiresAbsolute [=[data] [hora]] 36
Objetos Intrínsecos do ASP
Response
Parâmetro
Descrição
data
Data após a qual a página corrente não deve permanecer no cache (formato mês/dia/ano). Se a data não for especificada, a página expirará no horário especificado no mesmo dia em que script for executado. Hora na data especificada a qual a página corrente não deve permanecer no cache. Se não for especificado, a página expirará exatamente à meia-noite da data especificada.
hora
Exemplo <% Response.ExpiresAbsolute=#February20,200018:00:00# %>
IsClientConnected Retorna True se o cliente estiver conectado e carregando a página do servidor; caso contrário, retorna False. Pode ser utilizada para finalizar o processamento (com o método Response.End) se o cliente passar para outra página antes da página corrente ter sido encerrada. Esta propriedade é útil se o script corrente for longo; evita que o servidor continue tentando enviar informações quando o usuário não está mais conectado. No ASP 2.0 verificava se o usuário continuava conectado após a última chamada do método Response.Write; na versão 3.0 pode ser utilizada antes de qualquer conteúdo ter sido enviado para o cliente. Response.IsClientConnected
Exemplo <% ifResponse.IsClientConnectedThen
código... else Response.End EndIf %>
Pics Adiciona um label PICS ao header HTTP response. PICS é um sistema de classificação usado voluntariamente por sites para classificar o conteúdo da página em termos de violência, sexo, linguagem inapropriada, etc. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Se o label possui aspas embutidas, estas devem ser substituídas por & chr(34) &. Mais informações sobre PICS podem ser obtidas em www.rsac.org. Response.Pics (strLabelPICS)
37
Objetos Intrínsecos do ASP
Response
Status Especifica o valor do status e da mensagem enviada para o cliente nos headers HTTP da resposta para indicar o resultado do processamento da página (erro ou sucesso). Quando um servidor responde a uma solicitação (request) HTTP, a primeira linha retornada é a linha de status. Por alterar valores do header HTTP da resposta, deve ser definida antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.Status = strStatus Argumento
Descrição
strStatus
Valor string contendo um código de três dígitos que indica o status da solicitação (request) HTTP e uma breve descrição do código de status. Veja na página 121 os códigos de status.
Exemplo <% EnderecoIP=Request.ServerVariables(“REMOTE_ADDR”) IfEnderecoIP<>“208.5.64.223”Then Response.Status=“403AccessForbidden” Response.WriteResponse.Status Response.End EndIf %>
Métodos do objeto Response AddHeader Adiciona um header HTTP à resposta enviada ao browser cliente. Não substitui um header existente com mesmo nome, e após adicionado, não pode ser removido. Por alterar valores do header HTTP da resposta, deve ser executado antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Response.AddHeader strNome,strValor Parâmetro
Descrição
strNome
Nome do header a ser adicionado. Pode ser um nome predefinido ou criado pelo próprio usuário. Valor inicial do novo header.
strValor
Exemplo <% Response.Status="302ObjectMoved" Response.AddHeader"Location","novopath/novapag.asp" %>
38
Objetos Intrínsecos do ASP
Response
AppendToLog Acrescenta um string (sem vírgulas) no final de uma entrada no log do servidor web para a solicitação (request) corrente do cliente. O servidor IIS permite registrar, em um arquivo, a atividade do usuário. Esse arquivo pode ser um arquivo texto ou um banco de dados ODBC. Cada entrada no log contém: data/hora da visita do usuário, páginas solicitadas, endereço IP do cliente e o tempo de conexão com o servidor. Os arquivos de log do IIS estão localizados em winnt\system32\LogFiles\W3svc1\ex[data].log. Response.AppendToLog strEntradaLog Parâmetro
Descrição
strEntradaLog String a ser acrescentado. Até 80 caracteres, não pode conter vírgulas, porque os campos do log do IIS são delimitados por vírgulas.
Exemplo <% Response.AppendToLog(“ErronoProcessamento”) %>
Saída adicionada no final do arquivo de log do IIS: 10.78.176.37,-,02/15/2000,14:05:20,W3SVC,VENDAS1,10.78.176.37, ErronoProcessamento
BinaryWrite Envia dados binários diretamente para a saída HTTPcorrente sem qualquer conversão de character-set. Utilizado para enviar informação não-string, tais como dados binários requeridos por uma aplicação cliente ou os bytes que compõem um arquivo imagem. Response.BinaryWrite arbyteDados Parâmetro
Descrição
arbyteDados
Array do tipo Variant de bytes a ser enviado à saída HTTP.
Clear Limpa o buffer de saída HTML. Não limpa headers HTTP, somente o conteúdo do buffer. Ocorrerá um erro de run-time se Response.Buffer não estiver definido como True. Response.Clear
39
Objetos Intrínsecos do ASP
Response
End Interrompe o processamento do script, e envia o resultado corrente para o browser cliente, sem processar o resto do arquivo ASP. Se Response.Buffer estiver definido como True, Response.End esvazia o buffer e então finaliza. Response.End
Exemplo <% Response.Write“Alômundo” Response.End Response.Write“Estalinhanãoserámostrada” %>
Flush Envia o conteúdo do buffer de saída imediatamente ao browser cliente. Ocorrerá erro de run-time se Response.Buffer não estiver definido como True. Response.Flush
Redirect Redireciona a solicitação (request) do cliente para um outro URL. Além de redirecionar o browser para um outro endereço, retorna um HTTP status "302 Object Moved" indicando a ocorrência de um redirecionamento.Nenhuma saída deve ser executada antes de uma instrução Response.Redirect. Response.Redirect(strURL) Parâmetro
Descrição
strURL
String com o endereço URL da página para onde o browser cliente é redirecionado.
Exemplo <% IfSession(“IDCliente”)=“”Then Response.Redirect“Registro.asp” EndIf %>
40
Objetos Intrínsecos do ASP
Response
Write Envia informações diretamente para a saída HTTP corrente. Pode ser utilizado o atalho <%= vntDados %> no lugar de Response.Write. Response.Write vntDados Parâmetro
Descrição
vntDados
Argumento Variant contendo os dados a serem enviados. Inclui textos, tags HTML, scripts client-side, e assim por diante. Não pode conter a combinação de caracteres %>, pois o servidor interpretará como o final do script ativo. Caso seu script requeira esta seqüência de caracteres, use a seqüência escape %\> no lugar.
Exemplo <BODY> <H1>TabelasdasServerVariables</H1> <TABLEborder=0width=90%align=centercellspacing=5> <% ForeachnomeInRequest.ServerVariables Response.Write"<TR><TD>"&nome&"</TD><TD>" Response.WriteRequest.ServerVariables(nome)&"</TD></TR>" Next %> </TABLE> </BODY> </HTML>
41
Objetos Intrínsecos do ASP
Server
Objeto Server O objeto Server fornece acesso a métodos e propriedades do servidor.
Sumário do Objeto Server Propriedade ScriptTimeout
Métodos CreateObject Execute GetLastError HTMLEncode MapPath Transfer URLEncode
Propriedade do Objeto Server ScriptTimeout Define ou retorna a quantidade de tempo (em segundos) que scripts na página podem ser executados antes do servidor abortar a execução da página. É normalmente utilizada para evitar a sobrecarga do servidor com páginas com erros que podem ocasionar loops (default=90 segundos). Server.ScriptTimeout [=lngNumSegundos]
Exemplo <%Server.ScriptTimeout=150%>
Métodos do Objeto Server CreateObject Cria uma instância de um objeto no servidor para uso em uma página ASP. Uma vez instanciado, você pode acessar quaisquer coleções, eventos, métodos e proprieadades associadas com esse objeto. Os objetos a serem instanciados devem estar instalados e registrados no servidor web. Set objMeuObjeto = Server.CreateObject(strProgID) Parâmetro
Descrição
objMeuObjeto Nome da variável que irá conter uma referência para o objeto que está sendo instanciado. strProgID Identificação da classe do objeto que será instanciado. Este valor é encontrado no Registry e representa como a DLL do componente está registrada.
Exemplo <%SetobjConn=Server.CreateObject(“ADODB.Connection”)%>
42
Objetos Intrínsecos do ASP
Server
Execute (ASP 3.0) Interrompe a execução da página corrente e transfere o controle para uma outra página. O ambiente corrente do usuário é carregado para a nova página. Após aquela página ter sido executada, o controle volta para a página original e a execução continua no comando seguinte ao método Execute. O método Execute é similar a uma chamada de procedure em muitas linguagens de programação. Server.Execute(strUrl) Exemplo: <% IfblnUsaDHTMLThen Server.Execute(“DHTML.asp”) Else Server.Execute(“HTML.asp”) EndIf %>
GetLastError (ASP 3.0) Retorna uma referência para um objeto ASPError que armazena detalhes do último erro ocorrido no processamento da página. Por alterar valores do header HTTP da resposta, deve ser executado antes que qualquer saída tenha sido enviada ao browser cliente, a não ser que a resposta esteja buferizada. Server.GetLastError()
HTMLEncode O método HTMLEncode aplica a sintaxe de codificação HTML em um string. Caracteres especiais, tais como: < e > são convertidos para &lt; e &gt;, respectivamente. Server.HTMLEncode(strHTMLString) Parâmetro
Descrição
strHTMLString
String a ser codificado.
Exemplo <% Response.WriteServer.HTMLEncode(“Atagparaumatabelaé:<Table>”) %>
Produz a saída: Atagparaumatabelaé:&lt;Table&gt;
43
Objetos Intrínsecos do ASP
Server
MapPath O método MapPath mapeia um path virtual ou relativo para o correspondente diretório físico no servidor. Server.MapPath(strPath) Parâmetro
Descrição
strPath
Especifica o path virtual ou relativo a ser mapeado para um diretório físico. Se path inicia com (/) ou (\), é assumido ser um path virtual completo. Caso contrário, é assumido ser um path relativo ao diretório que o arquivo .asp está sendo processado.
Exemplo <HTML> Opathdoarquivoteste.aspé: <%Response.WriteServer.MapPath(“teste.asp”)%> </HTML>
Saída do script: OpathdestearquivoéD:\Inetpub\wwwroot\teste.asp
Transfer (ASP 3.0) Interrompe a execução da página corrente e transfere o controle para uma outra página. O ambiente corrente do usuário é carregado para a nova página. Ao contrário do método Execute, a execução não é retornada para a página original. Server.Transfer(strUrl)
Exemplo <% IfSession(“blnVendaRealizada”)Then Server.Transfer(“/Pedido/Agradece.asp”) Else Server.Transfer(“/Pedido/MaisInfo.asp”) Endif %>
URLEncode O método URLEncode converte um string utilizando as regras de codificação URL, para que possa ser enviado em linha de endereço como um query string. Server.URLEncode(strURL) Parâmetro
Descrição
strURL
String a ser codificado.
Exemplo <%Response.Write(Server.URLEncode(“http://www.microsoft.com”))%>
produz a saída: http%3A%2F%2Fwww%2Emicrosoft%2Ecom
44
Objetos Intrínsecos do ASP
Session
Objeto Session Um objeto Session armazena informações para uma sessão de usuário. A sessão de usuário inicia no momento que o usuário solicita a primeira página do site. Variáveis armazenadas no objeto Session não são descartadas quando o usuário passa para outras páginas da aplicação; em vez disso, essas variáveis persistem para a sessão inteira do usuário. O servidor destrói o objeto Session quando o tempo da sessão expira ou é abandonada. As variáveis Session funcionam somente com browsers que suportam cookies. Se o usuário desabilitar os cookies em seu browser, então todas as variáveis Session do usuário serão perdidas tão logo uma nova página for solicitada. Por default, o objeto Session é destruído após a sessão ficar inativa por 20 minutos. O seguinte script mostra como criar uma variável Session chamada minhavar com o valor “Alô mundo”: Session(“minhavar”)=“Alômundo”
Após a variável minhavar ter sido criada, você pode exibí-la em qualquer página subseqüente usando o seguinte comando: Response.WriteSession(“minhavar”)
Sumário do Objeto Session Coleções Contents StaticObjects
Propriedades CodePage LCID SessionID Timeout
Métodos Contents.Remove Contents.RemoveAll Abandon
Eventos onStart onEnd
Coleções do Objeto Session Contents A coleção Contents do objeto Session pode armazenar variáveis escalares e instâncias de objetos criados com Server.CreateObject (e não através da tag <OBJECT>). Session.Contents(nome_item)
45
Objetos Intrínsecos do ASP
Session
Propriedades da coleção Contents Como todas as coleções ASP, a coleção Contents tem as seguintes propriedades: Item, Key e Count.
Item Define ou retorna o valor de um elemento específico na coleção Contents. O elemento pode ser especificado através de um número de índice (inicia em 1) ou de uma chave. Por exemplo: • Utilizando um número de índice: Session.Contents.Item(1)="novatec"
•
Utilizando uma chave: Session.Contents.Item("editora")="novatec"
A propriedade Item é a propriedade default da coleção Contents, que por sua vez é a coleção default do objeto Session. Os três exemplos abaixo são eqüivalentes: Session.Contents.Item(1)="novatec" Session.Contents(1)="novatec" Session(1)="novatec"
do mesmo modo, os exemplos abaixo também são eqüivalentes: Session.Contents.Item("editora")="novatec" Session.Contents("editora")="novatec" Session("editora")="novatec"
Key Define ou retorna o nome de um elemento específico na coleção Contents. Utilizando o exemplo da propriedade Item, então: strNomeChave=Session.Contents.Key(1)
retorna "editora", e o exemplo abaixo strValorChave=Session.Contents.Key("editora")
retorna "novatec".
Count Representa o número de elementos na coleção Contents.
Exemplo da utilização de coleções <% Session(“nome”)=“GuiadeASP” Session(“data”)=“05/01/2000” Session(“autor”)=“RubensPrates” SetSession(“Obj1”)=Server.CreateObject(“ADODB.Connection”) ForEachIteminSession.Contents IfIsObject(Session.Contents(Item))Then Response.WriteItem&“éumobjeto.<BR>” Else Response.WriteItem&“=”&Session.Contents(Item)&“<BR>” EndIf Next %>
46
Objetos Intrínsecos do ASP
Session
StaticObjects A coleção StaticObject do objeto Session pode armazenar instâncias de objetos criadas com o elemento <OBJECT>. Session.StaticObjects(nome_item)
Propriedades da coleção StaticObjects Como todas as coleções ASP, a coleção StaticObjects tem as seguintes propriedades: Item, Key e Count. Para mais detalhes veja a coleção Contents na página 46.
Exemplo —————arquivo Global.asa——————<OBJECTRUNAT=ServerSCOPE=SessionID=ObjInfo PROGID=”MSWC.MyInfo”> </OBJECT> <OBJECTRUNAT=ServerSCOPE=SessionID=ObjConexao PROGID=”ADODB.Connection”> </OBJECT> <OBJECTRUNAT=ServerSCOPE=SessionID=ObjAdRot PROGID=”MSWC.ADRotator”> </OBJECT> —————arquivo.asp————————<% ForEachobjInApplication.StaticObjects Response.Writeobj&“<BR>” Next \%>
Propriedades do Objeto Session CodePage Especifica a página de código usado para exibir o texto enviado para o browser cliente. Session.CodePage(=Codepage)
LCID Especifica o identificador de localização que será usado para exibir o texto enviado para o browser cliente. Permite formatar datas, números e moeda de acordo com as especificações de cada país ou região. Por exemplo, o identificador para o Brasil é 1046. Session.LCID intLCID
47
Objetos Intrínsecos do ASP
Session
SessionID Retorna o número de identificação de sessão para o usuário corrente. Esse número é usado para rastrear um usuário, e é gerado pelo servidor web (através de um algorítmo complexo) na primeira vez que o usuário solicita uma página. Esse número é armazenado como um cookie, no computador do usuário. Posteriormente, cada vez que o usuário requisita uma página do servidor web, o browser envia o cookie para o servidor, no header HTTP da request, como forma de identificá-lo perante o servidor. O cookie somente é reinicializado quando o browser ou o servidor forem reinicializados. Se o browser não suportar cookies ou estiver com a opção de cookies desabilitada, a propriedade SessionID não será enviada como parte do header HTTP da request, e portanto não poderá ser utilizada para identificar o usuário. Session.SessionID
Exemplo <%Response.Write“SuaIDdesessãoé“&Session.SessionID%>
Saída: SuaIDdesessãoé465107831
Timeout Especifica o tempo máximo (em minutos) de inatividade de uma sessão até que o servidor a considere encerrada (default=20 minutos). Se o usuário não atualizar a imagem da página ou solicitar outra página no tempo especificado, a sessão é encerrada automaticamente e os recursos liberados. Session.Timeout [=número]
Métodos do Objeto Session Contents.Remove Remove uma variável da coleção Session.Contents. Não é possível remover variáveis da coleção Session.StaticObjects. Session.Contents.Remove (nome | índice) Argumento
Descrição
nome índice
Nome do item a ser removido. Índice do item a ser removido.
Contents.RemoveAll Remove todas as variáveis da coleção Session.Contents. Session.Contents.RemoveAll
48
Objetos Intrínsecos do ASP
Session
Abandon Encerra a sessão do usuário, remove todos os dados e objetos do objeto Session corrente, liberando seus recursos. Por default, mesmo que o método Abandon não seja executado, o objeto Session é encerrado após vinte minutos de inatividade. Session.Abandon
Eventos do Objeto Session Session_OnEnd O evento OnEnd ocorre quando a Session é encerrada. A procedure para este evento, se existir, deve ser colocada no arquivo Global.asa da aplicação que contém a página solicitada. Para mais detalhes veja a página 18.
Session_OnStart O evento OnEnd ocorre quando a Session é iniciada. A procedure para este evento, se existir, deve ser colocada no arquivo Global.asa da aplicação que contém a página solicitada. Para mais detalhes veja a página 18.
49
Componentes do IIS
ADO
ADO ADO (ActiveX Data Objects) é uma tecnologia complementar ao ASP, fornecendo a interface com bancos de dados. ADO faz parte da suite de componentes MDAC (Microsoft Data Access Components) incluída no pacote II 5.0 / ASP 3.0, e também em outros produtos da Microsoft. Você pode fazer o download da versão mais recente em http://www.microsoft.com/data/ download.htm. A explicação completa do ADO exige um livro inteiro, o que é inviável nesse guia. Colocamos nessa página apenas um exemplo. Para mais informações veja o guia ADO desta mesma série. Sintaxe para instanciação do componente: Set objADO = Server.CreateObject(“strProgID”) Parâmetro
Significado
ProgID
ProgID do objeto ADO a ser instanciado.
Arquivos utilizados pelo componente Arquivo/DLL Descrição msado15.dll adovbs.inc
Nome da DLL que contém os objetos ADO. Contém declarações VBScript para todas as constantes usadas pelo ADO.
Utilização do componente Veja abaixo um exemplo de como listar os nomes dos produtos no banco de dados Northwind, o banco de dados de exemplo é fornecido pela Microsoft no Access e SQL Server. <% OptionExplicit Response.Expires=0 DimobjConn,objRs,strQuery,strConexao SetobjConn=Server.CreateObject("ADODB.Connection") 'necessitadeumaconexãoODBCparaobancodedadosNorthwind strConexao="DSN=Northwind;Database=Northwind;UID=sa;PWD=;" objConn.OpenstrConexao strQuery="SELECTProductnameFROMProductsORDERBYProductName SetobjRs=objConn.Execute(strQuery) WhileNotobjRs.EOF Response.WriteobjRs("Productname")& objRs.MoveNext Wend %>
50
Componentes do IIS
Ad Rotator
Ad Rotator Esse componente controla a exibição rotativa de banners (imagens com conteúdo publicitário) exibidos na página. Cada vez que um usuário abre ou recarrega a página, será exibido um novo banner baseado na informação contida no arquivo Rotator Schedule. Sintaxe para instanciação do componente: Set objAdRot = Server.CreateObject("MSWC.AdRotator")
Arquivos utilizados pelo componente Arquivo/DLL
Descrição
Adrot.dll Nome da DLL que contém o componente Ad Rotator. Rotator Schedule Um arquivo texto com informações que o componente Ad Rotator utiliza para gerenciar e exibir os banners. Página Redirect URL do arquivo de redirecionamento opcional. Pode ser uma página ASP, uma DLL ou uma aplicação CGI. Normalmente inclui script para analisar o "query string" enviado pelo componente Ad Rotator, contabilizar as informações sobre visitantes, e redirecionar o usuário para o URL associado com o anúncio que foi clicado.
Layout do arquivo Rotator Schedule Esse arquivo consiste de duas seções, separadas por uma linha contendo um asterisco (*): informações para todas as imagens e informações de cada anúncio:
Informações para todas as imagens Aplica-se a todos os banners na página. Parâmetro
Significado
REDIRECT
Especifica o URL da página Redirect. Pode ser URL absoluto ou relativo ao diretório virtual. Largura (em pixels) dos banners (default=60). Altura (em pixels) dos banners (default=440). Espessura (em pixels) da borda ao redor dos banners (default=1). Pode ser substituído pela propriedade Border.
WIDTH HEIGHT BORDER
Informações de cada banner Contêm informações sobre cada banner na página. Todos os elementos de cada banner são opcionais. Coloque hifen (-) no lugar de um elemento omitido. Elemento
Significado
adURL URL do banner a ser exibido. adHomePageUrl URL para a homepage do anunciante para onde o usuário será redirecionado quando clicar o banner. texto alternativo Texto a ser exibido quando o browser não suportar imagens ou quando a opção de exibir imagens estiver desabilitada. peso relativo Um número que especifica o peso relativo desse anúncio. Todos os pesos de todos os anúncios são somados e o tempo de exibição é determinado pela porcentagem do peso em relação ao total. 51
Componentes do IIS
Ad Rotator
Exemplo do arquivo Rotator Schedule REDIRECTcontabiliza.asp WIDTH500 HEIGHT80 BORDER 0 * /imagens/tcpip.gif http://www.novatec1.com/tcpip GuiadoTCP/IP 50 /imagens/php.gif http://www.novatec1.com/php GuiadoPHP 50
Exemplo da Página Redirect <% 'contabiliza.asp strUserName=Session("USERNAME") strRemoteAddress=Request.ServerVariables("REMOTE_ADDR") strURL=Request.QueryString("URL") strBrowser=Session("UserBrowser") ' 'códigopararegistrarasinformaçõesemumbancodedados ' Response.RedirectstrURL %>
Utilização do componente Ad Rotator Para colocar os banners em seu site, crie uma instância do objeto antes de colocá-lo onde ele será exibido. <% DimobjAdRot SetobjAdRot=Server.CreateObject("MSWC.AdRotator") %> <HR> <%=objAdRot.GetAdvertisement("rotsched.txt")%> <HR> BenvindoàpáginadaNovatec.Porfavorvisitenossospatrocinadores.
52
Componentes do IIS
Ad Rotator
Propriedades do componente Border Especifica a espessura (em pixels) da borda ao redor do banner. objAdRot.Border = inTamanho
Clickable Define ou retorna um valor lógico indicando se o banner é um hiperlink (default=True). objAdRot.Clickable = blnClicavel
TargetFrame Especifica onde o hiperlink associado a um banner deve ser aberto (_TOP, _NEW, _CHILD, _SELF, _PARENT, ou _BLANK, default=NO FRAME). objAdRot.TargetFrame = strNomeFrame
Método do componente GetAdvertisement Retorna o próximo anúncio do arquivo Rotator Schedule. Cada vez que o script é executado, tal quando o usuário abre ou recarrega uma página, o método retorna o próximo anúncio programado. objAdRot.GetAdvertisement(strArqRotSched) Parâmetro
Significado
strArqRotSched
Especifica a localização do arquivo Rotator Schedule relativo ao diretório virtual.
53
Componentes do IIS
Browser Capabilities
Browser Capabilities Esse componente permite determinar os recursos suportados pelos browsers clientes. Informa os recursos que cada browser suporta, baseado no arquivo browscap.ini, localizado no mesmo diretório da browscap.dll. Antes de você criar páginas super incrementadas, é bom lembrar que nem todos os browsers suportam recursos tais como: frames, som de fundo, applets Java e tabelas. Sintaxe para instanciação do componente: Set objTipoBrowser = Server.CreateObject(“MSWC.BrowserType”)
Arquivos utilizados pelo componente Arquivo/DLL Descrição Browscap.dll
Nome da DLL que contém o componente Browser Capabilities. Browscap.ini Arquivo texto com informações sobre os recursos suportados por um grande número de browsers.
Funcionamento do componente Quando um browser se conecta a um servidor, ele envia um header HTTP User Agent, que identifica o browser e o número de sua versão. O componente Browser Capabilities utiliza esse header para localizar uma entrada no arquivo Browscap.ini que corresponda a esse browser. Se for encontrada um associação, o componente Browser Capabilities assume as propriedades contidas no arquivo Browscap.ini que coincide com o header User Agent. Se não encontrar uma associação, ele assume as propriedades default. Se o componente não encontrar uma associação e as propriedades default não forem especificadas no arquivo Browscap.ini, ele define cada propriedade com o string "UNKNOWN". O arquivo Browscap.ini pode ser editado para incluir novos browsers, ou novos recursos para browsers existentes. É possível obter o arquivo browscap.ini atualizado no site www.asptracker.com, ou em www.cyscape.com/browscap. Veja abaixo um pequeno fragmento do arquivo Browscap.ini criado por Juan Llivre no site www.asptracker. ;MSIE5.0 [IE5.0] browser=IE Version=5.0 frames=True tables=True cookies=True backgroundsounds=True vbscript=True javascript=True javaapplets=True ActiveXControls=True DHTML=True XML=True
54
Componentes do IIS
Browser Capabilities
Utilização do componente <% Dimbc Setbc=Server.CreateObject(“MSWC.BrowserType”) %> Nome do browser: <%= bc.browser %><p> Versãodobrowser:<%=bc.version%><p> <%if(bc.frames=TRUE)then%> Obrowserpermiteframes<p> <% else %> ObrowserNÃOpermiteframes<p> <% end if %> <%if(bc.tables=TRUE)then%> Obrowserpermitetabelas<p> <% else %> ObrowserNÃOpermitetabelas<p> <% endif setbc=nothing %>
Propriedades do componente Relacionamos abaixo as propriedades mais utilizadas. Propriedade
Descrição
ActiveXControls Especifica se o browser suporta controles Activex. Backgroundsounds Especifica se o browser suporta som de fundo. Beta Especifica se a versão do browser é beta. Browser Especifica o nome do browser. Cookies Especifica se o browser suporta cookies. Frames Especifica se o browser suporta frames. Javaapplets Especifica se o browser é capaz de executar applets Java. Javascript Especifica se o browser suporta JavaScript. Majorver Especifica o número mais significativo da versão do browser. Minorver Especifica o número menos significativo da versão do browser. Platform Especifica a plataforma na qual o browser está sendo executado. Tables Especifica se o browser suporta tabelas. Vbscript Especifica se o browser suporta VBScript. Version Especifica o número da versão do browser.
55
Componentes do IIS
Content Linking
Content Linking O componente Content Linking cria tabelas de conteúdo para páginas Web, e vincula-as sequencialmente como páginas de um livro. Elimina a necessidade de ajustar os links manualmente quando as páginas são adicionadas ou excluídas. Utiliza um arquivo texto com a lista de páginas e a ordem em que devem ser exibidas. Sintaxe para instanciação do componente: Set objNextLink = Server.CreateObject(“MSWC.NextLink”)
Arquivos utilizados pelo componente Arquivo/DLL
Descrição
NextLink.dll
Nome da DLL que contém o componente Content Linking. Arquivo texto que reside no diretório virtual e contém uma lista de URLs de páginas, na ordem em que elas devem ser exibidas. Cada página ocupa uma linha do arquivo.
Content Linking List
Layout do arquivo Content Linking List Contém uma linha de texto para cada URL na lista. Cada linha termina com um Carriage Return e cada item na linha é separado por um caractere TAB. Cada linha do arquivo tem a seguinte sintaxe: URL_doc [descrição [comentário]] Item
Significado
URL_pag
Path virtual ou relativo do documento web. Não podem ser paths físicos, nem URLs absolutos (que começam com http://, // ou \\). String opcional descrevendo a página. String opcional contendo comentário sobre a página, e não é visualizado pelo usuário.
descrição comentário
Exemplo do arquivo Content Linking List
56
pagA.asp
Introdução
pagB.asp
Objetosintrínsecos
pagC.asp
Componentes
pagD.asp
Objetosdescritpting
Componentes do IIS
Content Linking
Utilização do componente O script abaixo cria uma tabela de conteúdo, usando uma lista não ordenada: <UL> <% SetNextLink=Server.CreateObject(“MSWC.NextLink”) num_itens=NextLink.GetListCount(“nextlink.txt”) Fori=1Tonum_itens %> <LI><AHREF=”<%=NextLink.GetNthURL(“nextlink.txt”,I) %>“> <%=NextLink.GetNthDescription(“nextlink.txt”,i)%> </A> <% Next %> </UL>
O script abaixo adiciona os botões "próxima página" e "página anterior" a um arquivo HTML. <% SetNextLink=Server.CreateObject(“MSWC.NextLink”) num_itens=NextLink.GetListCount("nextlink.txt") pag_atual=NextLink.GetListIndex("nextlink.txt") If(pag_atual>1)Then %> <AHREF=”<%=NextLink.GetPreviousURL(“nextlink.txt”)%> “> PáginaAnterior</A> <% EndIf If(pag_atual<>num_itens)Then %> <AHREF=”<%=NextLink.GetNextURL(“nextlink.txt”)%>“> PróximaPágina</A> <% End IF %>
O script acima pode ser colocado em um arquivo include (ver página 16) que pode usado em todas as páginas que fazer parte da cadeia de links.
57
Componentes do IIS
Content Linking
Métodos do componente GetListCount Retorna o número de itens do arquivo Content Linking List. objNextLink.GetListCount(strListaVinculo)
GetListIndex Obtém o índice da página atual do arquivo Content Linking List. Zero é retornado quando a página não estiver na lista. objNextLink.GetListIndex(strListaVinculo)
GetNextDescription Retorna a descrição do próximo item da lista. objNextLink.GetNextDescription(strListaVinculo)
GetNextURL Obtém o URL do próximo item da lista. Se a página atual não fizer parte da lista, o URL do último item é retornado. objNextLink.GetNextURL(strListaVinculo)
GetNthDescription Retorna a descrição do item de número N da lista. objNextLink.GetNthDescription(strListaVinculo)
GetNthURL Obtém o URL do item de número N da lista. Se houver menos do que N itens na lista, o URL do último item é recuperado. objNextLink.GetNthURL(strListaVinculo)
GetPreviousDescription Retorna a descrição do item anterior da lista. objNextLink.GetPreviousDescription(strListaVinculo)
GetPreviousURL Retorna o URL do item anterior da lista; se a página atual não fizer parte da lista, o URL da primeira página é retornado. objNextLink.GetPreviousURL(strListaVinculo)
58
Componentes do IIS
Content Rotator
Content Rotator O componente Content Rotator permite exibir automaticamente diferentes seções de código HTML em uma página. Cada vez que o usuário solicita a página, o objeto exibe uma seção de código HTML diferente, baseado na informação especificada em um arquivo texto, que contém diferentes seções de código HTML. O código HTML pode conter tags HTML que permitem exibir qualquer tipo de conteúdo: texto, imagens ou hiperlinks. Um exemplo de utilização é exibir uma dica do dia diferente na página, cada vez que o usuário visitar a página. Sintaxe para instanciação do componente: Set objContRot = Server.CreateObject("MSWC.ContentRotator")
Arquivos utilizados pelo componente Arquivo/DLL
Descrição
Controt.dll
Nome da DLL que contém o componente Content Rotator. Content Schedule Um arquivo de texto contendo diferentes seções de código HTML que o componente utiliza e exibe para o cliente.
Layout do arquivo Content Schedule Consiste de várias entradas para seções de código HTML. Cada entrada consiste de duas partes: uma linha que começa com dois sinais de porcentagem (%%) e contém um peso relativo e qualquer comentário e, uma segunda parte que contém o próprio código HTML.
Sintaxe de cada seção: %% [#intPeso] [//comentário] códigoHTML Elemento %% #intPeso
//comentário
códigoHTML
Significado Identifica o início de uma seção de código HTML. Parâmetro opcional que especifica um número entre 0 e 10000 que indica o peso relativo dessa seção. Todos os pesos de todas as seções são somados e o tempo de exibição é determinado pela porcentagem do peso em relação ao total. 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ódigo HTML exibido pelo objeto.Pode incluir uma ou mais linhas.
59
Componentes do IIS
Content Rotator
Exemplo do arquivo Content Schedule %%//Nafaltadopesoassumeodefault1 Conheçanossaspublicações. %%#2//Comentáriospodemocuparmaisdeumalinha. %%//Linhaadicionaldecomentário %%//Aindaoutralinhadecomentário <FONTFACE=”ARIAL,HELVETICA”SIZE=”2"> Conheçaoúltimolançamento: <H1>TCP/IP</H1> </FONT> %% #3 // Exibe uma imagem <IMGSRC=”/imagens/logo.gif”> %% Localizea<AHREF=”livrarias.asp”>Livraria</A>maispróxima.
Utilização do componente O exemplo abaixo exibe uma dica diferente cada vez que o usuário visualizar a página. <% SetProxDica=Server.CreateObject(“MSWC.ContentRotator”) Response.WriteProxDica.ChooseContent(“/Dicas/Content.txt”) %>
Métodos do componente ChooseContent Seleciona uma seção de código HTML do arquivo content schedule, e a exibe na página. Cada vez que o script for executado, uma nova seção de código HTML é selecionada do arquivo. objContentRotator.ChooseContent(strContentSchedule) Parâmetro
Significado
strContentSchedule
Especifica a localização do arquivo Content Schedule.
GetAllContent Exibe todas as seções de código HTML contidas no arquivo content schedule. Cada seção é exibida separada por uma tag <HR>. objContentRotator.ChooseContent(strContentSchedule) Significado
strContentSchedule
Especifica a localização do arquivo Content Schedule.
60
Parâmetro
Componentes do IIS
Counters
Counters O componente Counters pode ser usado para criar, armazenar, incrementar e retonar qualquer número de contadores individuais. Todos os contadores são armazenados no arquivo texto Counters.txt que pode ser encontrado no mesmo diretório do componente Counters.dll. Sintaxe para instanciação do componente: Set objContadores= Server.CreateObject("MSWC.Counters")
Arquivos utilizados pelo componente Arquivo/DLL
Descrição
Counters.dll Counters.txt
Nome da DLL que contém o componente Counters. Arquivo texto contendo os valores atuais dos contadores adicionados ao objeto Counters do site. Pode conter qualquer número de valores de contadores e não deve ser editado manualmente. Também não deve ser renomeado.
Utilização do componente Existe uma única cópia do arquivo Counters.txt, que todas as instâncias do componente devem utilizar. A maneira mais comum de utilização é criar uma instância no arquivo Global.asa, disponível para todas as páginas no site. Por exemplo: <OBJECTID="objContador"RUNAT="Server"SCOPE="Application" PROGRID="MSWC.Counters"
Métodos do componente Get Retorna o valor corrente de um contador. Se o contador não existir, então ele será criado com valor inicial de zero. objContador.Get(strNomeContador)
Increment Incrementa um contador. Se o contador não existir, então ele será criado com valor inicial de 1. objContador.Increment(strNomeContador)
Remove Remove um contador do componente Counters e elimina sua entrada do arquivo Counters.txt. objContador.Remove(strNomeContador)
Set Cria um contador no componente Counters e adiciona uma entrada no arquivo Counters.txt. Retorna o novo valor do contador. objContador.Set(strNomeContador, intValorContador) 61
Componentes do IIS
Logging Utility
Logging Utility (ASP 3.0) O componente Logging Utility é usado para criar um objeto IISLog, que permite a leitura do arquivo de log do IIS. O usuário que estiver acessando o script que instancia o componente IISLog deve estar autenticado como um Administrador ou Operador no servidor onde o IIS estiver sendo executado. Sintaxe para instanciação do componente: Set obj = Server.CreateObject("MSWC.IISLog")
Arquivos utilizados pelo componente Arquivo/DLL Descrição Logscrpt.dll
Nome da DLL que contém o componente Logging Utility.
Métodos do componente AtEndOfLog Retorna True se todos os registros do arquivo log foram lidos. AtEndOfLog()
CloseLogFiles Fecha os arquivos de log abertos. CloseLogFiles (modo) Parâmetro
Significado
modo ForReading=1
Especifica quais arquivos serão fechados. 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 nomearq modo
Significado
Nome do arquivo de log a ser aberto. Parâmetro opcional indicando se o arquivo log será aberto para leitura ou gravação. ForReading=1 Fecha todos os arquivos que foram abertos para leitura (default). ForWriting=2 Fecha todos os arquivos que foram abertos para gravação. serviço Parâmetro opcional indicando que somente os registros do serviço especificado devem ser retornados. instância Parâmetro opcional indicando que somente os registros da instância do serviço especificado devem ser retornados. formato Parâmetro opcional indicando o formato para arquivos log abertos para gravação.
62
Componentes do IIS
Logging Utility
ReadFilter Permite ler registros dentro de um intervalo de data e hora. ReadFilter( [datahorainicial], [datahorafinal] ) Parâmetro
Descrição
datahorainicial Parâmetro opcional indicando a data e hora inicial. datahorafinal Parâmetro opcional indicando a data e hora final.
ReadLogRecord Lê o próximo registro de log do arquivo de log corrente. ReadLogRecord()
WriteLogRecord Grava um registro de log no arquivo de log corrente, lido de um outro objeto IISLog. WriteLogRecord( objIISLog ) Parâmetro
Descrição
objIISLog
O objeto indicando onde os registros de log devem ser lidos.
Propriedades do componente BytesReceived Retorna o número de bytes recebidos na solicitação do browser. numbytes = BytesReceived
BytesSent Retorna o número de bytes enviados na resposta para o browser. numbytes = BytesSent
ClientIP Retorna o endereço IP do cliente ou seu host (proxy server). var = ClientIP
Cookie Retorna o conteúdo de qualquer cookie enviado na solicitação (request). var = Cookie
CustomFields Retorna um array de headers de cliente adicionados à solicitação (request). var = CustomFields Parâmetro
Descrição
var
Um array bidimensional de variantes. Cada par de variantes forma um par chave-valor que descreve o header HTTP. 63
Componentes do IIS
Logging Utility
DateTime Retorna a data e hora da solicitação (request) (hora GMT). var = DateTime
Method Retorna o tipo de operação (GET ou POST). var = Method
ProtocolStatus Retorna o código de status do protocolo HTTP retornado para o cliente. var = ProtocolStatus
ProtocolVersion Retorna a versão do protocolo. var = ProtocolVersion
Referer Retorna o URL da página contendo o link que iniciou a solicitação (request) (se existir). var = Referer
ServerIP Retorna o endereço IP do servidor IIS. var = ServerIP
ServerName Retorna o nome da máquina do servidor IIS. var = ServerName
ServerPort Retorna o número da porta onde a request foi recebida. var = ServerPort
ServiceName Retorna o nome do serviço, tal como "MSFTPSVC" ou "W3SVC". var = ServiceName
TimeTaken Retorna o tempo total de processamento para obter e criar a página retornada. var = TimeTaken
URIQuery Retorna o parâmetro no query string acrescentado ao URL na solicitação (request). var = URIQuery 64
Componentes do IIS
Logging Utility
URIStem Retorna o URL que foi solicitado. var = URIStem
UserAgent Retorna o string User agent enviado pelo browser cliente. var = UserAgent
UserName Retorna o nome de logon do usuário, se ele não estiver acessando o servidor anônimamente. var = UserName
Win32Status Retorna o código de status Win32 retornado após o processamento da solicitação (request). var = Win32Status
65
Componentes do IIS
MyInfo
MyInfo O componente MyInfo cria um objeto MyInfo que fornece um repositório para armazenamento persistente de pares nome/valor, ou qualquer outro tipo de informação string, acessíveis no site inteiro. Os dados são armazenados no formato XML no arquivo MyInfo.xml localizado no diretório inetsrv do computador do servidor web. O componente MyInfo foi originalmente introduzido no Personal Web Server, para manter informações pessoais fornecidas pelo administrador do servidor, através de um conjunto de propriedades predefinidas. No IIS essas propriedades não são implementadas.
Arquivos utilizados pelo componente Arquivo/DLL
Descrição
Myinfo.dll Myinfo.xml
Nome da DLL que contém o componente MyInfo. Arquivo onde o componente MyInfo armazena seus valores. Não pode ser renomeado.
Utilização do componente Deve ser criado um objeto MyInfo no arquivo Global.asa através do seguinte código: <OBJECTID="objMyInfo" RUNAT="Server" SCOPE="Application" PROGID="MSWC.MyInfo"> </OBJECT>
O componente MyInfo não têm propriedades ou métodos por default. Você pode criar novas propriedades MyInfo simplesmente atribuindo um valor string à propriedade. Por exemplo: <% objMyInfo.Editora=“Novatec” objMyInfo.Editor=“RubensPrates” objMyInfo.Endereco="RuaConsMoreiradeBarros1084" %>
Como qualquer propriedade de componente, seu valor pode ser retornado em qualquer página do site, através do código abaixo: <% strNomeEditora=objMyInfo.Editora strNomeEditor=objMyInfo.Editor strEndereco=objMyInfo.Endereco %>
66
Componentes do IIS
Page Counter
Page Counter O componente Page Counter cria um objeto PageCounter que mantém registro do número de vezes que uma página foi acessada. O componente Page Counter usa um objeto interno do IIS para contar o número de vezes que cada página é acessada. Quando uma instância do objeto PageCounter é criada na página, o objeto obtém o valor do contador de acessos dessa página. O componente periodicamente grava os dados em um arquivo texto no servidor, e no caso de shutdown ou erro, o valor corrente não é perdido. Sintaxe para instanciação do componente: Set obj = Server.CreateObject("MSWC.PageCounter")
Arquivos utilizados pelo componente Arquivo/DLL
Descrição
Pagecnt.dll
Nome da DLL que contém o componente Page Counter. Arquivo contendo o valor corrente do contador de acessos para cada página na qual o objeto PageCounter está sendo usado (nome default=hitcnt.cnt).
Hit Count Data
Métodos do componente Hits Retorna o número de hits em uma página. objPgCntr.Hits([strPathInfo)] Parâmetro
Significado
strPathInfo
Path virtual e nome da página. Se não especificado, retorna a contagem para a página corrente.
Exemplo <% DimobjPgCntr,lngHitCount SetobjPgCntr=Server.CreateObject("MSWC.PageCounter") lngHitCount=objPgCntr.Hits("/Apps/Homepage.asp") %> Ahomepagefoiacessada<%=lngHitCount%>vezes
PageHit Incrementa de 1 o contador para a página corrente. Object.PageHit()
Reset Reinicializa o número de hits em uma página para zero. objPgCntr.Reset([strPathInfo)] Parâmetro
Significado
strPathInfo
Path virtual e nome da página. Se não especificado, retorna a contagem para a página corrente. 67
Componentes do IIS
Permission Checker
Permission Checker O componente Permission Checker permite utilizar o modelo de segurança do Windows NT/2000 para determinar se um usuário tem permissão para ver um arquivo armazenado em um volume NTFS. Necessita das opções de segurança Basic Clear Text ou Windows NT Challenge Response ativadas no servidor web. Sintaxe para instanciação do componente: Set obj= Server.CreateObject("MSWC.PermissionChecker")
Arquivo utilizado pelo componente Arquivo/DLL
Descrição
Permchk.dll
Nome da DLL que contém o componente Permission Checker.
Método do componente HasAcess Determina se o usuário corrente tem acesso a um arquivo especificado no argumento strPath. objPermChkr.HasAccess(strPath) Parâmetro
Significado
strPath
Path relativo (físico ou virtual) para o arquivo no qual se quer determinar direito de acesso.
Exemplo <% DimobjPermChkr,blnPermissao SetobjPermChkr=Server.CreateObject("MSWC.PermissionChecker") blnPermissao=objPermChkr.HasAccess("PagSeg.asp") IfblnPermissaoThen %> <AHREF="PagSeg.asp">PáginadeSegurança</A> <% EndIf %>
68
Componentes do IIS
Tools
Tools O componente Tools fornece métodos para verificar a existência de um arquivo, processar um formulário HTML, ou gerar um número aleatório. Sintaxe para instanciação do componente: Set objTools = Server.CreateObject("MSWC.Tools")
Arquivo utilizado pelo componente Arquivo/DLL
Descrição
Tools.dll
Nome da DLL que contém o componente Tools.
Métodos do componente FileExists Retorna -1 se o URL existe; caso contrário, retorna 0. Similar a FileSystemObject.FileExists. Tools.FileExists(URL) Exemplo <%IfobjTools.FileExists("qualquer.gif")Then Response.Write"Oarquivoqualquer.gifexiste" Else Response.Write"Oarquivoqualquer.gifnãoexiste" End If %>
ProcessForm Processa o conteúdo de um formulário submetido por um visitante do site. Lê um arquivo template, insere nele as informações criadas (provavelmente da coleção Request.Form) e, então grava o resultado no arquivo de saída. ProcessForm(Url_saída, Url_template, ponto_inserção) Parâmetro
Significado
Url_saída
URL relativo do arquivo no qual os dados processados serão gravados. URL relativo do arquivo que contém o template, ou instruções para processamento dos dados. Pode conter scripts ASP entre delimitadores <% e %>, mas são tratados como texto comum e copiado para o arquivo de saída. Entretanto, se estiverem entre <%% e %%>, serão executados quando o template estiver sendo carregado. Parâmetro opcional indicando onde inserir, no arquivo de saída, os dados processados. Esse parâmetro não foi implementado nas versões iniciais do ProcessForm.
Url_template
ponto_inserção
Random Gera um número inteiro aleatório entre -32768 e 32767. Tools.Random Exemplo: Retorna um número aleatório entre 0 e 99. <% = ( Abs( Tools.Random ) ) Mod 100 %>
69
Objetos de Scripting Run-Time
Dictionary
Objeto Dictionary O objeto Dictionary armazena pares nome/valor (referenciados como chave e item, respectivamente) em um array. Cada item é associado a uma única chave. Sintaxe para instanciação do objeto: Set obj = CreateObject("Scripting.Dictionary") No exemplo abaixo é criado um objeto Dictionary chamado "carros", adiciona alguns pares chave/item e é exibido o valor do item para a chave "c". <% Dimcarros Setcarros=CreateObject(“Scripting.Dictionary”) cars.Add“a”,“Elba” cars.Add“b”,“Fusca” cars.Add“c”,“Audi” Response.Write“Ovalorcorrespondenteàchave‘c’é“carros.Item(“c”) %>
Saídadoscript: "Ovalorcorrespondenteàchave‘c’éAudi"
Propriedades do Objeto Dictionary CompareMode (somente em VBScript) Define ou retorna o modo utilizado na comparação de strings em um objeto Dictionary. objetoDic.CompareMode [=compara] Argumento
Descrição
objetoDic compara
Objeto Dictionary. Modo de comparação usado por funções tais como StrComp. vbBinaryCompare=0 Comparação binária. vbTextCompare=1 Comparação textual.
Count Retorna o número de itens em um objeto Dictionary. objetoDic.Count
Item Define ou retorna um item para uma chave especificada em um objeto Dictionary. objetoDic.Item(chave)[=novoitem] Descrição
objetoDic chave novoitem
Nome de uma coleção ou de um objeto Dictionary. Chave associada com o item sendo lido ou adicionado. Novo valor associado à chave. Usado somente com objeto Dictionary.
70
Argumento
Objetos de Scripting Run-Time
Dictionary
Key Define ou retorna o valor de uma chave em um objeto Dictionary. objetoDic.Key (chave) = novachave Argumento
Descrição
objetoDic chave novachave
Objeto Dictionary. Chave existente. 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 chave item
Objeto Dictionary. Chave associada ao item que está sendo adicionado. 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 chave
Objeto Dictionary. Chave a ser pesquisada no objeto Dictionary.
Items Retorna um array contendo todos os itens em um objeto Dictionary. objetoDic.Items
Keys Retorna um array contendo todas as chaves em um objeto Dictionary. objetoDic.Keys
Remove Remove um par chave/item de um objeto Dictionary. objetoDic.Remove (chave) Argumento
Descrição
objetoDic chave
Objeto Dictionary. Chave a ser removida do objeto Dictionary.
RemoveAll Remove todos os pares chave/item de um objeto Dictionary. objetoDic.RemoveAll 71
Objetos de Scripting Run-Time
FileSystemObject
Objeto FileSystemObject O bjeto FileSystemObject fornece acesso ao sistema de arquivos (“file system”) do computador. Permite acessar os arquivos existentes e criar novos arquivos. Sintaxe para instanciação do objeto: Set obj = CreateObject("Scripting.FileSystemObject") No exemplo abaixo é utilizado o método CreateTextFile do objeto FileSystemObject para criar um arquivo texto (c:\qqarq.txt) e gravar um texto nele. <% dimarqsys,arqtxt,nome,path Setarqsys=CreateObject(“Scripting.FileSystemObject”) Setarqtxt=arqsys.CreateTextFile(“c:\qqarq.txt”,True) path=arqsys.GetAbsolutePathName(“c:\qqarq.txt”) nome=arqsys.GetFileName(path) arqtxt.WriteLine(“textoasergravado”) arqtxt.Close Ifarqsys.FileExists(path)Then Response.Write(“Seuarquivo,‘“&getname&“‘,foicriado.”) EndIf %>
Propriedades do objeto Drives Retorna uma coleção Drives contendo todos os drives acessíveis em um computador local. objetoFSO.Drives
Métodos do objeto BuilPath Anexa um nome a um path. objetoFSO.BuildPath (path, nome) Argumento
Descrição
objetoFSO path nome
Nome de um FileSystemObject. Path no qual um nome será anexado. Nome a ser anexado ao path.
CopyFile Copia um ou mais arquivos. objetoFSO.CopyFile fonte, destino [,sobrepõe] Descrição
objetoFSO fonte destino sobrepõe True False
Nome de um FileSystemObject. Arquivos a serem copiados (aceita caracteres curinga). Destino onde os arquivos serão copiados. Indica se arquivos existentes são sobrepostos. Sobrepõe arquivos existentes. Não sobrepõe em arquivos existentes.
72
Argumento
Objetos de Scripting Run-Time
FileSystemObject
CopyFolder Copia uma ou mais pastas, incluindo arquivos e subpastas. objetoFSO.CopyFolder fonte, destino [,sobrepõe] Argumento
Descrição
objetoFSO fonte
Nome de um FileSystemObject. Pastas a serem copiadas (aceita caracteres curinga no último componente do path). Destino onde as pastas serão copiadas. Indica se pastas existentes são sobrepostas. Sobrepõe pastas existentes. Não sobrepõe em pastas existentes.
destino sobrepõe True False
CreateFolder Cria uma nova pasta. objetoFSO.CreateFolder (nomepasta) Argumento
Descrição
objetoFSO nomepasta
Nome de um FileSystemObject. Nome da pasta ou diretório a ser criado.
CreateTextFile Cria um arquivo texto e retorna um objeto TextStream que pode ser utilizado para ler e gravar no arquivo. objeto.CreateTextFile (nomearq [,sobrepõe [,unicode]]) Argumento
Descrição
objeto nomearq sobrepõe True False unicode True False
Nome de um FileSystemObject ou objeto Folder. Nome do arquivo a ser criado. Indica se os arquivos existentes são sobrepostos. Sobrepõe os arquivos existentes. Não sobrepõe arquivos existentes. Formato Unicode ou ASCII. Cria o arquivo no formato Unicode. 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 nomearq opção True False
Nome de um FileSystemObject. Nome do arquivo a ser eliminado. Eliminar ou não arquivos com o atributo “read-only”. Elimina também arquivos com o atributo “read-only”. Não elimina arquivos com o atributo “read-only”.
73
Objetos de Scripting Run-Time
FileSystemObject
DeleteFolder Elimina uma pasta e seu conteúdo. objetoFSO.DeleteFolder nomepasta [opção] Argumento
Descrição
objetoFSO nomepasta
Nome de um FileSystemObject. Nome da pasta a ser eliminada (permite caracteres curinga no último componente do path). Eliminar ou não pastas com o atributo “read-only”. Elimina também pastas com o atributo “read-only”. Não elimina pastas com o atributo “read-only”.
opção True False
DriveExists Retorna True se o drive especificado existir; caso contrário, retorna False. objetoFSO.DriveExists (drive) Argumento
Descrição
objetoFSO drive
Nome de um FileSystemObject. Letra do drive ou especificação completa do path.
FileExists Retorna True se o arquivo especificado existir; caso contrário, retorna False. objetoFSO.FileExists (nomearq)
FolderExists Retorna True se a pasta especificada existir; caso contrário, retorna False. objetoFSO.FolderExists (nomepasta)
GetAbsolutePathName Retorna o path completo da raiz do drive para o path especificado. objetoFSO.GetAbsolutePathName (path)
GetBaseName Retorna o nome do último componente de um path, menos a extensão de arquivo. objetoFSO.GetBaseName (path)
GetDrive Retorna um objeto Drive correspondendo ao drive no path especificado. objetoFSO.GetDrive (path)
GetDriveName Retorna o nome do drive no path especificado. objetoFSO.GetDriveName (path)
74
Objetos de Scripting Run-Time
FileSystemObject
GetExtensionName Retorna a extensão para o último componente em um path. objetoFSO.GetExtensionName (path)
GetFile Retorna um objeto File correspondendo ao arquivo no path especificado. objetoFSO.GetFile (nomearq)
GetFileName Retorna o último componente do path especificado que não é parte da especificação do drive. objetoFSO.GetFileName (path)
GetFolder Retorna um objeto Folder correspondendo à pasta no path especificado. objetoFSO.GetFolder (nomepasta)
GetParentFolderName Retorna o nome da pasta na qual o último componente do path especificado está contido. objetoFSO.GetParentFolderName (nomepasta)
GetSpecialFolder Retorna um tipo de pasta especial. objetoFSO.GetSpecialFolder (tipo) Argumento
Descrição
objetoFSO Nome de um FileSystemObject. tipo Tipo de pasta especial. WindowsFolder=0 Pasta Windows, que contém os arquivos instalados pelo Windows. SystemFolder=1 Pasta System, que contém bibliotecas, fontes e drivers. TemporaryFolder=2 Pasta Temp, utilizada para armazenar arquivos temporários.
GetTempName Retorna um nome aleatório que pode ser utilizado pelo método CreateTextFile para criar um arquivo ou uma pasta temporária. objetoFSO.GetTempName
75
Objetos de Scripting Run-Time
FileSystemObject
MoveFile Move um ou mais arquivos. objetoFSO.MoveFile destino Argumento
Descrição
objetoFSO destino
Nome de um FileSystemObject. Path de destino para onde será movido o arquivo.
MoveFolder Move uma ou mais pastas. objetoFSO.MoveFolder fonte, destino
OpenTextFile Abre um arquivo e retorna um objeto TextStream que pode ser utilizado para ler e acrescentar dados ao arquivo. objetoFSO.OpenTextFile (nomearq [,modoes [criar [,formato]]]) Argumento
Descrição
objetoFSO nomearq modoes ForReading=1 ForWriting=2 ForAppending=8 criar True False formato TristateUseDefault=-2
Nome de um FileSystemObject. Nome do arquivo a ser aberto. Modo de entrada/saída. Abre o arquivo somente para leitura. Abre o arquivo para gravação. Abre o arquivo e grava a partir do fim do arquivo. Criar ou não o arquivo se ele ainda não existir. Cria o arquivo se ele ainda não existir. Não cria o arquivo se ainda não existir. Formato do arquivo. Abre o arquivo usando a opção default do sistema. Abre o arquivo como Unicode. Abre o arquivo como ASCII.
TristateTrue=-1 TristateFalse=0
76
Objetos de Scripting Run-Time
FileSystemObject
Objeto Drive O objeto Drive fornece acesso às propriedades de um drive. No exemplo abaixo é utilizado o método GetDrive do objeto FileSystemObject para obter o objeto Drive para o drive "c". <% Setarqsys=CreateObject(“Scripting.FileSystemObject”) Setdrv=arqsys.GetDrive(“c”) %>
Propriedade do objeto AvailableSpace Retorna a quantidade de espaço disponível em um disco. Ver também a propriedade FreeSpace na página XX. objetoDrv.AvailableSpace
DriveLetter Retorna a letra do drive. objetoDrv.DriveLetter
DriveType Retorna o tipo do drive especificado. objetoDrv.DriveType Argumento
Descrição
objetoDrv Objeto Drive. valor retornado 0 Desconhecido 1 Removível 2 Fixo 3 Rede 4 CD-ROM 5 RAM disk
FileSystem Retorna o tipo de sistema de arquivo (FAT, NTFS, CDFS etc.) em uso no drive especificado. objetoDrv.FileSystem
FreeSpace Retorna a quantidade de espaço disponível em um disco. objetoDrv.FreeSpace
IsReady Retorna True se o drive especificado estiver pronto (“ready”); caso contrário, retorna False. objetoDrv.IsReady
77
Objetos de Scripting Run-Time
FileSystemObject
RootFolder Retorna um objeto Folder representando a pasta raiz (“root folder”) do drive especificado. objetoDrv.RootFolder
SerialNumber Retorna o número serial utilizado para identificar o volume do disco. objetoDrv.SerialNumber
ShareName Retorna o nome compartilhado na rede do drive especificado. objetoDrv.ShareName
TotalSize Retorna o espaço total (em bytes) de um drive. objetoDrv.TotalSize
VolumeName Define ou retorna o nome do volume do drive especificado. objetoDrv.VolumeName [=novonome] Descrição
objetoDrv novonome
Objeto Drive. Nome a ser definido para o volume do drive.
78
Argumento
Objetos de Scripting Run-Time
FileSystemObject
Objeto Folder O objeto Folder fornece acesso às propriedades de uma pasta. No exemplo abaixo é utilizado o método GetFolder do objeto FileSystemObject para obter o objeto Folder e visualizar uma de suas propriedades (DateCreated). <% Dimarqsys,pastademo,datacriacao Setarqsys=CreateObject(“Scripting.FileSystemObject”) Setpastademo=arqsys.GetFolder(“nomepasta”) datacriacao=pastademo.DateCreated %>
Propriedades do objeto Attributes Define ou retorna os atributos de arquivos ou pastas. objeto.Attributes [=atributos] Argumento
Descrição
objeto Objeto Folder. atributos Lista de atributos (podem ser combinados). Normal=0 Arquivo normal. ReadOnly=1 Arquivos somente de leitura ( “read-only”). Hidden=2 Arquivo oculto. System=4 Arquivo do sistema. Volume=8 Label do disco. Directory=16 Pasta ou diretório. Archive=32 O arquivo foi alterado desde o último backup. Alias=64 Link ou shortcut (atalho). Compressed=128 Arquivo compactado.
DateCreated Retorna a data e a hora que um arquivo ou pasta foi criado. objetoFld.DateCreated Argumento
Descrição
objetoFld
Objeto Folder.
DateLastAccessed Retorna a data e a hora do último acesso a um arquivo ou pasta. objetoFld.DateLastAccessed Argumento
Descrição
objetoFld
Objeto Folder.
DateLastModified Retorna a data e a hora da última modificação feita em um arquivo ou pasta. objetoFld.DateLastModified Argumento
Descrição
objetoFld
Objeto Folder. 79
Objetos de Scripting Run-Time
FileSystemObject
Drive Retorna a letra do drive de um arquivo ou pasta. objetoFld.Drive
IsRootFolder Retorna True se a pasta especificada é a pasta raiz (“root folder”); caso contrário, retorna False. objetoFld.IsRootFolder Argumento
Descrição
objetoFld
Objeto Folder.
Name Define ou retorna o nome de um arquivo ou pasta. objetoFld.Name [=novonome] Argumento
Descrição
objetoFld novonome
Objeto Folder. Novo nome do objeto.
ParentFolder Retorna o objeto Folder da pasta na qual o arquivo ou pasta especificada está contida. objetoFld.ParentFolder Argumento
Descrição
objetoFld
Objeto Folder.
Path Retorna o path para um arquivo, pasta ou drive. objetoFld.Path Argumento
Descrição
objetoFld
Objeto Folder.
ShortName Retorna o nome curto (8 caracteres mais 3 para extensão) de um arquivo ou pasta. objetoFld.ShortName Argumento
Descrição
objetoFld
Objeto Folder.
ShortPath Retorna o nome curto do path. Pastas com nomes grandes são retornados com o caractere ~ (til) , como por exemplo: a pasta Program Files, é retornada como Progra~1 objetoFld.ShortPath Descrição
objetoFld
Objeto Folder.
80
Argumento
Objetos de Scripting Run-Time
FileSystemObject
Size Retorna o tamanho (em bytes) de um arquivo, ou o tamanho (em bytes) ocupado por todos os arquivos e subpastas contidos em uma pasta. objetoFld.Size Argumento
Descrição
objetoFld
Objeto Folder.
SubFolders Retorna uma coleção Folders de todas as pastas contidas na pasta especificada, inclusive arquelas com os atributos “hidden” e “system”. objetoFld.SubFolders Argumento
Descrição
objetoFld
Objeto Folder.
Type Retorna informação sobre o tipo de um arquivo ou pasta. objetoFld.Type Argumento
Descrição
objetoFld
Objeto Folder.
Coleções do objeto Folder Files Retorna uma coleção Files de todos os objetos File em uma pasta, incluindo aqueles com os atributos “hidden” e “system”. objetoFld.Files Argumento
Descrição
objetoFld
Objeto Folder.
Folders Coleção do objetos Folder contidos em um objeto Folder.
Métodos do objeto Copy Copia um arquivo ou pasta. objeto.Copy destino [,sobrepõe] Argumento
Descrição
objeto destino sobrepõe True False
Objeto Folder. Destino onde o arquivo ou pasta será copiado. Indica se arquivos e pastas existentes são sobrepostos. Sobrepõe arquivos e pastas existentes. Não sobrepõe arquivos e pastas existentes. 81
Objetos de Scripting Run-Time
FileSystemObject
Delete Elimina um arquivo ou pasta. objeto.Delete [opção] Argumento
Descrição
objeto opção
Objeto Folder. Eliminar ou não arquivos ou pastas com o atributo “readonly”. Elimina também arquivos ou pastas com o atributo “readonly”. Não elimina arquivos ou pastas com o atributo “read-only”.
True False
Move Move um arquivo ou pasta objeto.Move destino Argumento
Descrição
objeto destino
Objeto Folder. Caminho de destino para onde será movido o arquivo ou a pasta.
82
Objetos de Scripting Run-Time
FileSystemObject
Objeto File O objeto File fornece acesso a todas as propriedades de um arquivo. No exemplo abaixo é utilizado o método GetFile do objeto FileSystemObject para obter o objeto File e visualizar uma de suas propridades (DateCreated). <% Dimarqsys,arqdemo,datacriacao Setarqsys=CreateObject(“Scripting.FileSystemObject”) Setarqdemo=arqsys.GetFile(“nomearq”) datacriacao=arqdemo.DateCreated %>
Propriedades do objeto Attributes Define ou retorna os atributos de arquivos ou de pastas. objeto.Attributes [=atributos] Argumento
Descrição
objeto Objeto File. atributos Lista de atributos (podem ser combinados). Normal=0 Arquivo normal. ReadOnly=1 Arquivos somente de leitura ( “read-only”). Hidden=2 Arquivo oculto. System=4 Arquivo do sistema. Volume=8 Label do disco. Directory=16 Pasta ou diretório. Archive=32 O arquivo foi alterado desde o último backup. Alias=64 Link ou shortcut (atalho). Compressed=128 Arquivo compactado.
DateCreated Retorna a data e a hora que um arquivo ou pasta foi criado. objetoFile.DateCreated
DateLastAccessed Retorna a data e a hora do último acesso a um arquivo ou pasta. objetoFile.DateLastAccessed
DateLastModified Retorna a data e a hora da última modificação feita em um arquivo ou pasta. objetoFile.DateLastModified
Drive Retorna a letra do drive de um arquivo ou pasta. objetoFile.Drive
83
Objetos de Scripting Run-Time
FileSystemObject
Name Define ou retorna o nome de um arquivo ou pasta. objetoFile.Name [=novonome]
ParentFolder Retorna o objeto Folder da pasta na qual o arquivo ou a pasta especificada está contida. objetoFile.ParentFolder
Path Retorna o path para um arquivo, pasta ou drive. objetoFile.Path
ShortName Retorna o nome curto (8 caracteres mais 3 para extensão) de um arquivo ou pasta. objetoFile.ShortName
ShortPath Retorna o nome curto do path. Pastas com nomes grandes são retornados com o caractere ~ (til) , como por exemplo: a pasta Program Files, é retornada como Progra~1 objetoFile.ShortPath
Size Retorna o tamanho (em bytes) de um arquivo, ou o tamanho (em bytes) ocupado por todos os arquivos e subpastas de uma pasta. objetoFile.Size
Type Retorna informação sobre o tipo de um arquivo ou pasta. objetoFile.Type
Métodos do objeto Copy Copia um arquivo ou pasta. objetoFile.Copy destino [,sobrepõe] Descrição
objetoFile destino sobrepõe True False
Objeto File. Destino onde o arquivo ou pasta será copiado. Indica se arquivos e pastas existentes são sobrepostos. Sobrepõe arquivos e pastas existentes. Não sobrepõe arquivos e pastas existentes.
84
Argumento
Objetos de Scripting Run-Time
FileSystemObject
CreateTextFile Cria um arquivo texto e retorna um objeto TextStream que faz referência ao arquivo. objetoFile.CreateTextFile nomearq, overwrite, unicode Argumento
Descrição
objetoFile nomearq sobrepõe True False unicode
Objeto File. Nome do arquivo a ser criado. Indica se os arquivos existentes são sobrepostos. Sobrepõe arquivos existentes. Não sobrepõe arquivos existentes. Formato Unicode (True) ou ASCII (False).
Delete Elimina um arquivo ou pasta. objetoFile.Delete [opção] Argumento
Descrição
objetoFile opção True False
Objeto File. Eliminar ou não arquivos ou pastas “read-only”. Elimina também arquivos ou pastas com “read-only”. Não elimina arquivos ou pastas “read-only”.
OpenAsTextStream Abre um arquivo e retorna um objeto TextStream que pode ser utilizado para ler, gravar ou acrescentar dados ao arquivo. objetoFile.OpenAsTextStream ([modo, [formato]]) Argumento
Descrição
objetoFile modo ForReading=1 ForWriting=2 ForAppending=8 formato TristateUseDefault=-2
Objeto File. Modo de entrada/saída. Abre o arquivo somente para leitura. Abre o arquivo para gravação. Abre o arquivo e grava a partir do fim do arquivo. Formato do arquivo. Abre o arquivo usando a opção default do sistema. Abre o arquivo como Unicode. Abre o arquivo como ASCII.
TristateTrue=-1 TristateFalse=0
85
Objetos de Scripting Run-Time
TextStream
Objeto TextStream O objeto TextStream permite acessar arquivos textos. Uma instância do objeto TextStream pode ser criada através dos métodos CreateTextFile ou OpenTextFile do objeto FileSystemObject, ou alternativamente, através do método OpenAsTextStream do objeto File. Exemplo: <% Dimarqsys,arqteste Setarqsys=CreateObject(“Scripting.FileSystemObject”) Setarqteste=arqsys.CreateTextFile(“c:\qqarquivo.txt”,True) arqteste.WriteLine“Textoasergravadonoarquivoqqarquivo.txt” arqteste.Close %>
Propriedades do objeto AtEndOfLine Retorna True se o ponteiro do arquivo estiver posicionado imediatamente antes da marca de fim de linha em um arquivo TextStream; caso contrário, retorna False. objeto.AtEndOfLine Argumento
Descrição
objeto
Objeto TextStream.
AtEndOfStream Retorna True se o ponteiro do arquivo estiver posicionado no fim de um arquivo TextStream; caso contrário, retorna False. objeto.AtEndOfStream Argumento
Descrição
objeto
Objeto TextStream.
Column Retorna o número da coluna da posição do caractere corrente em um arquivo TextStream. objeto.Column Argumento
Descrição
objeto
Objeto TextStream.
Line Retorna o número da linha corrente em um arquivo TextStream. objeto.Line Descrição
objeto
Objeto TextStream.
86
Argumento
Objetos de Scripting Run-Time
TextStream
Métodos do objeto Close Fecha um arquivo TextStream aberto. objeto.Close Argumento
Descrição
objeto
Objeto TextStream.
Read Lê um número especificado de caracteres de um arquivo TextStream e retorna o string resultante. objeto.Read (numcaract) Argumento
Descrição
objeto numcaract
Objeto TextStream. 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 numcaract
Objeto TextStream. Número de caracteres a serem saltados.
SkipLine Salta a próxima linha na leitura do arquivo TextStream. objeto.SkipLine Argumento
Descrição
objeto
Objeto TextStream.
87
Objetos de Scripting Run-Time
TextStream
Write Grava um texto em um arquivo TextStream. objeto.Write (texto) Argumento
Descrição
objeto texto
Objeto TextStream. Texto a ser gravado no arquivo.
WriteBlankLines Grava o número especificado de caracteres “newline” no arquivo TextStream (grava linhas em branco). objeto.WriteBlankLines (numlinhas) Argumento
Descrição
objeto numlinhas
Objeto TextStream. Número de caracteres "newline".
WriteLine Grava o texto seguido do caractere “newline” no arquivo TextStream. objeto.WriteLine ([texto]) Descrição
objeto texto
Objeto TextStream. Texto a ser gravado no arquivo.
88
Argumento
Objetos do VBScript
RegExp
Objeto RegExp O objeto RegExp é usado para criar e executar uma expressão regular. Uma expressão regular permite pesquisar uma seqüência de caracteres em um string. Um objeto Match é criado cada vez que o objeto RegExp encontra uma correspondência (match). Zero ou mais correspondências (matches) podem ocorrer, e o objeto RegExp retorna uma coleção Matches de objetos Match. <% strTarget="testetestandotestadoatestado" SetobjRegExp=NewRegExp
'criaumaexpressãoregular
objRegExp.Pattern="test*"
'defineopadrãodepesquisa
objRegExp.IgnoreCase=False
'distingüeminúsculasdemaiúsculas
objRegExp.Global=True
'defineoescopodapesquisa
SetcolMatches=objRegExp.Execute(strTarget)
'executaapesquisa
ForEachMatchIncolMatches Response.Write"Correspondênciaencontradaem"&Match.FirstIndex&"." Response.Write"Valorencontradoé'"&Match.Value&"'.<BR>" Next %>
Métodos do objeto RegExp Execute Executa a busca de uma expressão regular em um string, retornando uma coleção Matches contendo um objeto Match para cada correspondência (match) encontrada. A propriedade Pattern deve ter sido especificada previamente com a expressão regular. objetoRegExp.Execute(string)
Replace Executa a busca de uma expressão regular em um string original (str1), substituindo cada correspondência (match) encontrada por um outro string (str2). Se nenhuma correspondência for encontrada, retorna o string original. objetoRegExp.Replace (str1, str2)
Test Executa uma busca de uma expressão regular em um string, e retorna um valor Booleano True ou False, indicando se a expressão regular foi encontrada. objetoRegExp.Test(string)
89
Objetos do VBScript
RegExp
Propriedades do objeto RegExp Global Retorna ou define um valor boleano, que indica se deve ser procurada todas as ocorrências (True) da expressão regular ou somente a primeira ocorrência (False), em um string. objetoRegExp.Global = True | False
IgnoreCase Define ou retorna um valor boleano que determina se a expressão regular distingüe (False) ou não (True) minúsculas de maiúsculas. objetoRegExp.IgnoreCase = True | False
Pattern Define ou retorna um string contendo a expressão regular. Deve ser especificada antes do objeto RegExp ser utilizado. Mais informações podem ser obtidas em http://msdn.microsoft.com/ workshop/languages/clinic/scripting051099.asp ou em http:// www.oreilly/catalog/regexp/. objetoRegExp.Pattern [=expr_regular]
Coleção Matches É uma coleção criada pelo método Execute do objeto RegExp contendo objetos Match que são criados para cada correspondência (match) encontrada da expressão regular em um string.
Objeto Match O objeto Match é criado toda vez que o método Execute do objeto RegExp encontra uma correspondência (match) da expressão regular em um string. Armazena em suas propriedades os detalhes de cada correspondência (match) encontrada na pesquisa.
Propriedades do objeto Match FirstIndex Retorna a posição (a partir de 0) dentro do string onde ocorreu a correspondência (match) com a expressão regular. objetoMatch.FirstIndex
Length Retorna o tamanho do texto encontrado na pesquisa da expressão regular. objetoMatch.Length
Value Retorna o valor ou o texto encontrado na pesquisa da expressão regular. objetoMatch.Value 90
Objetos do VBScript
RegExp
Símbolos usados em Expressões Símbolo
Função
^
Somente localiza (match) no início de um string. Por exemplo: ”^P” localiza o primeiro "P" em "Pedro pegou o pato". Somente localiza (match) no final de um string. Por exemplo: a expressão "o$" localiza o último "o" em "Pedro pegou o pato". Localiza qualquer final de palavra. Por exemplo: "mente\b" localiza em "possivelmente amanhã". Localiza qualquer coisa que não seja final de palavra. Localiza o literal especificado. Localiza o caractere "new line" Localiza o caractere "form feed" Localiza o caractere "carriage return" Localiza o caractere "tab horizontal" 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 ")" Localiza o caractere ASCII expresso pelo número octal xxx. Por exemplo: ”\50" localiza “(“ ou chr (40). Localiza o caractere ASCII expresso pelo número hexa dd. Por exemplo: ”\x28" localiza “(“ ou chr (40). Localiza o caractere ASCII expresso pelo código Unicode xxxx. Por exemplo: ”\u00A3" localiza “£”. Localiza qualquer caractere no intervalo especificado. Por exemplo: a expressão "[a-c]" localiza "a", "b"ou "c". Localiza qualquer caractere especificado em [ ]. Por exemplo: "col[iu]na" localiza "colina" e "coluna". 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". Localiza letras e dígitos. Equivale a [a-zA-Z_0-9]. Localiza qualquer caractere que não seja letra ou dígito. Equivale a [^a-zA-Z_0-9].
$
\b
\B literal \n \f \r \t \v \? \* \+ \. \| \{ \} \\ \[ \] \( \) \xxx
\xdd
\uxxxx
[a-z] [xyz] [^xyz]
.
\w \W
91
Objetos do VBScript
RegExp
Símbolo
Função (continuação)
\d \D \s \S
Localiza qualquer dígito. Equivale a [0-9]. Localiza qualquer não-dígito. Equivale a [^0-9]. Localiza qualquer caractere espaço. Equivale a [ \t\r\n\v\f]. Localiza qualquer caractere diferente de espaço. Equivale a [^\t\r\n\v\f]. Localiza exatamente x ocorrências de uma expressão regular. Por exemplo: ”a{3}” equivale a "aaa". Localiza x ou mais ocorrências de uma expressão regular. Por exemplo: ”\s{2,}” localiza pelo menos 2 caracteres espaço. Localiza entre x e y ocorrências de uma expressão regular. Por exemplo: ”\d{2,3}” localiza pelo menos 2, mas não mais que 3 dígitos. Localiza zero ou uma ocorrência do caractere precedente. Equivale a {0,1}. Por exemplo: a expressão "casas?" localiza ambos "casa" e "casas". Localiza zero ou mais ocorrências do caractere precedente. Equivale a {0,}. Por exemplo: a expressão "fo*" localiza ambos "f" e "foo". Localiza uma ou mais ocorrências do caractere precedente. Equivale a {1,}. Por exemplo: a expressão "fo+" localiza "foo" mas não "f". Agrupa uma cláusula para criar uma nova cláusula. Pode ser aninhada. Por exemplo: “(ab)?(c)” localiza “abc” or “c”. Localiza qualquer uma das cláusulas individuais. Por exemplo: a expressão "a|b" localiza "a" ou "b:".
{x}
(x,}
{x,y}
?
*
+
()
|
92
Objetos do VBScript
Err
Objeto Err O objeto Err contém informações sobre erros run-time. Não é necessário criar uma instância desse objeto; ele é intrínseco do VBScript. Aceita os métodos Raise e Clear para criar e desativar erros run-time. No exemplo abaixo é verificado o valor da propriedade Number, e se ela contém um valor diferente de zero, exibe os detalhes no browser. <% Dimnumerro,descrerro OnErrorResumeNext Err.Raise6 numerro=Err.number descrerro=Err.description Ifnumerro<>0Then Response.Write“Ocorreuumerro!Erronúmero“&numerro&“do_ tipo‘“&descrerro&“‘.” EndIf %>
Saída do script: ”Ocorreu um erro! Erro número 6 do tipo ‘Overflow’.”
Métodos do objeto Clear Inicializa todas as definições de propriedade de um objeto Err. objetoErr.Clear
Raise Cria um erro de run-time. objetoErr.Raise (número [,fonte] [,descrição] [,arqhelp][,contexto]) Argumento
Descrição
objetoErr número fonte descrição arqhelp
Objeto Err. Natureza do erro. Objeto ou aplicação que originalmente gerou o erro. Descrição do erro. Localização do arquivo Help na qual o help para este erro pode ser encontrado. Identifica o tópico dentro do arquivo Help que fornece help para o erro.
contexto
93
Objetos do VBScript
Err
Propriedades do objeto Description Define ou retorna um string que descreve o erro. objetoErr.Description [ = string]
Number Define ou retorna um valor numérico que idenfica o erro. objetoErr.Number [ = numerro]
Source Retorna ou define o nome do objeto ou da aplicação que originalmente gerou o erro. objetoErr.Source [=nomeaplic] Argumento
Descrição
objetoErr nomeaplic
Objeto Err. Nome da aplicação.
HelpContext Define ou retorna o número de contexto para um tópico no arquivo Help. objetoErr.HelpContext [=contextoID] Argumento
Descrição
objetoErr contextoID
Objeto Err. Identificador para um tópico de help no arquivo Help.
HelpFile Define ou retorna o path para um arquivo Help, que é acionado quando o usuário clica no botão Help ou pressiona a tecla F1 na caixa de diálogo de um mensagem de erro. objetoErr.HelpFile [=path] Descrição
objetoErr path
Objeto Err. Localização do arquivo Help.
94
Argumento
VBScript
Instruções
Instruções do VBScript Call Chama uma procedure Sub ou Function. [Call] nomeproc [argumentos] Argumento
Descrição
Call
Palavra-chave opcional; se especificada, a lista de argumentos deve ser colocada entre parenteses (). Nome da procedure. Lista das variáveis, arrays ou expressões, separadas por vírgulas, que serão passadas para a procedure.
nomeproc argumentos
Class Declara o nome de uma classe, e a definição das variáveis, propriedades e métodos que constituem a classe. Class nome instruções End Class Parte
Descrição
nome instruções
Nome da classe. Uma ou mais instruções que definem as variáveis, propriedades e métodos da Class.
Const Declara suas próprias constantes. Após ter declarado uma função, seu valor não pode ser alterado. [Public | Private] Const nome1 = expr1, nome2=expr2 ... Argumento
Descrição
Public
Usado no nível de módulo para declarar constantes acessíveis a todas as procedures em todos os módulos. Não permitido em procedures. Usado no nível de módulo para declarar constantes acessíveis somente dentro do módulo onde a declaração foi feita. Não permitido em procedures.
Private
Dim Define variáveis e aloca espaço de memória. Dim nomevar [([subscritores])] [,nomevar [([subscritores])]].. Argumento
Descrição
nomevar subscritores
Nome da variável ou array. Dimensões de um array. Podem ter a seguinte sintaxe (limite inferior, limite superior).
Do...Loop Repete um bloco de comandos enquanto uma condição for verdadeira (While) ou até que uma condição se torne verdadeira (Until). 95
VBScript
Instruções
Sintaxe 1: Do [{While | Until} condição] [bloco de comandos] [Exit Do] [bloco de comandos] Loop
Sintaxe 2: Do [bloco de comandos] [Exit Do] [bloco de comandos] Loop [{While | Until} condição] Argumento
Descrição
Exit Do
Transfere o controle para o comando imediatamente seguinte ao comando Loop. Finalização do bloco Do.
Loop
Erase Limpa os valores dos elementos de um array fixo. Elementos numéricos são reinicializados com zero e string são reinicializados com "". No caso de arrays dinâmicos eles são eliminados e o espaço alocado de memória é liberado. Erase array
Execute Interpreta um argumento string como um ou mais instruções VBScript e as executa em um namespace local. As instruções devem ser separadas por ":" ou line-breaks. Nenhum valor é retornado. Para avaliar uma expressão que retorne um valor, use a função Eval. Ao contrário da função Eval, Execute interpreta operadores "=" como atribuições ao invés de comparações. Execute instrução
ExecuteGlobal Interpreta um argumento string como uma ou mais instruções VBScript e as executa em um namespace global. As instruções devem ser separadas por ":" ou line-breaks. Nenhum valor é retornado. Para avaliar uma expressão que retorne um valor, use a função Eval. Ao contrário da função Eval, ExecuteGlobal interpreta operadores "=" como atribuições ao invés de comparações. ExecuteGlobal instrução
Exit Sai de um laço Do...Loop ou For...Next, ou de uma procedure Function ou Sub. Exit {Do | For | Function | Sub} 96
VBScript
Instruções
Argumento
Descrição
Do For Function Sub
Sai de um laço Do...Loop. Sai de um laço For...Next. Sai de uma procedure Function. 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 início fim incremento Exit For
Variável numérica usada como contador do laço. Valor inicial do intervalo para o contador. Valor final do intervalo para o contador. Valor a ser incrementado ao contador a cada iteração. Fornece uma saída alternativa do bloco. Transfere o controle para o comando imediatamente seguinte ao comando Next. Finaliza um laço For...Next. Incrementa o contador e volta a repetir o bloco.
Next
For Each...Next Repete um grupo de instruções para cada elemento em uma coleção ou array. Permite processar cada item em uma coleção ou array sem ter que se preocupar com índices. For Each elemento In grupo [bloco de instruções] [Exit For] [bloco de instruções] Next [elemento] Argumento
Descrição
elemento
Variável usada para interagir através dos elementos de uma coleção ou um array. Nome de uma coleção ou um array.
grupo
Function Declara uma função(Function). Ao contrário das procedures(Sub), retorna um valor e pode ser usada em expressões. Function nomefunc [(argumentos)] [instruções] [nomefunc = expressão] [Exit Function] [instruções] [nomefunc = expressão] End Function 97
VBScript
Instruções
Argumento
Descrição
nomefunc argumentos
Nome da função. Lista de variáveis, separadas por vírgula, representando os argumentos que são passados para a função quando ela é chamada. Grupo de instruções a serem executadas dentro da função. Valor retornado pela função.
instruções expressão
If...Then...Else Permite a execução condicional de blocos de instruções, baseada na avaliação das condições. If condição1 Then [bloco de instruções-1] [ElseIf condição2 Then [bloco de instruções-2]] [Else [bloco de instruções-n]] End If Argumento
Descrição
condição
Condição a ser avaliada. Pode ser uma expressão string ou numérica que retorna True (não-zero) ou False (0 ou Null). Indica as condições alternativas que devem ser avaliadas se a condição1 não for satisfeita. Identifica a ação que deve ser tomada caso nenhuma das condições prévias tenha sido satisfeita.
ElseIf Else
On Error Especifica que quando ocorrer um erro de execução, o fluxo deverá seguir para o comando imediatamente posterior ao comando onde ocorreu o erro. O erro não é corrigido, apenas ignorado, e não é exibida nenhuma mensagem de erro. A instrução On Error Goto 0 desabilita a manipulação de erros. On Error Resume Next
Option Explicit Força a declaração (com Dim, Private, Public ou ReDim) de todas as variáveis usadas no script, antes de serem utilizadas. Deve ser colocado no script antes de qualquer outra instrução. Qualquer tentativa de usar uma variável não declarada ocasionará um erro. A declaração de variáveis antes de usá-las faz com que o script seja executado mais rapidamente. Option Explicit
Private Declara variáveis com escopo limitado e aloca espaço de memória. Private nomevar [([subscritores])] [,nomevar [([subscritores])]].. Descrição
nomevar subscritores
Nome da variável ou array. Dimensões de um array. Podem ter a seguinte sintaxe: (limite inferior, limite superior).
98
Argumento
VBScript
Instruções
PropertyGet Declara, em um bloco Class, o nome, os argumentos, e o código que formam a procedure Property que obtém o valor de uma propriedade. [Public [Default] | Private] PropertyGet nomeproc [argumentos] ... [[Set] nomeproc = expressão] ... End Property Argumento
Descrição
Public Default Private
Indica que a procedure é acessível às outras procedures. Indica qual é a propriedade default em uma classe. Indica que a procedure é acessível somente para outra procedure pertencente a mesma classe. Nome da procedure. Variáveis que representam argumentos que são passados para a procedure.
nomeproc argumentos
PropertyLet Declara, em um bloco Class, o nome, os argumentos, e o código que formam a procedure Property que atribui o valor de uma propriedade. [Public | Private] PropertyLet nomeproc ([argumentos,] valor) ... End Property Argumento
Descrição
Public Private
Indica que a procedure é acessível às outras procedures. Indica que a procedure é acessível somente para outra procedure pertencente a mesma classe. Nome da procedure. Variáveis que representam argumentos que são passados para a procedure. Variável que contém o valor a ser atribuído.
nomeproc argumentos valor
PropertySet Declara, em um bloco Class, o nome, os argumentos, e o código que formam a procedure Property que definem uma referência para um objeto. [Public | Private] PropertySet nomeproc ([argumentos,] referência) ... End Property Argumento
Descrição
Public Private
Indica que a procedure é acessível para todas outras. Indica que a procedure é acessível somente para outra procedure pertencente a mesma classe. Nome da procedure. Variáveis que representam argumentos que são passados para a procedure. Variável que contém um objeto usado no lado direito do objeto referente à atribuição.
nomeproc argumentos referência
99
VBScript
Instruções
Public Usado no nível de módulo para declarar variáveis públicas e alocar espaço de memória. Public nomevar [([subscritores])] [,nomevar [([subscritores])]].. Argumento
Descrição
nomevar subscritores
Nome da variável ou array. Dimensões de um array. Podem ter a seguinte sintaxe (limite inferior, limite superior).
Randomize Inicializa o gerador de números aleatórios. Use a função Rnd para obter os números aleatórios. Randomize [número] Argumento
Descrição
número
Valor da semente usada para inicializar o gerador. Se omitido será utilizado o valor retornado pelo timer do sistema.
ReDim Usada no nível de procedure para declarar arrays dinâmicos e alocar ou realocar espaço de memória. ReDim [Preserve] nomevar (subscritores) [,nomevar(subscritores)]... Argumento
Descrição
Preserve nomevar subscritores
Preserva os dados quando forem redimensionados. Nome da variável. Dimensões de um array.
Rem Identifica comentários dentro do programa fonte. O mesmo que ‘ (apostrofe). Rem [comentário]
Select Case Seleciona entre vários blocos de instruções, apenas um para ser executado, dependendo do resultado da expr_teste, que é comparada com as expressões na cláusula Case. Caso encontre uma correspondência, executa o bloco de instruções da cláusula Case. Select Case expr_teste [Case lista1 [bloco de instruções-1]] [Case lista2 [bloco de instruções-2]] [Case Else [bloco de instruções-n]] End Select
100
VBScript
Instruções
Argumento
Descrição
expr_teste lista Case Else
Expressão numérica ou string. Lista de expressões a serem comparadas com aexpr_teste. Identifica o bloco de instruções a ser executado caso não tenha sido encontrada uma correspondência entre a expr_teste e as listas.
Set Atribui uma referência de objeto a uma variável ou propriedade (isto é, cria uma instância de um objeto específico). Set varobjeto = {exprobjeto | Nothing} Argumento
Descrição
varobjeto exprobjeto
Nome da variável objeto. Expressão consistindo do nome de um objeto, outra variável declarada do mesmo tipo de objeto, ou uma função ou método que retorna um objeto. Elimina a associação de varobjeto a qualquer objeto específico.
Nothing
Sub Declara uma procedure Sub. Ao contrário das procedures Function, não retorna um valor e não pode ser usada em expressões. Sub nome [(argumentos)] [instruções] [Exit Sub] [instruções] End Function Argumento
Descrição
nome argumentos
Nome da procedure Sub. Lista de variáveis, separadas por vírgula, representando os argumentos que são passados para a procedure Sub quando ela é chamada. Grupo de instruções a serem executadas dentro da procedure Sub.
instruções
While...Wend Executa um bloco de instruções enquanto uma condição for verdadeira. While condição [bloco de instruções] Wend
With Executa um bloco de instruções em um único objeto. With objeto [bloco de instruções] End With 101
VBScript
Funções
Funções do VBScript Abs Retorna o valor absoluto de um número. Abs (número)
Array Permite criar um array unidimensional de valores, normalmente utilizado para armazenar uma pequena quantidade de dados dentro do programa. Array (lista_arg) Argumento
Descrição
lista_arg
Lista de valores separados por vírgula atribuídos aos elementos do array.
Asc Retorna o código numérico ANSI do primeiro caractere de uma expressão string. Asc (string)
AscB Retorna o primeiro byte de uma expressão string. AscB (string)
AscW Retorna o código Unicode do primeiro caractere de uma expressão string em formato Unicode. AscW (string)
Atn Retorna o arco-tangente de uma expressão numérica. Atn (número)
CBool Retorna o valor de uma expressão (numérica ou string) convertido em um valor lógico (True ou False). Se o valor da expressão for zero, False é retornado; caso contrário, True é retornado. Se a expressão não puder ser interpretada como um valor numérico, ocorrerá um erro de run-time. CBool (expr)
CByte Retorna o valor de uma expressão (numérica ou string) convertido para um tipo variant de subtipo Byte. CByte (expr)
102
VBScript
Funções
CCur Retorna o valor de uma expressão (numérica ou string) convertido para um tipo variant de subtipo Currency. CCur (expr)
CDate Retorna o valor de uma expressão data e hora convertido para um tipo variant de subtipo Date. CDate (expr)
CDbl Retorna o valor de uma expressão (numérica ou string) convertido para um tipo variant de subtipo Double. CDbl (expr)
Chr Retorna o caractere correspondente ao código ANSI especificado. Chr (código)
CInt Retorna o valor de uma expressão (numérica ou string) convertido para um variant de subtipo Integer. CInt (expr)
CLng Retorna o valor de uma expressão (numérica ou string) convertido para um variant de subtipo Long. CLng (expr)
Cos Retorna o co-seno de um número (ângulo) (expresso em radianos). Cos (número)
CreateObject Cria e retorna uma referência para um objeto de automação. O statement Set atribui a referência ao objeto a uma variável ou property. A palavra-chave Nothing é usada para limpar a referência ao objeto. CreateObject(servidor.tipo [, local]) Argumento
Descrição
servidor tipo local
Nome da aplicação que fornece o objeto. Tipo ou classe do objeto a ser criado. Nome do servidor de rede onde o objeto será criado.
103
VBScript
Funções
CSng Retorna o valor de uma expressão (númerica ou string) convertido para um tipo variant de subtipo Single. CSng (expr)
CStr Retorna o valor de uma expressão (numérica ou string) convertido para um tipo variant de subtipo String. CStr (expr) Expr
CStr retorna
Boolean Date
Um String contendo True ou False. Um String contendo uma data no formato abreviado do seu sistema. Um erro de run-time. Um String vazio (“”). Um String contendo a palavra Error seguida por um número de erro. Um String contendo o número.
Null Empty Error Número
Date Retorna a data corrente do sistema. Date
DateAdd Retorna a data resultante da adição de múltiplos intervalos de tempo a uma data base. DateAdd (intervalo, núm_interv, data_base) Argumento
Descrição
intervalo
Expressão string indicando o intervalo de tempo a ser adicionado. Ano. Trimestre. Mês. Dia do ano. Dia. Dia da semana. Semana. Hora. Minuto. Segundo. Especifica o número de intervalos a serem adicionados. Se positivo, obtém uma data no futuro, se negativo, no passado. Um tipo variant ou um literal representando a data na qual o intervalo será adicionado.
yyyy q m y d w ww h n s núm_interv
data_base
104
VBScript
Funções
DateDiff Retorna o número de intervalos (dia, semana, trimestre, etc) entre duas datas. DateDiff (intervalo, data1, data2 [,primdiasem [,primsemano]]) Argumento
Descrição
intervalo
Expressão string indicando o intervalo de tempo utilizado para calcular a diferença entre data1 e data2. Ver opções da função DateAdd. data1, data2 Duas datas usadas no cálculo. primdiasem Primeiro dia da semana. vbUseSystem=0 Usa definição da NLS API. vbSunday=1 Domingo (default). vbMonday=2 Segunda. vbTuesday=3 Terça. vbWednesday=4 Quarta. vbThursday=5 Quinta. vbFriday=6 Sexta. vbSaturday=7 Sábado. primsemano Primeira semana do ano. vbUseSystem=0 Usa definição da NLS API. vbFirstJan1=1 Inicia na mesma semana de 1 de Janeiro (default). vbFirstFourDays=2 Inicia na semana com pelo menos 4 dias no novo ano. vbFirstFullWeek=3 Inicia na primeira semana completa do ano.
DatePart Retorna um intervalo de tempo de uma data. Ver opções na função DateDiff. DatePart (intervalo, data [,primdiasem [,primsemano]])
DateSerial Retorna um tipo Variant de subtipo Date baseado na data fornecida (de 01/01/100 a 31/12/9999). DateSerial (ano, mês, dia)
DateValue Retorna uma Variant de subtipo Date baseado em uma expressão representando uma data. DateValue (expr) Argumento
Descrição
expr
Pode ser qualquer expressão que represente uma data (de 01/01/100 a 31/12/9999).
Day Retorna o dia do mês (1-31) de uma expressão representando uma data. Day (expr) 105
VBScript
Funções
Eval Avalia e retorna o resultado de uma expressão. Eval (expr)
Exp Retorna ex (e=2.71828). Exp (x)
Filter Retorna um array que contém um subconjunto de um array de strings. Filter(inputstring, valor [,inclui [,compara]]) Argumento
Descrição
inputstring valor inclui
Array string onde ocorrerá a pesquisa. String a ser pesquisado. Valor lógico indicando se deve incluir (True) ou excluir (False) elementos em inputstrings que contenham valor. True Retorna os elementos encontrados em inputstrings. False Retorna os elementos não encontrados em inputstring. compara Método de comparação de strings. vbBinaryCompare=0 Executa comparação binária (default). vbTextCompare=1 Executa comparação textual.
Fix Retorna a parte inteira de um número. Se o número for negativo, retorna o primeiro inteiro negativo maior ou igual ao número. Ver também a função Int na página 109. Fix (exprN)
FormatCurrency Retorna uma expressão formatada como valor monetário, e com o símbolo que foi configurado no Control Panel do Windows. FormatCurrency (expr [,digitos] [,leadingdig] [,negativo] [,grupo]) Argumento
Descrição
expr digitos leadingdig
Expressão a ser formatada. Número de casas decimais. Especificasezerosdepreenchimento(leadingzeroes)devem ser exibidos (True) ou não (False) para valores fracionários. Especifica se valores negativos devem ser exibidos (True) ou não (False) entre parenteses. Especifica se os números devem (True) ou não (False) ser agrupados usando o delimitador especificado no Control Panel do Windows.
negativo grupo
106
VBScript
Funções
FormatDateTime Retorna uma expressão formatada como data ou hora. FormatDateTime (exprD [,formato]) Argumento
Descrição
exprD formato
Expressão data a ser formatada. Especifica o formato da data / hora (default = vbGeneralDate). Data e/ou Hora. Data no formato longo. Data no formato curto. Hora no formato do Painel de Controle do Windows. Hora usando o formato (hh:mm).
vbGeneralDate=0 vbLongDate=1 vbShortDate=2 vbLongTime=3 vbShortTime=4
FormatNumber Retorna uma expressão formatada como um número. FormatNumber (expr [,digitos] [,leadingdig] [,negativo] [,grupo]) Argumento
Descrição
expr digitos leadingdig
Expressão a ser formatada. Número de casas decimais. Especificasezerosdepreenchimento(leadingzeroes)devem ser exibidos (True) ou não (False) para valores fracionários. Especifica se valores negativos devem ser exibidos (True) ou não (False) entre parenteses. Especifica se os números devem (True) ou não (False) ser agrupados usando o delimitador especificado no Control Panel do Windows.
negativo grupo
FormatPercent Retorna uma expressão formatada como uma porcentagem (multiplicada por 100) com o caractere % anexado, como por exemplo: 50%. FormatPercent(expr [,digitos] [,leadingdig] [,negativo] [,grupo]) Argumento
Descrição
expr digitos leadingdig
Expressão a ser formatada. Número de casas decimais. Especificasezerosdepreenchimento(leadingzeroes)devem ser exibidos (True) ou não (False) para valores fracionários. Especifica se valores negativos devem ser exibidos (True) ou não (False) entre parenteses. Especifica se os números devem (True) ou não (False) ser agrupados usando o delimitador especificado no Control Panel do Windows.
negativo grupo
GetLocale Retorna o LCID (locale ID). GetLocale()
107
VBScript
Funções
GetObject Retorna uma referência para um objeto ActiveX do arquivo. GetObject([arquivo] [,classe])
GetRef Retorna uma referência para uma procedure que pode ser vinculada a um evento. GetRef(nomeproc) Set objeto.nomeEvento = GetRef(nomeProc) Argumento
Descrição
objeto nomeEvento nomeproc
Nome do objeto em que o evento será associado. Nome do evento em que a função será associada. String contendo o nome da procedure que vai ser associada ao evento.
Hex Retorna a representação hexadecimal de um número decimal. Hex (exprN)
Hour Retorna a hora (0-23) de uma expressão que representa um horário. Hour (expr)
InputBox Exibe uma caixa de diálogo para a entrada de dados, espera o usuário entrar com um texto ou escolher um botão e retorna o conteúdo da caixa de texto. Retorna um string com tamanho zero (“”) se o usuário escolher o botão Cancel. InputBox (prompt [,título] [,default] [,xpos] [,ypos] [,arqhelp, contexto]) Argumento prompt título default xpos
ypos arqhelp contexto
108
Descrição Mensagem exibida na caixa de diálogo. Título da caixa de diálogo. Conteúdo default da caixa de diálogo. Distância (em twips) da margem esquerda da caixa de diálogo até a margem esquerda da tela. Twips é unidade de medida igual a 1/20 de um ponto da impressora. Distância (em twips) da margem superior da caixa de diálogo até a margem superior da tela. Arquivo de help a ser utilizado para fornecer help sensível ao contexto (context-sensitive) para a caixa de diálogo. Número de contexto do tópico de help.
VBScript
Funções
InStr Retorna a posição da primeira ocorrência de um string dentro de outro string. InStr ([início], expr1, expr2 [, método]) Argumento
Descrição
início Posição inicial de expr1$ a ser pesquisada. expr1 Expressão string a ser pesquisada. expr2 Expressão string pesquisada. método Método de comparação de strings. vbBinaryCompare=0Distingüe letras minúsculas de maiúsculas. vbTextCompare=1 Não distingüe letras minúsculas de maiúsculas.
InStrRev Retorna a posição da primeira ocorrência de um string dentro de outro string, a partir do final do string. InStrRev (expr1, expr2 [,início [,método]]) Argumento
Descrição
expr1 Expressão string pesquisada. expr2 Expressão string a ser pesquisada. início Posição inicial de expr1 a ser pesquisada. método Método de comparação de strings. vbBinaryCompare=0Distingüe letras minúsculas de maiúsculas. vbTextCompare=1 Não distingüe letras minúsculas de maiúsculas).
Int Retorna a parte inteira de um número. Se o número for negativo, retorna o primeiro inteiro negativo menor ou igual ao número. Ver também a função Fix na página 106. Int (exprN)
IsArray Retorna True se uma variável é um array; caso contrário, retorna False. IsArray (nomevar)
IsDate Retorna True se o valor de uma expressão puder ser ser convertido para uma data válida; caso contrário, retorna False. IsDate (expr)
IsEmpty Retorna True se uma variável foi inicializada; caso contrário, retorna False. IsEmpty (nomevar)
109
VBScript
Funções
IsNull Retorna True se uma expressão contiver valor Null; caso contrário, retorna False. IsNull (expr)
IsNumeric Retorna True se uma expressão puder ser interpretada como um número; caso contrário, retorna False. IsNumeric (expr)
IsObject Retorna True se a uma expressão referencia um objeto de automação (“Automation object”) válido; caso contrário, retorna False. IsObject (expr)
Join Retorna um string que é o resultado da concatenação dos substrings contidos em um array. Oposto da função Split (página 115). Join(lista [,delimitador]) Argumento
Descrição
lista delimitador
Array contendo substrings a serem concatenados. Caractere utilizado para separar os substrings no string retornado (default=” ”).
LBound Retorna o menor subscritor da dimensão especificada de um array. Ver também a função UBound na página 117. LBound (array [,dimensão])
LCase Retorna uma cópia de uma expressão string com todas as letras minúsculas. Para converter para maiúsculas utilize a função UCase (página 117). LCase(expr)
Left Retorna um substring com os n caracteres iniciais de uma expressão string. Ver também as funções Mid e Right. Left (expr, n)
Len Sintaxe 1: Retorna o número de caracteres em uma expressão string. Len (expr)
110
VBScript
Funções
Sintaxe 2: Retorna o número de bytes usados em uma variável. Len (nomevar)
LoadPicture Carrega uma figura. Pode-se carregar arquivos nos seguintes formatos: .BMP, .ICO, .RLE, .WMF, .EMF, .GIF e .JPG. LoadPicture ([nomearq]) Argumento
Descrição
nomearq
Nome do arquivo da figura a ser carregada.
Log Retorna o logaritmo natural de um número. Log (expr)
LTrim Retorna uma cópia de uma expressão string sem os espaços em branco iniciais. Ver também as funções RTrim e Trim. LTrim (expr)
Mid Retorna um substring de uma expressão string. Ver também as funções Left e Right. Mid (expr, início [,tamanho]) Argumento
Descrição
início tamanho
Posição inicial em expr. Número de caracteres a serem retornados.
Minute Retorna os minutos (0-59) de uma expressão que representa um horário. Minute (expr)
Month Retorna o mês (1-12) de uma expressão que representa uma data. Month (expr)
MonthName Retorna o nome de um mês por extenso. MonthName(mês [,abrevia]) Argumento
Descrição
mês abrevia True False
Número do mês (1-12). Define se o nome do mês deve ser abreviado. Nome do mês abreviado. Nome do mês por extenso.
111
VBScript
Funções
MsgBox Exibe uma mensagem em uma caixa de diálogo, espera o usuário escolher um botão e retorna um valor indicando qual botão foi selecionado. MsgBox (mensagem [,tipo] [,título] [,arqhelp, contexto]) Argumento
Descrição
título arqhelp
Título a ser exibido na barra de título da caixa de diálogo. Arquivo de help a ser utilizado para fornecer help sensível ao contexto (context-sensitive) para a caixa de diálogo. contexto Número de contexto do tópico de help. tipo Tipo do quadro a ser exibido. Some os valores das características desejadas. Número e tipo dos botões: vbOKOnly=0 Exibe somente o botão OK. vbOKCancel=1 Exibe os botões OK e Cancel. vbAbortRetryIgnore=2 Exibe os botões Abort, Retry e Ignore. vbYesNoCancel=3 Exibe os botões Yes, No e Cancel. vbYesNo=4 Exibe os botões Yes e No. vbRetryCancel=5 Exibe os botões Retry e Cancel. Estilo do ícone: vbCritical=16 Exibe o ícone Critical Message. vbQuestion=32 Exibe o ícone Warning Query. vbExclamation=48 Exibe o ícone Warning Message. vbInformation =64 Exibe o ícone Information Message. Identifica o botão default (que tem o foco): vbDefaultButton1=0 Define o primeiro botão como default. vbDefaultButton2=256 Define o segundo botão como default. vbDefaultButton3=512 Define o terceiro botão como default. vbDefaultButton4=768 Define o quarto botão como default. Modalidade: vbApplicationModal=0 O usuário deve responder à caixa de mensagem antes de continuar o trabalho na aplicação corrente. vbSystemModal=4096 Em sistemas Win16 faz com que todas as aplicações sejam suspensas até o usuário responder à caixa de mensagem. Em sistemas Win32, mantém a caixa de mensagem sempre no topo das outras aplicações que estão sendo executadas. Valor retornado pela função: vbOK=1 Botão OK foi clicado. vbCancel=2 Botão Cancel foi clicado. vbAbort=3 Botão Abort foi clicado. vbRetry=4 Botão Retry foi clicado. vbIgnore=5 Botão Ignore foi clicado. vbYes=6 Botão Yes foi clicado. vbNo=7 Botão No foi clicado.
Now Retorna a data e a hora do sistema operacional. Now 112
VBScript
Funções
Oct Retorna um texto que representa o valor octal de um argumento decimal. Oct (número)
Replace Retorna um string na qual um substring especificado foi substituído por um outro substring, um número especificado de vezes. Replace(expr1, expr2, expr3 [,começo[,numsubst[,compara]]]) Argumento
Descrição
expr1
String que contém uma ou mais substrings que serão trocadas. expr2 Substring a ser procurada. expr3 Substring de substituição começo Posição onde a substituição será iniciada. numsubst Número de substituições a serem feitas. Default= -1 que é equivalente a todas as possíveis substituições. compara Tipo de comparação. Constantes de Comparação: vbBinaryCompare=0 Faz uma comparação binária. vbTextCompare=1 Faz uma comparação textual. vbDatabaseCompare=2 Faz uma comparação baseada em informações de um banco de dados onde a comparação será feita.
RGB Retorna um número inteiro longo representando o valor da cor RGB. RGB (vermelho, verde, azul) Argumento
Descrição
vermelho verde azul
Número (0-255) representando o item vermelho da cor. Número (0-255) representando o item verde da cor. Número (0-255) representando o item azul da cor.
Right Retorna um substring com n caracteres à direita de uma expressão string. Ver também as funções Mid e Left. Right (expr, n)
Rnd Retorna um número aleatório entre 0 e 1. Para inicializar o gerador de números aleatórios use o comando Randomize (página 100). Rnd [(número)] Argumento
Descrição
número <0 >0 =0
Determina como a função Rnd irá gerar o número aleatório. Retorna sempre o mesmo número. Retorna o próximo número aleatório na seqüência (default). Retorna o número aleatório gerado mais recentemente. 113
VBScript
Funções
Round Retorna um número arredondado com um determinado número de casas decimais. Round (número, num_casas_decimais)
RTrim Retorna uma cópia de uma expressão string sem os espaços em branco finais. Ver também as funções LTrim e Trim. RTrim (expr)
ScriptEngine Retorna o nome da linguagem de scripting que está sendo utilizada. ScriptEngine Valor Retornado VBScript JScript VBA
Visual Basic Scripting Edition. JScript. Visual Basic for Applications.
ScriptEngineBuildVersion Retorna o número da versão da linguagem de scripting que está sendo utilizada. ScriptEngineBuildVersion
ScriptEngineMajorVersion Retorna o número de mais alta ordem no número da versão da linguagem de scripting que está sendo utilizada. ScriptEngineMajorVersion
ScriptEngineMinorVersion Retorna o número de mais baixa ordem no número da versão da linguagem de scripting que está sendo utilizada. ScriptEngineMinorVersion
Second Retorna os segundos (0-59) de uma expressão que representa um horário. Second (expr)
SetLocale Define o LCID (locale ID). SetLocale(LCID)
114
VBScript
Funções
Sgn Retorna um número inteiro indicando o sinal de um número. Sgn (número) Valor retornado: 1 0 -1
O número é maior que 0. O número é 0. O número é menor que 0.
Sin Retorna o seno de um ângulo (expresso em radianos). Sin (ângulo)
Space Retorna um string com um número especificado de espaços em branco. Space (número)
Split Retorna um array contendo um número especificado de substrings. Oposto da função Join (página 100). Split (expressão [,delimitador [,contador [,compara]]]) Argumento
Descrição
expressão
Expressão string contendo substrings separados por delimitadores. Caractere utilizado para separar os substrings. Número de substrings a serem retornados. Para retornar todos os substrings especifique -1.
delimitador contador
compara vbBinaryCompare=0 vbTextCompare=1
Efetua comparação binária. Efetua comparação textual.
Sqr Retorna a raiz quadrada de um número. Sqr (número)
StrComp Retorna um valor indicando o resultado da comparação de dois strings. StrComp (expr1, expr2 [,compara]) Argumento
Descrição
compara 0 1 Valor retornado -1 0 1 Null
Especifica o método de comparação de strings. Distingue minúsculas de maiúsculas. Não distingue minúsculas de maiúsculas. Condição: expr1 < expr2 expr1 = expr2 expr1 > expr2 expr = Null ou expr2 = Null 115
VBScript
Funções
String Retorna um string com n caracteres, contendo o código ANSI ou o primeiro caractere da expr especificada. String (n, cod | expr)
StrReverse Retorna uma cópia de um string, com os caracteres na ordem reversa. StrReverse(string)
Tan Retorna a tangente de um ângulo (expresso em radianos). Tan (ângulo)
Time Retorna um Variant do subtipo Date indicando a hora corrente do sistema operacional. Time
Timer Retorna o número de segundos que se passaram depois da meia noite. Timer
TimeSerial Retorna um Date correspondente a um horário. TimeSerial (hora, minuto, segundo)
TimeValue Retorna o horário representado por uma expressão string. TimeValue (expr)
Trim Retorna uma cópia de uma expressão string sem os espaços em branco iniciais e finais. Ver também as funções LTrim e RTrim. Trim (expr)
TypeName Retorna o subtipo de dados de uma variável. TypeName (nomevar) String retornado Byte Integer Long Single Double Currency 116
A variável contém
Um byte. Um inteiro. Um inteiro longo. Um número de ponto-flutuante de precisão simples. Um número de ponto-flutuante de dupla precisão. Um valor currency.
VBScript Date String Boolean Empty Null tipoobjeto Object Unknown Nothing Error
Funções Uma data. Um string. Um valor lógico. Um valor não inicializado. Dados inválidos. Nome do tipo real de um objeto. Um objeto que suporta OLE. Um objeto de tipo desconhecido. Uma variável objeto que não se refere a um objeto. Um valor error.
UBound Retorna o maior subscritor da dimensão especificada de um array. Para retornar o menor subscritor utilize a função LBound (página 110). UBound (array [,dimensão])
UCase Retorna uma cópia de uma expressão string com todas as letras maiúsculas. Para converter para minúsculas utilize a função LCase (página 110). UCase (expr)
VarType Retorna um valor indicando o subtipo de uma variável. VarType (nomevar) Valor retornado pela função: vbEmpty=0 vbNull =1 vbInteger=2 vbLong=3 vbSingle=4 vbDouble=5 vbCurrency=6 vbDate=7 vbString=8 vbObject=09 vbError =10 vbBoolean=11 vbVariant=12 vbDataObjects=13 vbByte=17 vbArray=8192
Vazio (não inicializada). Null (sem dados válidos). Integer. Long (long integer). Single (simples precisão). Double (dupla precisão). Currency. Date. String. Objeto OLE. Erro. Valor lógico. Variant (usado somente com arrays de Variants). Objeto não-OLE. Byte. Array.
117
VBScript
Funções
Weekday Retorna um número entre 1 (Domingo) e 7 (Sábado), correspondente ao dia da semana de uma expressão representando uma data. Weekday (data, [primeiro]) Argumento
Descrição
data primeiro
Expressão representando uma data. 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 abrevia False True primeiro
Um Número representando o dia da semana. Define se o dia da semana será abreviado. Não abrevia o dia da semana (default). Abrevia o dia da semana. Uma constante que especifica o primeiro dia da semana. vbSunday=1 Domingo (default). vbMonday =2 Segunda-feira. vbTuesday=3 Terça-feira. vbWednesday=4 Quarta-feira. vbThursday=5 Quinta-feira. vbFriday=6 Sexta-feira. vbSaturday=7 Sábado.
Year Retorna um número que representa o ano de uma determinada data. Year (Data)
118
VBScript
Operadores
Operadores Operadores Aritméticos ^ * / \ Mod + -
Exponenciação Multiplicação Divisão Divisão inteira (retorna um resultado inteiro) Módulo aritmético (retorna o resto da divisão de Adição Subtração
resultado resultado resultado resultado
= = = =
operando1 ^ operando2 operando1 * operando2 operando1 / operando2 operando1 \ operando2
resultado = operando1 Mod operando2 operando1 por operando2) resultado = operando1 + operando2 (1) resultado = operando1 - operando2 (2) -número (indica um valor negativo)
Operadores de Comparação < <= > >= = <>
Menor que Menor ou igual Maior que Maior ou igual Igual Diferente
True se
False se
expr1 expr1 expr1 expr1 expr1 expr1
expr1 expr1 expr1 expr1 expr1 expr1
< expr2 <= expr2 > expr2 >= expr2 = expr2 <> expr2
>= expr2 > expr2 <= expr2 < expr2 <> expr2 = expr2
Operadores de Concatenação de Strings & +
Concatenação Concatenação (obsoleto)
resultado = operando1$ & operando2$ resultado = operando1$ + operando2$
Operadores Lógicos And
resultado=expr1 And expr2
Eqv
resultado=expr1 Eqv expr2
Imp
resultado=expr1 Imp expr2
Not Or
resultado=Not expr resultado=expr1 Or expr2
Xor
resultado=expr1 Xor expr2
Retorna True se ambas as expressões forem True. Retorna True se ambas as expressões forem True ou ambas forem False. Retorna False se a expr1 for True e a expr2 for False; caso contrário, retorna True. Retorna o inverso da expr. Retorna True se uma das expressões for True. Retorna True se apenas uma das expressões for True, mas não ambas forem True.
Outros Operadores Is
resultado=objref1 Is objref2
Retorna True se ambos os objetos referirem-se ao mesmo objeto.
Precedência dos Operadores Quando operadores de mais de uma categoria são combinados, os operadores aritméticos são avaliados primeiro, os de comparação são avaliados em seguida e os lógicos são avaliados por último, conforme a tabela abaixo. Dentro de uma mesma categoria, os operadores são avaliados na ordem de precedência mostrada abaixo. Alguns operadores têm a mesma precedência e são avaliados da esquerda para a direita na ordem em que aparecem: multiplicação e divisão, adição e subtração, e os operadores de comparação. Aritméticos
Comparação
Lógicos
Exponenciação (^) Negação (-) Multiplicação e divisão (*,/) Divisão inteira (\) Módulo (Mod) Adição e Subtração (+,-) Concatenação (&)
Igualdade (=) Desigualdade (<>) Menor que (<) Maior que (>) Menor que ou igual (<=) Maior que ou igual (>=)
Not And Or Xor Eqv Imp Is
119
VBScript
Subtipos de Dados
Subtipos de Dados VBScript têm somente um tipo de dado chamado Variant. Um Variant é um tipo especial de dados que pode conter diferentes tipos de informações, dependendo de como ele é usado. A função VarType pode ser utilizada para retornar informação sobre o tipo de dado armazenado em um Variant.
Subtipo
Descrição
Empty
Variant não está inicializado. O valor é 0 para variáveis numéricas e string (“”) para variáveis string.
Null
Contém um valor Null.
Boolean
Contém True ou False.
Byte
Contém um número inteiro entre 0 e 255.
Integer
Contém um número inteiro entre -32,768 a 32,767.
Currency
-922,337,203,685,477.5808 922,337,203,685,477.5807.
Long
Contém um número inteiro entre 2,147,483,648 a 2,147,483,647.
Single
Contém um número ponto-flutuante, simples precisão entre -3.402823E38 a 1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos.
Double
Contém um número ponto-flutuante, dupla precisão entre -1.79769313486232E308 a 4.94065645841247E-324 para número negativos; 4.94065645841247E-324 a 1.79769313486232E308 para valores positivos.
Date (Time)
Contém um número que representa uma data entre 01/Janeiro/100 a 31/Dezembro/ 9999.
String
Contém um string de tamanho variável que pode ter até aproximadamente 2 bilhões de caracteres.
Object
Contém um objeto.
120
a
Apêndice
Propriedade Status
Códigos da Propriedade Status Código
Significado
1xx 100 101
Utilizado para enviar informações para o cliente. Continue Switching Protocols
2xx
Indica que a solicitação (request) teve sucesso. Por exemplo, o código 200 é utilizado para indicar que a página solicitada foi obtida com sucesso. OK Created Accepted Non-Authoritative Information No Content Reset Content Partial Content
200 201 202 203 204 205 206 3xx
300 301 302 303 304 305 307 4xx
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 5xx
500 501 502 503 504 505
Indica que ações adicionais devem ser tomadas antes da solicitação (request) ser satisfeita. Por exemplo, o código 301 indica que a página foi movida e o browser será redirecionado para a nova página. Multiple Choices Moved Permanently Moved Temporarily See Other Not Modified Use Proxy Temporary Redirect Indica que o browser fez uma solicitação (request) que não pode ser atendida. Por exemplo, "404 - URL not found" indica que a página solicitada foi movida ou não existe. Bad Request Unauthorized Payment Required Forbidden Not Found Method Not Allowed Not Acceptable Proxy Authentication Required Request Time-out Conflict Gone Length Required Precondition Failed Request Entity Too Large Request-URI Too Large Unsupported Media Type Requested range not satisfiable Expectation Failed Indica um erro no servidor. Por exemplo, o código 503 indica que o servidor tem muitas solicitações (requests) para processar. Internal Server Error Not Implemented Bad Gateway Service Unavailable Gateway Time-out HTTP Version not supported
121
Apêndice
Coleção ServerVariables
Itens da Coleção ServerVariables Elemento ALL_HTTP
Descrição Todos os headers HTTP enviados pelo browser cliente. ALL_RAW Todos os headers HTTP em seu estado original enviados pelo browser cliente. APPL_MD_PATH Path do metabase para para a aplicação. APPL_PHYSICAL_PATH Path físico correspondente ao path do metabase. AUTH_PASSWORD Senha fornecida no diálogo de autenticação do cliente (o IIS deve estar configurado para Basic Authentication). AUTH_TYPE Método de autenticação usado pelo servidor para validar usuários que solicitam scripts no servidor protegidos pela segurança do Windows NT. AUTH_USER Nome do usuário fornecido pelo usuário para o servidor se a página não permite acesso anônimo. CERT_COOKIE ID do certificado digital do cliente. CERT_FLAGS Valor de dois bits: bit 0 igual a 1 indica se o certificado do cliente está presente, bit 1 igual a 1 indica que a autoridade de certificação do certificado do cliente é inválida. CERT_ISSUER Campo Issuer do certificado do cliente (O=MS, OU=IAS, CN=usuário, C=USA). CERT_KEYSIZE Número de bits na chave de conexão Secure Sockets Layer. CERT_SECRETKEYSIZE Número de bits na chave do "server certificate private". CERT_SERIALNUMBER Campo Serial Number do certificado digital do cliente. CERT_SERVER_ISSUER Campo Issuer do certificado do servidor. CERT_SERVER_SUBJECT Campo Subject do certificado do servidor. CERT_SUBJECT Campo Subject do certificado do cliente. CONTENT_LENGTH Número de bytes enviados no corpo (body) da request. CONTENT_TYPE Tipo MIME do conteúdo enviado pelo cliente. GATEWAY_INTERFACE Tipo de interface CGI usada pelo servidor web para manipular a request. HTTP_nomeheader Valor armazenado no header especificado. Veja na página XX a lista dos headers mais comuns. Qualquer header não incluído nessa lista deve ser prefixado com HTTP_ para ser acessado. HTTPS Retorna ON se a request vêm de um canal seguro ou OFF de um canal não-seguro. HTTPS_KEYSIZE Número de bits na chave de conexão Secure Sockets Layer. HTTPS_SECRETKEYSIZE Número de bits na chave do "server certificate private". 122
Apêndice
Coleção ServerVariables
HTTPS_SERVER_ISSUER Campo Issuer do certificado do servidor. HTTPS_SERVER_SUBJECT Campo Subject do certificado do servidor. INSTANCE_ID ID, em formato texto, para a instância do Internet Information Server (IIS). INSTANCE_META_PATH Path do metabase para a instância do Internet Information Server (IIS) que responde à request. LOCAL_ADDR Retorna o endereço do servidor do qual a request é originada. LOGON_USER Conta do usuário usada para efetuar o logon no Windows. PATH_INFO Path virtual e nome do documento solicitado pelo cliente, em relação à pasta raiz deste site. PATH_TRANSLATED Versão convertida do PATH_INFO que executa o mapeamento virtual para físico do path. QUERY_STRING Contém a query string acrescentada ao HTTP request (após o caractere ?). Também disponível na coleção QueryString. REMOTE_ADDR Endereço IP do computador do browser cliente. REMOTE_HOST Nome do host do browser cliente. REMOTE_USER Nome (se disponível) da máquina cliente que solicitou a página. REQUEST_METHOD Método usado pelo browser cliente no request (GET ou POST). SCRIPT_NAME Path virtual do script corrente. SERVER_NAME Nome do host, DNS alias, ou endereço IP do servidor. SERVER_PORT Número da porta em que a request foi recebida (80 para páginas normais e 443 para requests SSL). SERVER_PORT_SECURE Indica se a request HTTP está sendo gerenciada pelo servidor web em uma porta segura (1) ou em uma porta não segura (0). SERVER_PROTOCOL Nome e versão do protocolo usado pelo servidor web para manipular a request do cliente. SERVER_SOFTWARE Nome e versão do servidor web. URL Endereço URL base requisitado (sem a querystring) pelo browser cliente.
Headers HTTP mais comuns HTTP_ACCEPT
Lista de tipos MIME que o browser cliente pode aceitar. HTTP_ACCEPT_ENCODINGLista dos tipos de encoding que o cliente pode aceitar. HTTP_ACCEPT_LANGUAGE Código da linguagem do browser cliente. HTTP_COOKIE Cookie incluído com a request. HTTP_USER_AGENT Nome do browser utilizado pelo usuário. HTTP_REFERER URL da request original quando um redirecionamento ocorreu. 123
Apendice
Onde obter mais informações Sites Internacionais www.15seconds.com www.4guysfromrolla.com www.actionjackson.com www.activeserverpages.com www.asp101.com www.asp-help.com www.aspforums.com www.aspfree.com www.asphole.com www.aspin.com www.aspkicker.com www.asplists.com www.asptoday.com www.asptracker.com www.aspwatch.com www.aspwire.com www.aspzone.com www.chilisoft.com www.componentsource.com www.cookiecentral.com www.devguru.com www.kamath.com www.halcyonsoft.com www.haneng.com www.powerasp.com www.serverobjects.com www.superexpert.com www.tcp-ip.com www.ultimateasp.com
Sites em Português www.aspbrasil.com.br
124
Sites
Apêndice
Notação Sintática Utilizada itens em negrito Na sintaxe dos comandos, identificam as palavras reservadas da linguagem Visual Basic. itens em itálico Identificam as informações que devem ser fornecidas pelo programador. [] Na sintaxe dos comandos, os itens dentro de colchetes são opcionais. ••• Identifica as partes de um comando que podem ser repetidas. {opção1|opção2|..} Indica que deve ser escolhida uma opção entre duas ou mais alternativas.
Novatec na Internet Conheça o site da Novatec Editora
www.novateceditora.com.br Veja a relação de nossas publicações; Conheça os últimos lançamentos; Adquira nossas publicações através da Internet; Cadastre-se para ser informado das novidades da Novatec; Faça o download (parcial) dos Guias; E muito mais.
E-mail: leitor@novateceditora.com.br
125
Ă?ndice
126
Ă?ndice
127
Ă?ndice
128
ASP ASP (Active Server Pages) é uma tecnologia criada pela Microsoft que permite criar páginas web dinâmicas usando scripts do lado servidor ("server-side"). Este Guia de Consulta Rápida descreve de maneira suscinta todos os objetos, propriedades, métodos e eventos do ASP 3.0. Inclui também uma referência completa da linguagem VBScript. Indispensável para quem quer obter o máximo proveito da tecnologia ASP, sem perder tempo consultando volumosos manuais. Prático para carregar e consultar.
Copyright © Novatec Editora Ltda. Fone: (0xx11) 6959-6529 Fax: (0xx11) 6950-8869 Internet: www.novateceditora.com.br