asp - intermediario

Upload: gabera51

Post on 09-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 ASP - Intermediario

    1/84

    Captulo I Conceitos Introdutrios

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 1

    CAPTULO I CONCEITOS INTRODUTRIOS

    Aplicaes cliente-servidor

    Consiste na diviso de processos entre estaes clientes e servidores, com a finalidade de buscarmelhor performance, menor tempo de resposta e maior facilidade de manuteno.

    Active Server Pages O que so?

    Active Server Pages so pginas web que possuem contedo dinmico. Tais pginas consistemem arquivos de extenso .asp que contm combinaes de Server-Side scripts e tags HTML.Todo o cdigo de programao existente em pginas Asp executado no servidor, e este retornaao cliente somente respostas em HTML padro o que faz com que aplicaes Asp possam seracessadas por qualquer browser existente no mercado. Uma aplicao feita em Asp pode aindaconter linhas de Client-Side script, que sero executados na estao cliente. Essas pginas devemestar hospedadas num servidor Microsoft Information Server.

    Client Side scripts

    So cdigos de programa que so processados pela estao cliente. Geralmente em aplicaesvoltadas Internet, o cdigo que executado no cliente cuida apenas de pequenas consistnciasde telas e validaes de entrada de dadosEm se tratando de pginas web, os client-side scripts tero de ser processados por um browser. Omaior problema de se utilizar este tipo de artifcio em uma aplicao a incompatibilidade deinterpretao da linguagem entre os browsers. O Microsoft Internet Explorer, por exemplo, capazde interpretar o Visual Basic Script, porm o Netscape no o faz sem o auxlio de um plug in (quefoi desenvolvido por terceiros). H ainda o problema de verses muito antigas de navegadores,que no conseguem interpretar nenhum script.Em grande parte das situaes, no possvel exigir que o usurio final disponha de determinadoproduto para acessar a aplicao. Portanto importante pesar todos estes fatores ao planejaralguma aplicao com client-side scripts.

    A linguagem script mais indicada para se construir client-side scripts o JavaScript, devido a suacompatibilidade com os dois browsers (Netscape e Microsoft Internet Explorer, que devem ser deverses iguais ou superiores a 3.0 e 4.0 respectivamente).

    Server Side scripts

    So cdigos de programa que so processados no servidor. Devido a este fato, no necessriopreocupar-se com a linguagem que o cdigo foi criado: o servidor quem se encarrega deinterpret-lo e de devolver uma resposta para o cliente. Em pginas Asp, so esses cdigos osmaiores responsveis pelos resultados apresentados, e a linguagem default utilizada o VisualBasic Script.

  • 8/7/2019 ASP - Intermediario

    2/84

    Captulo I Conceitos Introdutrios

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 2

    Como funciona uma pgina Asp? - Esquema

    Ambiente de desenvolvimento de pginas Asp

    Como os arquivos asp so arquivos do tipo texto (ASCII), eles podem ser escritos em um editor detextos comum Edit ou Notepad, por exemplo. Existe tambm o MS-Visual Interdev, queproporciona um ambiente mais agradvel de desenvolvimento, mas exige os mesmosconhecimentos do programador.

    Pr-Requisitos de funcionamentoPginas asp necessitam ser hospedadas no servidor Web da Microsoft: o Internet InformationServer (IIS) na verso 3 ou superior. Este servidor deve ser instalado numa mquina NT Server 4.Para o IIS 3, ainda preciso instalar um pacote adicional do Asp para que as aplicaesfuncionem. A partir da verso 4 este pacote j vem incorporado ao IIS.

  • 8/7/2019 ASP - Intermediario

    3/84

    Captulo I Conceitos Introdutrios

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 3

    Resumo

    Neste captulo aprendemos que... Active Server Pages: So pginas web dinmicas que combinam HTML, server-side scripts

    e podem tambm conter client-side scripts. Client-side scripts: So cdigos de programao que rodam na estao cliente.

    Geralmente so responsveis por pequenas validaes e consistncias. Seufuncionamento dependente do browser utilizado.

    Server-side scripts: So cdigos de programao que rodam no servidor, sendo assim,independentes do browser. Em programas Asp, so os grandes responsveis pelaatividade da aplicao.

    Funcionamento: Ao atender um pedido por uma pgina, o servidor processa o cdigo scriptda mesma e retorna ao cliente solicitante uma resposta HTML.

    Requisitos: As pginas Asp devem ser hospedadas em um servidor Windows NT Server 4com o Internet Information Server (verso 3 ou superior).

    Dicas

    Voc pode tornar suas aplicaes muito mais acessveis atravs da Internet. Seus clientesficaro muito mais satisfeitos ao encontrar uma aplicao disponvel em qualquer parte domundo, em qualquer hora, em qualquer microcomputador.

    Pense bem antes de adicionar client-side scripts em suas pginas. Voc poder tornaruma aplicao perfeita em algo inacessvel para alguns usurios.

    Que browsers suportam ASP?Se a aplicao no possuir client-side script, todos os browsers suportam ASP. Istoacontece pelo fato das pginas ASP serem processadas pelo servidor. O que ocliente recebe somente cdigo HTML padro.

    Terei meu cdigo fonte protegido?Sim. Como o servidor retorna somente o resultado HTML, o cdigo fonte (lgica) ficapreservado. Se, no browser, visualizarmos a fonte da pgina, veremos somentecdigo HTML.

    Meu NT Server j veio com o IIS 2. Posso utiliz-lo para Active Server Pages?No. A tecnologia Asp foi incorporada somente a partir da verso 3.

    ??

  • 8/7/2019 ASP - Intermediario

    4/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 4

    Captulo II - O Internet Information Server

    O Microsoft Internet Information Server (IIS) o servidor web da Microsoft. nele que devemosconfigurar os alicerces das nossas aplicaes ASP, criando diretrios virtuais, definindopermisses de acesso e disponibilizando as aplicaes. atravs do Management Console do IISque faremos estas configuraes.

    Instalao do IIS

    Antes de detalharmos a instalao do IIS, preciso saber quais so seus pr-requisitos:

    Windows NT Server 4.0 Internet Explorer 4.0 ou superior. Option Pack 4.0

    A partir destes softwares e pacotes, podemos iniciar a instalao do IIS que na verdade, faz partedo pacote Option Pack 4.0 da Microsoft.

    Ao iniciar a instalao, a primeira tela a ser apresentada a seguinte:

    Se voc observar ocontedo desta tela,ver que um dos itensque ser instalado oInternet InformationServer (IIS).Clique em Next.

  • 8/7/2019 ASP - Intermediario

    5/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 5

    Especifique o tipo deinstalao a ser feita.Como exemplo,estaremos utilizando ainstalao customiza,onde podemos escolheros componentes aserem instalados.

    Nesta tela, selecione oscomponentes a sereminstalados.

  • 8/7/2019 ASP - Intermediario

    6/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 6

    Depois de selecionadosos componentes, sersolicitado aoadministrador, o localonde os pacotes devemser instalados. Comoindica a figura ao lado.

    Estes so os passos para a instalao do IIS. O prximo item a vermos ser como utilizar oManagement Console para administrar os sites criados.

    O Management Console

    O Management Console o painel de administrao geral do Microsoft Internet InformationServer. atravs dele que so feitas as configuraes de todos os sites e aplicaes hospedadosno servidor.

  • 8/7/2019 ASP - Intermediario

    7/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 7

    Gerenciando Web Sites

    Em verses anteriores do IIS, no era possvel criar vrios Web Sites com o mesmo IP. Nestaverso j possvel criar vrios Web Sites com o mesmo IP e ainda administr-los de formadiferente.

    Criando novos Sites

    Para criar um novo site, clique com o boto direito do mouse sobre o nome da mquina na qualdeve residir este site, selecione a opo New New Site. A tela abaixo ser mostrada:

    Nesta tela, indique uma descrio donovo site a ser criado.

    Voc deve indicar para o Setup, oIP da mquina e o nmero da portado servidor Web.

    Geralmente, as portas de FTP eHTTP so 21 e 80,respectivamente.

  • 8/7/2019 ASP - Intermediario

    8/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 8

    Nesta parte do Setup indique ocaminho do diretrio Home.

    Para finalizar, configure aspermisses de acesso, e selecione

    as permisses de Script

    Depois de criado o novo site, voc pode alterar as configuraes. A tela baixo mostrada quandovoc executa as propriedades de um Web Site, para isso, clique com o boto direito do mouse noWeb Site e selecione a opo Properties.

  • 8/7/2019 ASP - Intermediario

    9/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 9

    Cada Web Site criado possuisuas prprias configuraes.Estas configuraes soindependentes de outros site, ouseja, as configuraes feitas paraum site, no sero as mesmaspara outro, a no ser que vocfaa as mesmas configuraes.

    A tela de propriedades dos WebSites permite que voc configurecontas de segurana,performance, filtros ISAPI,diretrio Home, documentos,cabealhos HTTP, mensagensde erros customizadas.

    Item DescrioWeb Site Configurao do IP, portas de conexo e

    capacidades de login.Security Accounts Configurao das permisses de usurios.Performance Estabele performance, largura de banda e

    configuraes de conexo.ISAPI Filters Gerenciamento dos filtros ISAPI.Home Directory Configurao de permisso de acesso e

    configuraes das aplicaes.Documents Configurao de documentos e rodapspadres.

    Directory Security Configurao de autenticao da senha,segurana de comunicao e restries TCP/IP.

    Custom Erros Definio e configurao das mensagens deerro do HTTP.

    Alterando os valores padro do Site

    Voc tambm pode alterar as propriedades padro (Default) para todos os Sites criados. Para isso,selecione o nome da mquina onde voc deve criar os Web Sites. A tela a seguir ser mostrada:

  • 8/7/2019 ASP - Intermediario

    10/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 10

    Para alterar os valores, clique em Edit ...

    Diretrios Fsicos e Virtuais

    Um diretrio fsico simplesmente o local onde est situada uma aplicao (conjunto dearquivos ASP e pginas HTML) no servidor, como por exemplo c:\inetpub\apps\ . Um diretriovirtual nada mais do que um atalho onde o IIS aponta para um diretrio fsico, o que no permitedesse modo que se visualize todo o path dos arquivos acessados. Um exemplo de diretrio virtualseria www.servidor.unicamp.br/dirvirtual .

    atravs do Management Console que podemos criar diretrios virtuais e ajustar aspropriedades de cada um deles.

    Criando diretrios virtuaisPara criar um novo diretrio virtual, clique com o boto direito do mouse no Web Site onde estlocalizado este diretrio e selecione a opo New Virtual Directory. A tela a seguir sermostrada:

    Especifique um alias para odiretrio fsico.

  • 8/7/2019 ASP - Intermediario

    11/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 11

    Nesta tela, voc deve especificar odiretrio fsico onde esto suasaplicaes e pginas.Clique no boto Browse ..., parafacilitar.

    Nesta prxima pgina, especifique

    as permisses de acesso de seususurios.Para que um usurio tenhapermisso de rodar um script, preciso que seja dado a permissoAllow Script Access.

    Configurando as caractersticas das aplicaes

    As propriedades de um diretrio virtual um pouco diferente das propriedades dos Sites, pois vocno precisa configurar especificaes do servio HTTP. Para visualizar as propriedades dosdiretrios virtual, selecione-o e clique com o boto direito do mouse, escolha a opo Properties.

  • 8/7/2019 ASP - Intermediario

    12/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 12

    Clicando no boto Configuration ..., a seguinte tela ser mostrada:

    Utilize esta interface para configurar osarquivos que a aplicao estarutilizando, dependendo da sua extenso.Por exemplo, se sua aplicao estiverutilizando arquivos com extenso .ASP,estes arquivos devem ser processadospela DLL asp.dll, localizada emc:\WINNT\system32\inetsrv\asp.dll.Observe a figura ao lado onde cadaextenso tem sua DLL correspondente.

    Requisitos de segurana sero abordados em outro captulo. Por enquanto, vimos apenas comoconfigurar o IIS para reconhecer Sites e aplicaes.

    Clicando neste boto, vocpoder configurar aspropriedades da aplicao.

    Permisses de acessoneste item esto definidasas permisses de acessoque os usurios possuempara a aplicao localizada

    no diretrioe:\InetPub\DaniM\Outros

    Permisses de ScriptNeste item, voc deve

    configurar as permissespara execuo de scripts.Para que um ASP possaser rodado preciso, pelomenos, permisso deScritp.

  • 8/7/2019 ASP - Intermediario

    13/84

    Captulo II O Internet Information Server

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 13

    Resumo

    Neste captulo aprendemos que ...

    Para instalar o IIS 4.0 preciso do Windows NT Server 4.0, Internet Explorer 4.0 ousuperior e Option Pack 4.0.

    O Management Console a interface utilizada para a administrao do IIS. possvel criar vrios Web Sites para o mesmo endereo de IP e administr-los de

    forma diferente. Com os diretrios virtuais possvel criar um atalho especfico para sua aplicao

    dentro de um determinado Web Site. Para que seja possvel executar scripts (CGIs, ASP) a partir de um endereo, preciso

    configurar as permisses de acesso para, pelo menos, Allow Script Access.

  • 8/7/2019 ASP - Intermediario

    14/84

    Captulo III Forms e ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 14

    CAPTULO III FORMS E ASP

    A relao entre form HTML e ASP muito importante porque a partir de formulrio podemosdisparar aes, e nesta ao que iremos chamar uma pgina ASP. Com isso podemos consistiros campos, passar parmetros de uma pgina para outra.

    A sintaxe para utilizar um Form no HTML a seguinte:

    Os parmetros da Tag Form:

    ACTION: neste item, voc deve especificar o diretrio e nome do arquivo ASP a ser disparado.

    NAME: especifique um nome para seu formulrio. Item no obrigatrio.

    METHOD: define como seus dados sero enviados para o servidor. Existem vrios mtodos, mas

    o que iremos utilizar com mais frequncia sero dois: GET e POST:

    Get

    Utilizando este mtodo de envio dos dados, os dados que esto sendo enviados sero mostradospelo browser.

    Post

    Utilizando este mtodo, os dados sero enviados para o ASP determinado no parmetro ACTION.

    Uma mesma pgina HTML ou ASP pode conter vrios FORMS disparando diferentes pginasASP. Observao: a pgina que faz a chamada para uma outra pgina ASP no necessariamenteprecisa ser uma pgina ASP, pode ser um HTML. Exemplo:

  • 8/7/2019 ASP - Intermediario

    15/84

    Captulo III Forms e ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 15

    Esta primeira pgina pode ser HTML:

    Observe que no exemplo acima estamos utilizando dois formulrios e cada um deles faz umachamada para um ASP diferente. Vamos detalhar o cdigo HTML:

    Clique neste boto para saber as Horas:

    Neste form, inclumos um boto do tipo Submit que deve disparar a ao do Form. A ao do Form(ACTION) est definido para chamar um ASP chamado horas.asp que se encontra no mesmodiretrio do HTML. Quando o arquivo estiver em um diretrio diferente do diretrio da pgina quefez a chamada, necessrio que ele seja indicado.

    O cdigo abaixo faz a chamada a outro ASP, para isso definimos um outro formulrio:

    Clique neste boto para saber a Data:

    Untitled Normal Page

    Clique neste boto para saber as Horas:



    Clique neste boto para saber a Data:

  • 8/7/2019 ASP - Intermediario

    16/84

    Captulo III Forms e ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 16

    Vamos ao ASP das Horas:

    Neste caso, a pgina obrigatoriamente deve ser nomeada com a extenso ASP pois contmcdigo VBScript a ser interpretado pelo servidor. Dvida: qual o cdigo a ser interpretado peloservidor?

    O ASP da Data:

    o mesmo caso que o arquivo das Horas, tambm precisa ser nomeado com a extenso ASP,pois a linha necessariamente ser interpretada pelo servidor. O restante do cdigo HTML.

    Resumo

    Neste captulo aprendemos que ...

    Podemos definir vrios formulrio em um arquivo HTML para disparar vrios ASP. Um arquivo comum HTML pode disparar um ASP, porm um arquivo com cdigos que

    devem ser interpretados pelo servidor, deve ser nomeado com a extenso ASP.

    Para disparar um ASP a partir de um formulrio preciso definir o parmetro ACTION. Existem dois mtodos diferentes para disparar um ASP: GET (mostra os dados nobrowser) e POST (no mostra os dados no browser).

    Horas ...

    So exatamente .

    Data de Hoje ...

    Hoje .

  • 8/7/2019 ASP - Intermediario

    17/84

    Captulo IV O que VBScritp?

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 17

    CAPTULO IV O QUE VBSCRIPT?

    Script

    Antes de falarmos sobre o VBScript, interessante esclarecermos o que um script. Aslinguagens Scripts foram criadas para permitir a criao de aplicaes para a Internet rapidamente.Se voc comparar estas linguagens com as linguagens que costumamos utilizar, ir perceber queas primeiras so muitos mais fceis e simples de aprender e desenvolver.Os scripts nos permitem criar aplicaes que desempenham funes como:

    Alterar a linha de status do browser;Definir um timeout para determinada procedure;Rodar telas de alerta, confirmao e input;"Forar" a navegao para outras pginas;Alterar cor de fundo, barra de ttulos, etc.;Criar uma nova pgina com textos;Executar funes do browser como Back, Forward, Home, etc.;Executar procedimentos quando funes do browser forem executadas.

    Visual Basic Script Language (VBScript)

    O Visual Basic Script Language uma das muitas possibilidades de linguagem Script que rodamnum servidor e, para o IIS, ela a linguagem default (padro). Desenvolver aplicaes utilizandoesta linguagem no um bicho de sete cabeas. Vejamos algumas caractersticas da linguagem:

    similar ao VBA (Visual Basic Application) linguagem criada para fornecer aosaplicativos outras funcionalidades e Visual Basic.

    Permite a manipulao de strings, datas, numricos Permite a utilizao de todos os comandos do Visual Basic, porm no permite a

    manipulao de banco de dados e acesso aos perifricos. A manipulao de banco de dados feita atravs do objeto ADO, o VBScript apenascria instncias deste objeto, a partir da, voc pode utilizar os mtodos deste objeto

    para manipular os dados. Tem um mecanismo de comunicao com servidores de objetos COM, como o

    Microsoft Exchange Server, Microsoft Index Server, Database Servers.

    Baseada nas funcionalidades de programao do Visual Basic, um linguagem leve quenativamente executada pelo Internet Explorer (3.0 ou superor) e que pode ser executada poroutros browsers a partir de pug-in.

    Mas, como criar uma pgina ASP utilizando o VBScript?

    Antes de mais nada, temos que ter em mente que alguma coisa tem que interpretar os cdigos do

    VBScript. O responsvel por esta interpretao o IIS (Internet Information Server), por issoentendemos que o cdigo deve ser interpretado no Servidor e no no cliente que s ter obrowser.Para que o cdigo seja interpretado pelo Servidor, preciso seguir algumas instrues:

    1. Utilizando a tag Esta Tag deve ser utilizada quando voc pretende executar qualquer cdigo VBScriptno servidor. Entre possvel ser escrito qualquer cdigo em VBScript.

  • 8/7/2019 ASP - Intermediario

    18/84

    Captulo IV O que VBScritp?

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 18

    Quando seu script possuir HTML e cdigo VBScript o servidor saber qual informaodever ser retornada para o cliente (browser). Por exemplo:

    No exemplo acima, as linhas que estiverementre a tag sero interpretadas pelo Servidor IIS e dependendo da condiosatisfeita, se a hora for menor que 12 ser mostrado um HTML com Bom dia!, se noo HTML retornado pelo Servidor conter Boa Tarde!.

    Para retornar no HTML valores de variveis diretamente do script, utilize a seguintesintaxe:

    Com a linha acima, o HTML a ser retornado ser (imaginemos que o dia de hoje seja20/08/1999):

    A data de hoje 20/08/1999.

    2. Utilizando a tag Com esta tag tambm possvel criar scripts que rodam no servidor utilizando asintaxe:

    preciso especificar a linguagem script a ser utilizada e onde esta ser interpretada. Apartir disto, s fazer a chamada de alguma parte do HTML. No caso acima, o script

    que estiver entre a tag deve ser escrito na linguagem VBScripte ser interpretada por um servidor IIS. Esta tag muito utilizada para criar funes esubrotinas. Por exemplo:

    Esta funo retornar a data do sistema no Servidor. Para fazer a chamada destafuno, ser necessrio utilizar as tags . Por exemplo:

    A data de hoje .

    Outra alternativa disponvel no IIS para retornar valores direto para o HTML, semutilizar a chamada acima, usando o Response.Write (mais adiante iremos estud-lodetalhamente):

    Bom dia!

    Boa tarde!

    A data de hoje .

    Function RetornaData()

    RetornaData = DateEnd Function

  • 8/7/2019 ASP - Intermediario

    19/84

    Captulo IV O que VBScritp?

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 19

    O HTML retornado (supondo que a data seja 20/08/1999):

    A data de hoje 20/08/1999.

    A pergunta imediata que voc faria: como possvel retornar um HTML sendo que emmomento algum foi feita a chamada para a funo? Bem, quando feito um pedido aoservidor pela execuo de um ASP, o servidor executa todas as funes declaradasno ASP, ento podemos concluir que esta funo tambm foi executada. Como oResponse.Write retorna diretamente para o HTML o contedo do texto, ser mostradopara o usurio o texto definido.

    O prximo passo para a criao de uma pgina ASP introduzir o cdigo HTML. Por

    exemplo:

    Este cdigo inteiro constitui uma pgina ASP, na qual voc mesclou cdigo em HTML eVBScript. O Servidor saber que o cdigo entre ser interpretado e no deve sermostrado para o cliente, apenas seu resultado. Neste caso, a pagina a ser retornada parao browser ser:

    Function RetornaData()

    Response.Write A data de hoje & Date & .End Function

    Bom dia!

    Ol!

    Sua primeira pgina utilizando VBScript e HTML!

  • 8/7/2019 ASP - Intermediario

    20/84

    Captulo IV O que VBScritp?

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 20

    Lembrando que os arquivos com cdigo VBScript devem ser nomeados com a extensoASP, por exemplo: primeiro_programa.asp. Desta forma, o IIS entender que o pedido foifeito a partir de uma pgina ASP.

    Se for utilizada a Tag , o cdigo VBScript e HTML ficar:

    O HTML retornado pelo servidor ser:

    Ento, vimos como fazer para um script - utilizando o VBScript rodar no servidor. Mas, ese voc quiser fazer consistncias de tela para o usurio e que estas estejam definidas na pginacorrente, ou seja, no haver um pedido para o servidor, o cdigo dever ser executado nobrowser.

    Com o VBScript possvel criar rotinas que sejam executadas pelo cliente. Porm, doisaspectos devem ser observados quando decidimos programar subrotinas e funes para rodar nobrowser:

    Em nosso caso, ser necessrio que o seu browser seja o Internet Explorer 4.0 ousuperior.

    A programao deve ser baseada nos eventos dos objetos do formulrio e do prprioformulrio. Por exemplo: ONCLICK, CHANGE, GOTFOCUS.

    Function RetornaData()

    RetornaData = DateEnd Function

    A data de hoje .

  • 8/7/2019 ASP - Intermediario

    21/84

    Captulo IV O que VBScritp?

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 21

    Exemplo de Cdigo:

    O Resultado deste HTML:

    Esta a pgina aberta antes de clicar o botoVamos mudar o value!

    Depois de clicar o boto da pgina suadescrio alterada para Mudamos o Value

    O HTML:

    Nesta parte, estamos montando o boto. Para que a subrotina seja executada, o botodeve ser criado em um form (formulrios, mais adiante estaremos estudando de forma maisdetalhada), deve ser definido um nome para este objeto e seu tipo deve ser button. Depois dedefinir o objeto que deve disparar a ao, voc deve programar a subrotina:

    Cdigo que roda no Cliente.

    SUB BOTAO1_ONCLICK()

    RodarCli.BOTAO1.Value = "Mudamos o Value!"END SUB

  • 8/7/2019 ASP - Intermediario

    22/84

    Captulo IV O que VBScritp?

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 22

    SUB BOTAO1_ONCLICK()

    RodarCli.BOTAO1.Value = "Mudamos o Value!"END SUB

    Esta sub-rotina est sendo executada pelo browser, observe que no configuramos a Tag com o parmetro RUNAT.

    O evento que deve disparar a ao ser o evento ONCLICK, ou seja, quando clicarmos noboto o cdigo escrito ser disparado.

    Para fazer a referncia ao objeto do formulrio, voc deve seguir a sintaxe abaixo:

    Por exemplo:RodarCli.BOTAO1.Value

    Resumo

    Neste captulo aprendemos que ...

    VBScript a linguagem script default (padro) do IIS (Internet Information Server). Quando o cdigo deve rodar no servidor, necessrio que este esteja entre aTag ou . Um script tambm pode rodar no cliente, basta apenas utilizar a tag indicando a linguagem a ser utilizada para que o browser possa interpret-la.

    Dicas

    preciso prestar bastante ateno quando scripts so definidos para rodarem nosbrowsers, pois alguns scripts apenas so interpretados por determinado browser e verso.Por exemplo:

    - apenas ser executado em Netscape 3.0+ - apenas ser executado em Microsoft Internet Explorer3.0+

  • 8/7/2019 ASP - Intermediario

    23/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 23

    CAPTULO V VARIVEIS

    As variveis so definidas quando precisamos armazenar temporariamente valores para que aaplicao tenha acesso s informaes e consiga manipul-las.

    Tipo Suportado pelo VBScript

    Enquanto o Visual Basic suporta muitos tipos de dados (variveis), o VBScript apenas suporta otipo Variant. Este tipo nico porque suporta todos os tipos suportados pelo Visual Basic: integer,double, string, date and currency. O tipo Variant assume o tipo de varivel dependendo daatribuio feita a ele. Por exemplo, declaramos um varivel chamada teste:

    SubTipos (Subtypes)

    O tipo Variant consiste em pequenas unidades chamadas Subtipos (Subtypes). Estes subtiposidentificam como um valor armazenado pela varivel definida como Variant. A tabela abaixodescreve os subtipos utilizados no VBScript 2.0:

    SubTipo Descrio

    Empty Valor 0 (zero) para variveis numricas e comprimento zero ( ) paravariveis string.Null Variant possui um valor que no vlido.Boolean Verdadeiro ou Falso.Byte Inteiro com valores entre 0 a 255.Integer Inteiro com valores entre 32,768 at 32,767.Currency Tipo moeda. Valores entre 922,337,203,685,477.5808 at

    922,337,203,685,477.5807.Long Inteiro com valores entre 2,147,483,648 at 2,147,483,647.Single Ponto Flutuante com preciso simples. Valores entre: -3.402823E38 at -

    1.401298E-45 para nmeros negativos; 1.401298E-45 at 3.402823E38para nmeros positivos.

    Double Ponto Flutuante com dupla preciso. Valores entre:

    -1.79769313486232E308 at -4.94065645841247E-324 para valoresnegativos; 4.94065645841247E-324 at 1.79769313486232E308 paravalores positivos.

    Date (Time) Contem um nmero que representa uma data entre 01/01/100 at31/12/9999.

    String Contem um comprimento varivel de texto que pode chegar at 2 bilhes decaracteres.

    Object Contem um objeto

    Dim teste

    Teste = Acabamos de declarar a varivel

    Teste = 25

    Teste = A varivel recebeu 25

    Teste na linha ao lado dotipo String. E ser tipo Stringat que haja outra atribuiode valores diferente de strin . Teste nesta linha do tipo numrico.

    E ser tipo numrico at que hajaoutra atribuio de valores diferentede numrico.

    Teste na linha acima volta a assumir o tipoString, pois o valor da atribuio foi texto.

    Esta varivel do tipo Variant, pois no tema especificao do seu tipo:

  • 8/7/2019 ASP - Intermediario

    24/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 24

    Error Contem um nmero de erro gerado por um objeto.

    Exemplo do comportamento de uma varivel do tipo Variant:

    Funes de Converso de Tipos de Dados

    Antes de descrever as funes, precisamos saber para que serve uma funo de converso detipo. Estas funes so utilizadas para forar uma varivel Variant assumir um subtipo especfico.

    A partir do momento que as pginas ASP comearam a ser distribudas pela Internet, ou seja,pessoas do mundo inteiro acessando sua pgina, as configuraes de datas, moeda passaram aser um fator preocupante. Pois estas configuraes so recuperadas da opo ConfiguraesRegionais do Painel de Controle da mquina onde o VBScript est sendo executado. Como oVBScript, na maioria das vezes, executado em um servidor, as configuraes recuperadas soas configuraes feitas no prprio servidor.

    As funes de converso de dados foram criadas para evitar erros em tempo de execuo oumesmo de lgica por sua aplicao no reconhecer o tipo de dados pelas configuraes. Estasfunes conseguem reconhecer as configuraes regionais e interagir com vrios formatosdiferentes de dados sem mud-los, evitando que erros ocorram.

    A tabela abaixo descreve as funes que permitem a converso de dados:

    Funo Valor Retornado DescrioCbool Boolean Verdadeiro/FalsoCbyte Byte Valor numrico de 0 at 255Ccur Currency Valores entre 922,337,203,685,477.5808 at

    922,337,203,685,477.5807.Cdate Date Qualquer data vlidaCdbl Double -1.79769313486232E308 at -

    4.94065645841247E-324 para valoresnegativos; 4.94065645841247E-324 at1.79769313486232E308 para valores positivos.

    Cint Integer 32,768 at 32,767. Fraes so arredondadas.CLng Long 2,147,483,648 at 2,147,483,647. Fraes so

    arredondadas.CSng Single -3.402823E38 at -1.401298E-45 para nmeros

    negativos; 1.401298E-45 at 3.402823E38 paranmeros positivos

    CStr String Retorna texto, exceto Null

    Declaramos duas variveis dotipo Variant, onde Teste assume

    um valor inteiro e Mensagemassume o valor string.

  • 8/7/2019 ASP - Intermediario

    25/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 25

    Identificando o Tipo de Dados

    Como o VBScript consegue identificar uma srie de subtipos de variveis, ser necessrio, svezes, que voc saiba qual o subtipo com o qual voc est trabalhando no seu script. Para isso,usaremos a funo VarType que identifica o subtipo por um valor numrico. A tabela abaixodescreve os valores retornados pela funo:

    Subtipo Valor Retornado

    Empty 0Null 1Integer 2Long 3Single 4Double 5Currency 6Date (Time) 7String 8Automation Object 9

    Error 10Boolean 11Variant 12Non-Automation Object 13Byte 17Array 8192

    Exemplo

    O tipo que varivel Teste assumiu foi:

    O tipo que varivel Mensagem assumiu foi:

    O tipo que varivel ResultMedia assumiu foi:

    As variveis Retorna e Cont no podem ser referenciadas, pois existem apenasquando a Funo Media est sendo executada.

  • 8/7/2019 ASP - Intermediario

    26/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 26

    Para verificar o subtipo de dados que a varivel testeassumiu, utilize o cdigo script:que j retornar o valor numrico correspondente ao subtipo assumido.No caso da varivel teste, o valor retornado 2, que indica o subtipo Integer.

    No podemos referenciar as variveis conte Retorna, pois estas variveis existem apenas para afuno, para o restante do script so invlidas.

    O resultado retornado pelo servidor:

    Declarao de Variveis

    Quando declaramos variveis, precisamos ter em mente a sua utilizao: se ser uma varivel quedever ser utilizada por toda uma aplicao ou apenas por um mdulo, uma funo, subrotina.Este perodo de vida da varivel flexvel, ou seja, voc pode definir onde, quando e por quantotempo esta varivel dever existir.

    Escopo das variveisAs variveis no VBScript podem existir em dois nveis ou escopos: script ou procedimento. O termoescopo est relacionado ao espao de tempo no qual uma memria pode ser referenciada namemria.O espao de tempo, que se refere ao tempo de vida da varivel, depende em qual nvel estavarivel foi declarada:

    Script

    Quando uma varivel definida fora de qualquer funo e procedimento, caracterizadauma varivel vlida para todo o script.

    Procedimento

    Quando voc verificar que uma varivel precisa ser apenas vlida para uma funo ouprocedimento, declare-a dentro deste procedimento ou funo. Desta maneira, assim que afuno ou procedimento for executado, a varivel deixa de existir na memria.

  • 8/7/2019 ASP - Intermediario

    27/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 27

    Exemplo (o que importante at este ponto que estudamos, est em negrito)

    O resultado deste ASP ser a pgina:

    Explicao do cdigo

  • 8/7/2019 ASP - Intermediario

    28/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 28

    Dim ResultMedia

    No exemplo que criamos, as variveis acima foram declaradas fora de qualquer funo ousubrotina, desta forma, podem ser utilizadas por todo o script escrito para esta pgina o quesignifica que em qualquer ponto do script podem ser referenciadas.

    Function Media(Valor)Dim RetornaDim contRetorna = 1

    Diferente das variveis teste, Mensagem e ResultMedia, as variveis Retorna e cont podemapenas ser referenciadas dentro da funo. Para o restante do scritp, as variveis Retorna e contno so vlidas.

    At este ponto, vimos os tipos de variveis, funes de converso e seu escopo (tempo de vida).Mas, como declar-las em um script?

    Para declarar variveis em seu script, voc deve utilizar as clusulas: Dim, Public, Static.

    Dim

    Variveis declaradas com o Dim em um script esto disponveis para todas os procedimentosinclusos neste script, porm as variveis declaradas em um procedimento apenas podero serutilizadas neste procedimento.

    Exemplo

    Onde nomevar e nomevar2 so nomes de variveis e dimenso representa o nmero dadimenso do vetor.

    Com a clusula Dim, tambm possvel declarar vetores. Um vetor tratado como uma varivel,porm utilizado para armazenar uma coleo de informaes similares. Esta coleo acessadapor seu ndice, comeando pelo 0 (zero). Por exemplo, o prximo cdigo cria um vetor com 5posies. Como os vetores comeam com a posio 0 (zero), 5 posies da varivel TipoProdutoso alocadas. A segunda e terceira linha do cdigo preenchem a primeira e segunda posies dovetor com os valores Material de Construo e Material Escolar:

    Dim TipoProduto(4) Como o vetor comea com 0 (zero), a primeira posio 0 e a quinta posio 4TipoProduto(0) = Material de ConstruoTipoProduto(1) = Material Escolar

    ReDim

    A funo ReDim utilizada para manipular vetores dinmicos. Para o VBScript, os vetores podemser definidos em dois tipos: Estticos ou Dinmicos. Um vetor esttico tem seu nmero de ndicesdefinidos, como o vetor que definimos no exemplo acima que possui 5 posies. Um vetor

    Dim nomevar [([dimenso]))

    Dim nomevar [([dimenso])), nomevar2

    Para declarar diversas variveis, utilize vrgulas para separ-las. Por exemplo:

  • 8/7/2019 ASP - Intermediario

    29/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 29

    dinmico tem o nmero de ndices variado e este nmero definido quando a aplicao executada. Voc pode criar um vetor dinmico, apenas declarando-o com os parnteses vazios.

    Os vetores dinmicos so diferentes dos estticos. Os dinmicos so utilizados quando a alocaode memria precisar ser dinmica, ou seja, o vetor pode assumir vrios tamanhos. Para que issoseja possvel, utilize o comando ReDim. Este comando utilizado para redefinir o tamanho dovetor. Este tamanho pode aumentar ou diminuir. Se voc precisar aumentar o tamanho de seuvetor e precisa manter os elementos j inclusos nas posies existentes, utilize o comandoPreserve. Por exemplo, o cdigo a seguir cria um vetor dinmico chamado ProdutosSelecionados eo redimenciona com 3 posies. A ltima linha expande o nmero de elementos do vetor para 6,como estamos utilizando a clusula Preserve, o contedo j incluso no vetor permanecer.

    Public

    Quando declaramos uma varivel como pblica, esta varivel pode ser referenciada por todo oscript da pgina. Voc tambm pode declarar vetores estticos ou dinmicos com a clusulaPublic.

    Sintaxe

    Public nomevar[([dimenso])]

    Onde nomevar o nome da varivel e dimenso o nmero de elementos do vetor.

    Private

    Variveis declaradas com a clusula Private so o oposto das variveis declaradas com a clusulaPublic. So vlidas apenas dentro do script no qual foram declaradas. Podemos tambm declararvetores dinmicos e estticos com o Private.

    Sintaxe

    Private nomevar[([dimenso])]

    Onde nomevar o nome da varivel e dimenso o nmero de elementos do vetor.

    Declarao EscopoDim Script todo ou Procedimento

    ReDim Script todo ou ProcedimentoPublic Script todoPrivate Script todo

    Dim ProdutosSelecionados()ReDim ProdutosSelecionados(3)ProdutosSelecionados(0) = CadernoRedim Preserve ProdutosSelecionados(6)

  • 8/7/2019 ASP - Intermediario

    30/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 30

    Regras para nomear as variveis

    Para nomear suas variveis, preciso seguir algumas regras:

    Deve comear com um caracter alfabtico; No pode exceder o tamanho de 255 caracteres;

    Deve ser nico no escopo no qual a varivel declarada.Option Explicit

    Por default (padro), a declarao das variveis no obrigatria. Voc pode apenas fazerreferncias a elas, sem declar-las explicitamente. A declarao explicita se refere ao processo decriao ou instanciao de uma varivel

    Exemplo

    Onde teste e Mensagemso variveis declaradas implicitamente, o VBScript se encarrega de

    entend-las como variveis.Esta declarao implcita no considerada uma boa prtica pelo programadores, pois estamossujeitos a erros de digitao, e para uma este tipo de declarao, declarar uma varivel chamadateste e outra tsete so consideradas variveis diferentes. Para evitar este tipo de erro, adeclarao do Option Explicit est disponvel para que obrigatoriamente todas as variveis sejamdeclaradas explicitamente.

    Se voc optar por utiliz-lo, a sua declarao deve ser feita antes de qualquer outra declarao.



  • 8/7/2019 ASP - Intermediario

    31/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 31

    Exemplo (utilizando o exemplo acima)

    Observe neste exemplo que declaramos a clausula Option Explicit porm, no declaramosexplicitamente a varivel teste. Ao executarmos este ASP no servidor, ser retornado um errocomo mostra a tela a seguir:

    A mensagem do erro retornado Variable is undefined: teste significa que a varivel no foideclarada. Se voltarmos ao script, perceberemos que realmente a varivel no foi declarada.Vamos estudar o script:

    Como utilizamos a clusula Option Explicit, necessariamente precisamos declarar a varivel testeexplicitamente, para isso, devemos escrever o script da seguinte maneira:

  • 8/7/2019 ASP - Intermediario

    32/84

    Captulo V Variveis

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 32

    if teste = 30 thenMensagem = "O valor da varivel Teste igual a 30"

    ElseMensagem = "O valor da varivel Teste igual a 5"

    End if%>

    Se o ASP for executado novamente, no ocasionar o erro, pois a varivel foi declarada.

    Resumo

    Neste captulo aprendemos que ...

    Existe apenas um tipo de dados suportado pelo VBScritp: Variant. Embora haja apenas um tipo de dados, existem subtipos que identificaram o valor que

    armazenado na varivel, atribuindo-lhe o subtipo especfico de acordo com o valor.Se o valor for numrico, o subtipo ser integer, por exemplo.

    Com a funo VarType, possvel identificar o subtipo assumido pela varivel. Para o ASP, as varivel possuem dois escopos: Script e Procedimento. Quando

    declaramos uma varivel em nvel Script, possvel referenci-la em todo o script.Quando declaramos em um Procedimento, a varivel apenas vlida para oprocedimento em questo.

    Utilizando a clusula Option Explicit, fica obrigatria a declarao explicita da varivel.

    Dicas

    Utilize a declarao Option Explicit para evitar erros de digitao do nome de umavarivel existente ou para evitar confuso no cdigo script onde o escopo das variveisno bem definido.

    Quando voc utiliza a clusula Dim em um procedimento, geralmente a declarao feita no comeo do procedimento.

    Antes de atribuir valores a um vetor dinmico, preciso redimenciona-lo usando ocomando ReDim

    Quando uma varivel declarada, seu valor padro depende do subtipo de dados queassumir. Por exemplo, uma varivel numrica inicializada com 0 (zero), uma varivelstring inicializada com comprimento igual a zero ( ).

  • 8/7/2019 ASP - Intermediario

    33/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 33

    CAPTULO VI OPERADORES

    Operadores

    O VBScript possui vrios operadores de programao que ajudam a manipular as variveis emsuas pginas ASP. Muitas linguagens dividem os modelos de objetos em grupos lgicosagrupados de acordo com suas funcionalidades. Isto d maior flexibilidade para manipular objetose variveis dos formulrios e fundamental para o controle do processo de uma aplicao.

    Operadores Aritmticos

    Os operadores aritmticos nos permite fazer uma srie de clculos matemticos. Geralmente,possuem a seguinte sintaxe:

    Resultado = valor1 operador valor2

    Onde Resultado a varivel que receber o valor do clculo, valor1 e valor2 so expressesnumricas e o operador representa a operao matemtica a ser realizada.

    A tabela a seguir lista todos os operadores reconhecidos pelo VBScript:

    Operador Smbolo DescrioAdio + Efetua a soma entre os valores.Subtrao - Efetua a subtrao entre dois nmeros ou atribui um valor

    negativo a nmero.Multiplicao * Efetua a multiplicao entre os valores.Diviso / Efetua a diviso entre dois nmeros.Diviso Inteira \ Efetua a diviso entre dois nmeros e retorna um valor

    inteiro como resultado.Exponenciao ^ Efetua a operao de potenciao.

    Adio

    O operador de adio (+) utilizado para efetuar somas entre valores numricos, mas tambmpode ser utilizado para concatenar strings.

    Sintaxe

    Resultado = valor1 + valor2

    Onde resultado recebe o valor da soma das expresses numricas valor1 e valor2. Lembre-se,existe apenas um tipo de varivel no VBScript: Variant. Somar dois valores pode resultar em umresultado no esperado, por causa da capacidade do tipo Variant mudar automaticamente osubtipo baseado no valor atribudo varivel.

    A tabela abaixo, nos mostra o compotamento do operador +, dependendo do tipo de dados:

    Se os valores a serem somados forem: O comportamento do operador ser:Numricos Adio.Strings ConcatenaoString e Numrico Adio

  • 8/7/2019 ASP - Intermediario

    34/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 34

    Vamos considerar uma situao onde a adio entre dois nmeros pedida. Siga o exemplo:

    Voc pode perceber por este exemplo que sem um entendimento apropriado sobre o tipo de dadosVariant e o comportamento do operador de adio, o resultado pode no ser o esperado. Noexemplo acima, as variveis so explicitamente declaradas e valor1 recebe o 1 (numrico),assumindo o subtipo Integer, e a varivel valor2 recebe 3 (string), assumindo o subtipo String.Todas as variveis declaradas so do tipo Variant. Entretanto, o VBScript atribui um subtipo

    dependendo do valor atribudo a varivel.

    Nas linhas abaixo, a varivel resultado receber o valor 4. Pois, pela regra, quando somamos umvalor numrico e uma string, a soma numrica entre eles efetuada.Resultado = valor1 + valor2Resultado = valor2 + valor1

    J nesta linha, o resultado diferente. Pois os valores participantes da adio so valoresnumricos, ento ser efetuada a concatenao das strings. A varivel resultado conter o valor(string) 33.Resultado = valor2 + valor2

    Na prxima linha, estamos somando dois valores numricos, pois o subtipo da varivel valor1

    Integer. O valor retornado para a varivel resultado ser 2.Resultado = valor1 + valor1

    Mas, e se voc precisasse que o resultado da linha Resultado = valor2 + valor2fosse numrico?Para isso, utilize as funes de converso de tipo. Esta linha poderia ser reescrita da seguintemaneira:

    Resultado = CInt(valor2) + CInt(valor2)

    A funo CInt utilizada para converter uma varivel para Inteiro. E a varivel resultado receberiao valor numrico 6.

    O mesmo vale para a linha Resultado = valor1 + valor1. Se o resultado a ser retornadoprecisasse ser uma concatenao de strings e no uma soma numrica, a linha seria reescrita daseguinte maneira:

    Resultado = CStr(valor1) + CStr(valor1)

    A funo CStr utilizada para converter uma varivel para String. E a varivel resultado receberiaa string 22.

  • 8/7/2019 ASP - Intermediario

    35/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 35

    Subtrao

    O operador de subtrao (-) utilizado para efetuar a diferena entre valores numricos ou paraconverter um valor numrico positivo em um valor numrico negativo. Para cada uma destasfuncionalidades, preciso uma sintaxe diferente, vejamos quais so:

    Resultado = valor1 valor2

    Onde resultado recebe o valor da operao entre as variveis numricas valor1 e valor2.

    Resultado = -(valor1)

    Onde valor1 uma valor numrico.

    Multiplicao

    O operador de multiplicao (*) utilizado para retornar o resultado da multiplicao entre valoresnumricos.

    Sintaxe

    Resultado = valor1 * valor2

    Onde resultado recebe o valor da operao entre as variveis numricas valor1 e valor2. Seambas as variveis estiverem com o valor igual a NULL, o valor retornado da operao tambmser NULL. Se estiverem vazias, o resultado ser convertido para 0 (zero).

    Diviso

    O operador de diviso (/) utilizado para dividir uma expresso numrica em outra expressonumrica.

    Sintaxe

    Resultado = valor1 / valor2

    Onde Resultado recebe o valor da operao entre as variveis numricas valor1 e valor2. Asmesmas regras da multiplicao valem para a diviso. Se ambas as variveis estiverem com ovalor igual a NULL, o valor retornado da operao tambm ser NULL. Se estiverem vazias, oresultado ser convertido para 0 (zero).

    Fique atento para a diviso por 0 (zero). Ser o retornado o seguinte erro:

    Microsoft VBScript runtime error 800a000b

    Division by zero

    Diviso Inteira

    O operador da diviso inteira (\) similar ao da diviso, mas foi especificamente, criado pararetornar resultados inteiros apenas.

  • 8/7/2019 ASP - Intermediario

    36/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 36

    Sintaxe

    Resultado = valor1 \ valor2

    Onde Resultado recebe o valor da operao entre as variveis numricas valor1 e valor2. Estasvariveis so arredondadas e seu subtipo configurados para Byte, Integer ou Long antes daoperao. Se ambas as variveis estiverem com o valor igual a NULL, o valor retornado daoperao tambm ser NULL. Se estiverem vazias, o resultado ser convertido para 0 (zero).

    Exponenciao

    O operador de exponenciao (^) utilizado para "elevar" um nmero a outro.

    Sintaxe

    resultado = nmero1^nmero2

    Onde resultado recebe o valor retornado da operao efetuada pelas expresses numricasnmero1 e nmero2.

    Operadores de Comparao

    Os operadores de Comparao analisam o relacionamento entre expresses. Lembre-se que umaexpresso pode ser uma combinao de palavras-chaves, operadores, variveis ou constantesque formam uma string, nmero ou objeto.

    Sintaxe geral

    Resultado = Expresso1 (operador) Expresso2

    Onde Expresso1 e Expresso2 contem uma expresso qualquer e o operador representa osmbolo de relacionamento entre as expresses (o tipo de comparao).

    A tabela abaixo nos mostra os Operadores de comparao utilizados no VBScript:

    Operador SmboloIgualdade =Desigualdade Maior que >Menor que =Menor que ou Igual a

  • 8/7/2019 ASP - Intermediario

    37/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 37

    A tabela abaixo nos mostra uma srie de exemplos de comparaes:

    Operador Retorna True se ... Retorna False se ... Retorna NULL se ...< Expr1 < Expr2 Expr1 >= Expr2 Expr1 ou Expr2 = Null Expr1 > Expr2 Expr1 = Expr1 >= Expr2 Expr1 < Expr2 Expr1 ou Expr2 = Null

    = Expr1 = Expr2 Expr1 Expr2 Expr1 ou Expr2 = Null Expr1 Expr2 Expr1 = Expr2 Expr1 ou Expr2 = Null

    Os operadores de comparao atuam como os operadores aritmticos, pois alteram seucomportamento dependendo do tipo de dados das variveis envolvidas. Na tabela baixo temosuma descrio do comportamento dos operadores de comparao:

    Expresses ... ComportamentoNumricas Comparao NumricaString Comparao StringUma numrica e outra String A expresso numrica menor que a expresso string.Uma vazia e outra numrica Comparao numrica sendo que a expresso vazia

    tratada como zero.

    Uma vazia e outra string Comparao string, sendo que a expresso vazia tratada com comprimento zero ( ).Ambas as expresses so vazias As expresses so iguais.

    Outro tipo de comparao a comparao entre objetos. O operador IS utilizado para fazer estacomparao. A sintaxe a ser utilizao est descrita abaixo:

    Resultado = objeto1 IS objeto2

    Onde Objeto1 e Objeto2 representam objetos e o uso da palavra-chave IS determina umrelacionamento entre os objetos.

    Quando comparamos objetos, no existe a possibilidade de NULL. O resultado sempre ser True

    ou False. Se os objetos forem iguais, o resultado ser igual a True. Se forem diferentes, oresultado retornado ser False.

    Exemplo

    Na primeira linha de comparao (Resultado = Pobjeto is Sobjeto), o valor retornado True, poisos dois objeto (Pobjeto e Sobjeto) foram criados a partir de um mesmo objeto.

  • 8/7/2019 ASP - Intermediario

    38/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 38

    J na segunda linha de comparao (Resultado = Pobjeto is TerObjeto), o valor retornado False, pois os objetos tm origens diferentes, cada um deles foi criado a partir de objetosdiferentes.Operadores Lgicos

    Os operadores lgicos ajudam a expandir as funcionalidades dos operadores de comparao. Ooperador lgico foca o mtodo booleano para determinar se um processo retorna True ou False.

    Os operadores lgicos mais utilizados esto listados na tabela abaixo:

    Operador SmboloConjuno ANDNegao NOTDesconjuno OR

    Operador NOT

    Este operador utilizado para realizar negao lgica em uma expresso, ou seja, para negar ouinverter um resultado.

    Sintaxe

    Resultado = NOT (Expresso)

    Onde Expresso qualquer expresso. Por exemplo:

    Resultados retornado pelo operador NOT:Expresso ResultadoTrue FalseFalse TrueNULL NULL

    Lembre-se que uma varivel que contm o valor NULL, representa uma varivel com valor invlido.Consequentemente, qualquer operador reproduzir um resultado NULL. Tenha em mente que umvarivel com uma string vazia ( ), no igual a NULL. Por exemplo:

    30)Response.Write teste

    %>

    Expresso

  • 8/7/2019 ASP - Intermediario

    39/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 39

    * A funo IsNull verifica se o contedo de uma varivel igual a NULL.

    Operador AND

    utilizado para avaliar um conjunto de expresses como se fosse apenas uma comparao. Ooperador AND apenas retornar True, se e somente se todas as comparaes forem verdadeiras.

    Sintaxe

    Resultado = Expresso1 AND Expresso2

    Onde Expresso1 e Expresso2 so quaisquer expresso. Por exemplo:

    Neste caso, teste receber o valor False. Pois embora 20 seja menor que 30, 10 no maior que30. Ento, como o AND apenas retorna True se todas as expresses forem verdadeiras, a varivelteste receber false.

    A tabela abaixo nos lista o comportamento do operador AND:

    Expresso1 Expresso2 ResultadoTrue True TrueTrue False FalseTrue NULL NULLFalse True FalseFalse False FalseFalse NULL False

    NULL True NULLNULL False FalseNULL NULL NULL

    Operador OR

    Avalia se alguma expresso de uma srie de expresses verdadeira.

    Sintaxe

    Resultado = Expresso1 OR Expresso2

    Onde Expresso1 e Expresso2 so quaisquer expresso. Por exemplo:

    30) AND (20 < 30)Response.Write teste

    %>

    Expresso

    30) OR (20 < 30)Response.Write teste

    %>

    Expresso

  • 8/7/2019 ASP - Intermediario

    40/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 40

    Neste caso, a varivel teste receber True. Pois uma das expresses acima verdadeira: 20 < 30.

    A tabela abaixo descreve o comportamento do operador OR, dependendo do resultado daexpresso:

    Expresso1 Expresso2 ResultadosTrue True TrueTrue False TrueTrue NULL TrueFalse True TrueFalse False FalseFalse NULL NULLNULL True TrueNULL False NULLNULL NULL NULL

    Operadores de Concatenao

    Existem dois operadores no VBScript utilizados para somar (concatenar) strings. Veja a tabelaabaixo:

    Operador Smbolo DescrioConcatenao de String & Usado para concatenar Strings.Operador de Adio e String + Usado para concatenar Strings e

    Adio Numrica.

    Operador &

    Utilizado para somar duas cadeias de caracteres (strings).

    Sintaxe

    resultado = string1 & string2

    Onde string1 e string2 so expresses strings vlidas para o VBScript.

    O resultado retornado:

  • 8/7/2019 ASP - Intermediario

    41/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 41

    Operador +

    O operador de Adio tambm pode ser utilizado para concatenar strings. Porm, no recomendado que voc utilize este operador para este tipo de funo, pois sua funo principalseria a soma de valores numricos. A ambiguidade ocorre quando o operador + utilizado emdiferentes subtipos, no caso, string e valores numricos.

    Sintaxe

    Resultado = string1 + string2

    Onde string1 e string2 so expresses do subtipo string vlidas para o Vbscript. Por exemplo:

    O resultado retornado o mesmo que foi retornado quando utilizamos o operador &.

    Ordem de Avaliao das Expresses

    A avaliao das expresses baseada nas categorias dos operadores. Operadores aritmticosso os primeiros a serem processados, seguidos pelos operadores de comparao e por fim, pelosoperadores lgicos.

  • 8/7/2019 ASP - Intermediario

    42/84

    Captulo VI Operadores

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 42

    Resumo

    Neste captulo aprendemos que ...

    Os operadores aritmticos aceitos pelo VBScript so: + (Adio), - (Subtrao), *(Multiplicao), / (diviso), \ (diviso inteira) e ^ (Exponenciao).

    Os operadores de comparao so: = (igualdade), (desigualdade), > (maior que),< (menor que), >= (maior ou igual a),

  • 8/7/2019 ASP - Intermediario

    43/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 43

    CAPTULO VII COMANDOS BSICOS DO VBSCRIPT

    Neste captulo, estaremos estudando os comandos para controle do fluxo de uma aplicao.Veremos as estruturas lgicas existentes no VBScript que devem permitir este controle: estruturaslgicas de deciso e repetio. Estruturas lgicas de deciso executam uma determinada condioe, dependendo do teste, retornam o HTML apropriado como resultado. A estrutura de repetio porsua vez, um processo cclico, ou seja, repete um determinado conjunto de instrues at queuma condio seja satisfeita.

    Estruturas de Deciso

    Utilizadas para tomar decises em sua aplicao. Por exemplo, se a hora for menor que 12:00,retorne um HTML com Bom dia, se no, retorne um HTML com Ola!. Neste exemplo, vocapenas mandou retornar um HTML com um texto para seu usurio porm, voc poderia determinarque dependendo do horrio, deve ser retornado determinada pgina, desviar para outra URL, etc.Estruturas como esta so utilizadas para determinar o fluxo da sua aplicao, com elas voc podedefinir qual pgina deve ser aberta, determinar o texto a ser escrito para o cliente, estados dosobjetos na tela: selecionados, preenchidos, etc.

    O primeiro comando que veremos ser o IF. Este comando utilizado para testar uma condiocomo verdadeira ou falsa. E dependendo dos resultados, determinado bloco de instrues serexecutado.

    Sintaxe

    If ThenBloco de Instruo (que pode ser apenas uma ou vrias)

    [ElseBloco de Instruo ]

    End If

    Onde a expresso a ser testada. Se for verdadeira, o bloco de instruo que estiverdefinido depois do Thenser executado. O Elserepresenta o se no, ou seja, se a no for satisfeita (no for verdadeira), o bloco de instrues definido depois do Else serexecutado. End iftermina o bloco IF.

    Observe que a deve ser uma expresso que pode ser avaliada como true/false(verdadeiro/falso). Por exemplo:

    At este ponto, vimos como testar apenas um condio. Porm, podemos utilizar o comando IFquando existem vrias condies a ser testadas. Veja a sintaxe:

  • 8/7/2019 ASP - Intermediario

    44/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 44

    If ThenBloco de Instruo (que pode ser apenas uma ou vrias)

    [ElseIf Then[Bloco de Instruo]]

    [Else[Bloco de Instruo]]

    End If

    * O que estiver entre [] opcional e entre obrigatrio.

    Se voc observar, a estrutura basicamente a mesma utilizada para um IF simples. A diferenaest no Elseif. Quando voc utiliza este tipo de sintaxe preciso especificar um outra condio aser testada. Por exemplo:

    E como inserir este cdigo em uma pgina ASP?

    Lembre-se que voc deve escrever os cdigos que devem ser interpretados pelo servidor entre , partindo deste ponto, vamos a um exemplo:

    Horas ...

    Bom Dia!!!
    So exatamente .

    So exatamente .

  • 8/7/2019 ASP - Intermediario

    45/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 45

    O cdigo criado:

    Bom Dia!!!
    So exatamente .

    So exatamente .

    O teste que o IF faz da condio se esta verdadeira. Ento, se a hora do servidor for menorque 12:00, ou seja, ainda manh, ser mostrado para o usurio o texto (supondo que seja 10:05da manh):

    Bom dia!So exatamente 10:05.

    Caso contrrio, ser mostrado (supondo que seja 13:00):So exatamente 13:00.

    O prximo comando o SELECT. Este comando foi desenvolvido para melhorar a eficincia do IF... Then ... ElseIf ... Sua funo selecionar um bloco de instruo a partir do teste de uma

    condio e compar-lo com uma srie de valores.

    Sintaxe

    Select Case [Case ValorX-Condio

    [Bloco de Instrues]][Case Else ValoresN-CondioN

    [Bloco de Instrues]]End Select

    Onde uma varivel do tipo numrica ou texto (string), Condioe CondioNso aspossibilidades de valores que esta varivel pode assumir.

    A lgica do SELECT similar a do IF ... Then ... Else. Ambas as estruturas permitem o caso detodas as condies falharem e o fluxo do bloco ser desviado para um caso de se no. A clusulaElse do SELECT utilizada quando nenhuma condio satisfeita pelo critrio. Podemosreescrever o exemplo utilizado com o IF ... Then ... ElseIf, utilizando o o SELECT:

    * O que estiver entre [] opcional e entre obrigatrio.

  • 8/7/2019 ASP - Intermediario

    46/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 46

    O resultado do exemplo:

    O cdigo VBScript (ASP)

    Este arquivo deve ser nomeado com a extenso ASP, pois contem cdigos que apenas umservidor IIS pode interpretar.

  • 8/7/2019 ASP - Intermediario

    47/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 47

    Select Case testeCase 30

    Mensagem = "O valor de Teste igual a 30"Case 26

    Mensagem = "O valor de Teste igual a 26"Case Else

    Mensagem = "O valor de Teste igual a " & testeEnd Select%>

    Neste ponto da aplicao, fechamos o bloco do SELECT e terminamos a parte dos cdigos queso interpretados pelo servidor. Colocamos algum cdigo HTML e para mostrar a mensagem,novamente temos que mandar o cdigo para o servidor: .

    Estruturas de Repetio

    So estruturas que repetiro um bloco de instrues at que a condio especificada seja satisfeitaou por um nmero de vezes especificado. No VBScript, trabalharemos com 3 destas estruturas:

    Do ... LoopFor ... NextWhile ... Wend

    A primeira que veremos ser a Do ... Loop. utilizado para executar um conjunto de instruesat que a condio determinada seja verdadeira. O Do ... Loop oferece dois operadorescondicionais para avaliar uma condio: While e Until.

    Sintaxe:

    Do {Until | While } Exit Do

    Loop

    Ou

    DoExit Do

    Loop {Until | While }

    Onde deve ser uma expresso que pode ser avaliada como true/false(verdadeiro/falso), so os comandos que devem ser executados enquantoa condio no for satisfeita.

    A diferena entre as sintaxes acima o local da condio. Na primeira sintaxe, a condio estlocalizada na mesma linha de execuo do Do. Na segunda, a condio est localizada no final dolao ao lado do Loop. Esta mudana de localizao d aos programadores flexibilidade para testar

  • 8/7/2019 ASP - Intermediario

    48/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 48

    a validade da condio primeiro e ento processar o bloco de instrues, ou processar o bloco deinstrues pelo menos uma vez, e depois avaliar a condio.Exemplo

    O resultado retornado pelo servidor:

    O cdigo escrito (ASP)

    Lembre-se que todo o cdigo ASP deve ser escrito entre , pois ser interpretado peloservidor que retornar como resultado o HTML correspondente.

  • 8/7/2019 ASP - Intermediario

    49/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 49

    Nas linhas acima, estamos limpando as variveis, ou seja, atribuindo-lhes valores nulos para tirarqualquer contedo que no nos seja til. No caso de cont atribumos o valor 0 (zero), e paraMensagem, atribumos que caracteriza o comprimento zero de string.

    O prximo bloco de instrues o bloco definido pelo Do ... Loop. Este bloco ser executado 5vezes isto definido pela condio: cont = 5. E mostrar uma mensagem todas as vezes que asinstrues dentro do comando de repetio forem executadas.

    Do Until cont=5

    A linha a seguir define a mensagem a ser mostrada para o usurio. uma atribuio deum texto para uma varivel, desta forma, o que for atribudo deve estar entre (aspas). Aindanesta linha, voc deve observar que existe uma concatenao de strings (Contei & cont), paraisso, deve-se utilizar o operador &.

    Mensagem = Contei & cont %>

    Neste ponto do programa, encerramos o trecho que deve ser interpretado pelo Servidor(%>).

    A linha a seguir contem cdigo HTML () e cdigo VBScript a ser

    interpretado pelo servidor ()que mostrar o contedo da mensagem.

    As prximas linhas de instruo fazem parte do Do ... Loop. Onde o cont incrementadopara que a repetio tenha um limite (cont = 5) e Loopencerra todo o bloco do Do ... Loop.

    While ... Wend

    Outra estrutura similar ao Do ... Loop o While ... Wend. Esta estrutura repete um bloco deinstrues at que um condio seja satisfeita (true).

    Sintaxe

    While

    Wend

    Onde uma expresso que pode ser avaliada como verdadeira ou falsa (true/false) e representa o conjunto de comandos que devem ser executados at que acondio seja falsa.

    Quando a condio descrita no While for verdadeira todos os comandos sero processados atchegar no Wend. Neste ponto, o fluxo do programa passa para o While que testa a condionovamente e este ciclo repetido at que a condio seja falsa.

    Exemplo

    O exemplo a seguir incrementa a varivel contador at que seu valor chegue a 10.

  • 8/7/2019 ASP - Intermediario

    50/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 50

    Resultado retornado:

    Cdigo

    While contador < 10 Avalia a condiocontador = contador + 1 Incrementa a varivel contador

    Wend Finaliza o lao quando a varivel contador for igual a 9.

    For ... Next

    Repete um conjunto de instrues por um nmero especificado de vezes. Este comando usadoquando sabemos o nmero de ciclos ou iteraes que so necessrias.

    Sintaxe

    For contador = inicio To fim [Step passo][bloco de instrues][Exit For][bloco de instrues]

    NextOnde contador uma varivel numrica usada no lao como o contador. Esta varivel no podeser um elemento de um vetor, nem um elemento de um Tipo definido pelo usurio. Inicio o valorinicial do contador e fim o valor final que o contador assumir. Passo define o valor doincremento ou decremento do FOR, se no for definido, o default (padro) 1 (um).

    O valor do parmetro passo pode ser tanto positivo (incremento) ou negativo (decremento). Ovalor deste parmetro determina o processo da seguinte maneira:

    Contei at

  • 8/7/2019 ASP - Intermediario

    51/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 51

    Permanece no lao se ...Positivo ou 0 (zero) contador = fim

    Exemplo

    Se o parmetro passo for positivo:

    O resultado ser igual a: ACEGIKMOQSUWY[]_acegikmoqsuwy

    For contador = 65 to 122 step 2

    No exemplo, a varivel contador inicializada com o valor 65, sendo incrementada at 122. Oincremento feito de 2 em 2, ou seja, a primeira vez, a varivel contador est com 65, a segundavez, o contador passa a ter 67, pois o incremento de 2.Se o parmetro passo for negativo:

    O resultado ser igual a: zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA

    For contador = 122 to 65 step -1

    Neste exemplo, o parmetro passo foi determinado com 1, ou seja, o contador comea com 122 ea cada clico, decrementado deste valor 1 at chegar ao valor 65.

    Observe que o operador Next no VBScript defere do operador Next do VB. No VBScript, no preciso especificar o contador na declarao do Next, como acontece no VB. O operador Nextautomaticamente incrementa o contador designado na declarao do FOR. Se voc adicionar onome da varivel contador na clusula Next, um erro ser gerado pelo VBScript:

    Expected end of Statement

    Em FOR encadeados, no permitido a utilizao do mesmo nome de varivel. Um erro deruntime ser gerado. Por exemplo, o cdigo abaixo utiliza dois FOR encadeados, com o mesmonome de varivel, o VBScript ir gerar o seguinteerro:

    Invalid For loop control variable.

  • 8/7/2019 ASP - Intermediario

    52/84

    Captulo VII Comandos Bsicos do VBScript

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 52

    Resumo

    Neste captulo aprendemos que ...

    As estruturas de deciso so utilizadas para determinar o fluxo da aplicao. Asestruturas mais utilizadas so:

    If then

    else

    end if

    Select [Case ValorX-Condio

    [bloco de instruo]][Case Else ValoresN-CondioN

    [Bloco de instruo]]End Select

    As estruturas de repetio que so utilizadas para executar um bloco de instruo atque uma condio seja satisfeita. As estruturas mais utilizadas so:

    Do Until

    Loop

    While

    Wend

    For contador = inicio To fim [Step passo][bloco de instrues][Exit For][bloco de instrues]

    Next

    Dicas

    A declarao do Else sempre interessante. Porque, s vezes, nos esquecemos dealgum teste da condio. Desta forma, evitamos erros de lgica,

    No caso do FOR, modificar o valor do contador dentro do lao, pode dificultar a leiturae a interpretao do cdigo por outro programador.

    Se a condio a ser avaliada for igual a Null, o VBScript retornar a condio comofalse.

  • 8/7/2019 ASP - Intermediario

    53/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 55

    CAPTULO VIII - OS OBJETOS DO ASP

    O ASP possui alguns objetos bsicos que operam as funcionalidades de uma aplicao.Cada objeto possui seus prprios mtodos e eventos, por isso estudaremos cada um delesseparadamente, observando suas funes mais importantes e teis.

    O objeto Application

    Podemos entender como sendo aplicao todo o conjunto de pginas ASP e HTML queformam o programa como um todo. Uma aplicao comea quando uma pgina ASP requisitadapela primeira vez ao servidor e termina quando o servidor desligado ou quando desativada(tirada do uso, sendo apagada, por exemplo).

    Desta forma, o objeto Application ir referir-se e estar disponvel para toda a aplicao, ouseja, ser "enxergado" por toda pgina ASP e por qualquer usurio da aplicao.

    Qual a utilidade de um objeto Application?

    Devido a mltiplos acessos a uma aplicao, possvel, atravs do objeto Application,

    controlar possveis erros causados por tentativas de alteraes simultneas de variveis, comotambm disponibilizar determinadas informaes que sero acessveis em qualquer parte doprograma, e/ou por qualquer usurio.

    Declarando variveis Application

    Variveis Application podero ser acessadas por qualquer parte do programa, por qualquerusurio.

    Sintaxe: Application("nomevar") = contedoPara visualizarmos melhor o efeito de uma varivel deste tipo, vejamos o exemplo:

    Suponha a existncia da linha de cdigo acima em algum arquivo ASP de uma aplicao.Com ela, armazenamos a string "Que tal estudar ASP?" numa varivel Application que chamamosde DicaDeHoje. Se nesta mesma aplicao possuirmos outra pgina ASP com o cdigo:

    Qualquer usurio que acessar a pgina acima obter o seguinte resultado:

    A nossa dica do dia hoje

  • 8/7/2019 ASP - Intermediario

    54/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 56

    Importante tambm lembrar que possvel acessar a varivel DicaDeHoje em qualqueroutra parte da aplicao.

    Controle de acesso a variveis Application

    Para prevenir-se de eventuais problemas com alteraes simultneas de valores devariveis do tipo Application, mantendo deste modo os dados sempre consistentes, necessriolanar mo de dois mtodos deste objeto: locke unlock.

    Mtodo LockO objetivo deste mtodo "trancar" o acesso s variveis Application, deixando-as

    disponveis para somente um nico usurio.

    Mtodo UnLockO mtodo UnLock "destranca" as variveis Application que foram trancadas por um mtodo

    Lock. Quando este mtodo for executado, todas as variveis Application estaro novamentedisponveis.Observe o exemplo:

    No caso acima, o mtodo Lock foi utilizado para que o nmero de visitantes seja sempreexibido de forma correta, no ocorrendo nenhum problema no caso de haverem duas tentativassimultneas de modificao no valor desta varivel. Depois de alterar o valor de visitantes, aaplicao destrancada. Veja o resultado deste cdigo:

    Esta pgina j foi acessada vezes

  • 8/7/2019 ASP - Intermediario

    55/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 57

    O objeto Server

    Este objeto capaz de interagir com servio HTTP, criando uma interface programvel deseus mtodos e propriedades. Outra funo do objeto Server instanciar componentes ASP noservidor, o que torna a tecnologia muito mais poderosa e ampla.

    O que um componente?

    Componentes so bibliotecas de objetos que possuem finalidades diversas. Podemosencontrar inmeros tipos de componentes. H, por exemplo, componentes que operam servios dee-mail (como enviar mensagens e arquivos atachados), que criam interface para upload dearquivos, que manipulam bancos de dados, etc. Existem componentes que j vm incorporados aopacote ASP e existem tambm diversos componentes disponveis na Internet para download.Para instalar um novo componente (que geralmente uma dll), basta registr-lo no Registry doservidor. Depois, para utiliz-lo, basta instanci-lo em qualquer programa ASP.

    Mtodo CreateObject

    Este mtodo cria uma instncia de um componente no servidor. A capacidade de utilizarcomponentes amplia muito as potencialidades de uma aplicao ASP.

    Sintaxe: Server.CreateObject ("nomecomp.nomeclasse")Onde nomecomp o nome da biblioteca do componente e nomeclasse a classe desta

    biblioteca da qual se deseja criar o objeto.Como exemplo, criaremos uma instncia da classe BrowserType, da bibliioteca MSWC

    (Microsoft Web Components):

  • 8/7/2019 ASP - Intermediario

    56/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 58

    Um possvel resultado obtido ser:

    No exemplo acima, criamos o objeto brtp, pertencente classe BrowserType da bibliotecaMSWC e testamos sua propriedade ActiveXControls. Observe que o comando Set foi utilizado.Desta forma, o mtodo CreateObject retornar varivel brtp um ponteiro que aponta para oobjeto instanciado. Este apenas um exemplo de um objeto de inmeros outros existentes. Aolongo deste curso abordaremos outros componentes, e certamente ao pesquisar na Web, vocencontrar cada vez mais novos componentes sendo criados.

    Mtodos Encode

    A tecnologia Web basicamente baseada na transferncia de textos simples (ASCII) peloprotocolo TCP/IP e na interpretao destes textos pelos browsers. Devido a este fato, possvelocorrerem erros de interpretaes de caracteres peculiares (como letras acentuadas ou espaosem branco, por exemplo). Para resolver estes problemas, a tecnologia ASP dispes de doismtodos: HTMLEncodee URLEncode.

    Mtodo HTMLEncode

    Este mtodo faz com que os caracteres sejam exibidos em tela exatamente como foramespecificados. Para isso o ASP cria, para a string fornecida, cdigos especiais para caracteresno-ANSI. Este mtodo importante para se assegurar de que a informao ser exibida numapgina HTML exatamente como se deseja.

    Este browser suporta controles ActiveX

    Este browser no suporta controles ActiveX

  • 8/7/2019 ASP - Intermediario

    57/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 59

    Sintaxe: Server.HTMLEncode ("string")Onde string a cadeia de caracteres que se deseja formatar.

    Mtodo URLEncode

    Semelhante ao mtodo HTMLEncode, este mtodo formata a string especificada para queno ocorram erros de interpretao de caracteres. Porm, utilizamos o mtodo URLEncodequando a string especificada trata-se de uma URL.

    Sintaxe: Server.URLEncode ("string")

    O objeto Session

    Entende-se por sesso o tempo que um usurio utiliza uma aplicao. Cada vez que umaaplicao acessada por um usurio, uma sesso no servidor aberta para ele. Quando aaplicao termina, a sesso finalizada. Dessa forma, informaes disponibilizadas no escopo dasesso estaro disponveis durante toda a aplicao para um determinado usurio.

    Este objeto baseado em cookies, portanto ser somente acessvel aos browsers que ossuportam e que estejam habilitados a os aceitarem.

    Declarando variveis do tipo Session

    A declarao de variveis do tipo Session possibilita que as mesmas estejam disponveisdurante toda a sesso de um usurio. So teis, por exemplo, quando desejamos identificarcaractersticas de usurio em qualquer parte de um programa.

    Sintaxe: Session("nomevar") = contedoObserve o exemplo:

    Com o cdigo acima, teremos armazenado na varivel vbscum valor booleano (true oufalse) que indica se o browser suporta ou no a tecnologia VBScript sendo executada no cliente.Como esta varivel foi definida como tipo Session, poderemos utiliz-la em outra parte daaplicao, como no exemplo abaixo:

    O Objeto Response

    O objeto Response controla os dados que sero enviados para o cliente. Estes dadospodem ser simplesmente HTML, cookies, valores de variveis, etc.

  • 8/7/2019 ASP - Intermediario

    58/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 60

    Coleo Cookies

    atravs desta coleo que podemos enviar cookies para um cliente. Com cookies,podemos armazenar temporariamente valores em arquivos-texto no browser cliente.

    Sintaxe: Response.Cookies ("nomecookie")("nomedachave").atributo = contedoDevemos entender como nomecookie como sendo o nome do arquivo texto a ser

    armazenado no cliente e nomedachavecomo sendo o nome do campo a ser armazenado. Existemainda atributos de cookies que estudaremos posteriormente.

    Veja o exemplo:

    Neste exemplo, gravamos no cliente um cookie com o nome MeuTeste que contm trsvalores separados em trs campos que se chamam: Valor1, Valor2e Valor3. Quando desejarmosrecuperar as informaes deste cookie, utilizaremos estes nomes. Veremos como recuperarvalores de um cookie ao estudar o objeto Request.

    Note tambm que as linhas de cdigo que gravam o cookie vm antes de qualquer tagHTML. Isto ocorre porque no h como gravar informaes em um cookie depois de qualquercdigo HTML ser enviado ao cliente. Se houvesse qualquer tag antes da gravao do cookie, seriaemitida uma mensagem de erro. Portanto, lembre-se: no possvel gravar um cookie depoisque alguma diretiva HTML j foi enviada ao cliente.

    Atributo ExpiresPodemos especificar qual a "data de validade" de um cookie atravs do atributo Expires.

    Desta forma, um cookie existir no cliente at a data estipulada neste atributo. Se no estipularmosnenhuma data para o atributo Expires, o cookie perder sua validade assim que a sesso dousurio se encerrar. Observe, no cdigo abaixo, a utilizao deste atributo no cookie MeuTeste,onde o mesmo ir expirar em 11 de setembro de 1999

    Mtodo Write

    Este mtodo utilizado para enviar texto pgina HTML.Sintaxe: Response.Write contedoPodemos utilizar como contedo valores de variveis, funes ou mesmo textos simples.

    Veja no exemplo abaixo diferentes possibilidades de se utilizar este mtodo:

    Voc acabou de receber um Cookie!

  • 8/7/2019 ASP - Intermediario

    59/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 61

    Observe no resultado obtido que podemos ento escrever textos (Al mundo!), variveis(Session("curso")) ou funes (now) com o mtodo Write:

    Mtodo Redirect

    Este mtodo utilizado para redirecionar o browser para outra URL.Sintaxe: Response.Redirect URL importante ressaltar que o mtodo Redirect deve ser colocado antes de qualquer tag

    HTML ser enviada ao cliente. Caso contrrio, ocorrer um erro.Veja um exemplo deste mtodo:




  • 8/7/2019 ASP - Intermediario

    60/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 62

    No exemplo acima, suponha que a varivel Session("idioma") tivesse o valor "ingles".Desta forma, o browser seria redirecionado para o endereo http://www.empresa.com.br/ingles . importante notar que neste caso nenhum cdigo seguinte ser executado (no exemplo, no seria

    atribudo nenhum valor varivel var, pois esta linha de cdigo no seria executada) e nenhumatag HTML deste arquivo ser enviada ao browser. O contrrio ocorrer somente se a varivelSession("idioma") tiver valor diferente de "ingles"ou "alemao".

    O Objeto Request

    Este objeto capaz de receber informaes do cliente, como, por exemplo, ler cookies ereceber dados digitados em formulrios HTML A seguir, estudaremos suas colees e mtodosmais importantes.

    Coleo Cookies

    Esta coleo responsvel por ler as informaes armazenadas previamente nos cookiesexistentes nos clientes.

    Sintaxe: Resquest.Cookies ("nomecookie")("nomedachave")Onde nomecookie o nome do cookie armazenado e nomedachave o nome do campo

    do cookie que se deseja obter. Observe o exemplo:

    Com o cdigo acima, obtemos, do cookie MeuTeste o valor do campo Valor1 e oescrevemos na tela atravs do Response.Write.

    Coleo Form

    A coleo Form permite que se obtenha dados digitados em formulrios HTML enviadospelo mtodo HTTPPost.

    Sintaxe: Request.Form ("nomecampo")

    Ol! Obrigado pela visita!

  • 8/7/2019 ASP - Intermediario

    61/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 63

    Onde nomecampo o nome dado propriedade NAME do campo do formulrio HTML.Considere o seguinte formulrio HTML:

    Quando o boto Submit for clicado, o arquivo Request.asp ser chamado e executado.Este arquivo poderia ser o seguinte:

    No cdigo acima, armazenamos nas variveis nome e idioma os valores colocados noscampos txtNomee opIdioma do formulrio HTML. Com isto, podemos utilizar estes valores noprograma normalmente. Um possvel resultado obtido depois de se digitar no formulrio o nomeLuse se escolher o idioma Portugus seria:

    Nome:
    Idioma:
    Ingls
    Alemo
    Portugus

  • 8/7/2019 ASP - Intermediario

    62/84

    Captulo VIII Os Objetos do ASP

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 64

    Coleo QueryString

    Esta coleo utilizada para se obter informaes vindas da string de pesquisa HTTP.Esta string encontra-se depois do ponto de interrogao (?) na linha da URL. (Por exemplo,http://www.empresa.com.br?cliente=especial).

    Sintaxe: Request.QueryString("nomevar")

  • 8/7/2019 ASP - Intermediario

    63/84

    Captulo IX ODBC

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 65

    CAPTULO IX ODBC

    ODBC 3.0

    O ODBC (Open DataBase Connectivity) 3.0 o meio mais conhecido para acessar um banco dedados em ambiente Windows. Utilizando o ODBC, desenvolvedores no precisam se preocuparcom as particularidades dos bancos de dados que iro acessar e trabalhar.

    O ODBC uma API para acessar, manipular e criar bancos de dados. Como um desenvolvedor deaplicaes Web, voc no precisa saber exatamente qual a API para o ODBC. Entretanto, ter umconhecimento sobre ele ser bastante til.

    Quando voc acessa um banco de dados atravs do ODBC, este banco necessariamente tem queestar registrado como uma origem de dados ODBC. Registrando o banco como uma origem dedados, a aplicao apenas precisa saber o nome desta origem de dados. A localizao do bancono faz diferena, nem mesmo o tipo de banco de dados.

    A arquitetura de aplicativo/driver no Windows NT 3.51 ou posterior, a seguinte:

    Abrindo o ODBC Desktop

    Para execut-lo, siga os passos:

    1. A partir do menu Start (Iniciar) do Windows, selecione Settings (Configuraes)2. Escolha a opo Control Panel, na janela que ser aberta d um duplo clique no cone

    do ODBC:

  • 8/7/2019 ASP - Intermediario

    64/84

    Captulo IX ODBC

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 66

    A tela abaixo nos mostra o painel de controle do ODBC.

    Existem trs tipos de origem de dados que voc pode criar: System, User e File. Quando vocdefine uma origem de dados na opo System DSN o banco de dados ser aberto para qualquerusurio do sistema, quando definido em User DSN o banco ser aberto para um usurio especficoe File DSN uma descrio do banco.

    Geralmente, para aplicaes Web criado uma origem de dados na opo System DSN.Como criar um System DSN

  • 8/7/2019 ASP - Intermediario

    65/84

    Captulo IX ODBC

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 67

    Depois de pressionado o boto Add, ser mostrada a tela abaixo, onde voc deve especificar odrive ODBC a ser utilizado para acessar seus dados:

    Depois de escolher o drive, preciso selecionar o arquivo que contm os dados. A prxima telapedir para voc indicar o local fsico (diretrio e nome) do arquivo e um nome para a origem dedados que est sendo criada:

    Selecione a pasta System DSN

    Para criar um novoSystem DSN, cliqueno boto Add

    Lista dos drives instalados.

    Depois de selecionar odrive, cli ue em Finish

  • 8/7/2019 ASP - Intermediario

    66/84

    Captulo IX ODBC

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 68

    Seguindo estes passos voc cria uma origem de dados para seu banco de dados. Quandoprecisarmos abrir um banco de dados, ser preciso apenas fazer a referncia a origem de dados.

    Nome da origem de dados(no precisa ser o nome dobanco de dados).

    Descrio da origem dedados.

    Na parte sublinhada estodisponveis as opes paraseleo, criao, reparo ecompactao do arquivode banco de dados. Paraselecionar um arquivoclique no boto Select.

  • 8/7/2019 ASP - Intermediario

    67/84

    Captulo IX ODBC

    Desenvolvimento de Aplicaes para Internet Plataforma Microsoft

    Pgina 69

    Resumo

    Neste captulo aprendemos que ...

    O ODBC uma API utilizada para criar, manipular e acessar bancos de dados. Utilizando esses drives, no necessrio ter conhecimento das particularidades de

    cada banco de dados. Existem trs tipos de origem de dados: System DSN, User DSN e File DSN. O

    System DSN utilizado quando vrios usurios de um sistema podem acessar abase. O User DSN utilizado quando um usurio especfico pode ter acesso, e oFile DSN uma descrio do banco.

    Geralmente, a opo escolhida para criar uma origem de dados o System DSN,pois uma aplicao na maioria das vezes, acessada por vrios usurios.

    Dicas

    Os drivers ODBC so fornecidos com ODBC 3.0, mas funcionam com ODBC 2.5.Eles foram desenvolvidos para ser usados no Microsoft Windows 95 ou posteriorou Windows NT 3.51 ou posterior. O Windows 95 ou posterior, aceita somenteaplicativos de 32 bits. O Windows NT 3.51 ou posterior, aceita aplicativos de 16 ede 32 bits.

    Voc pode obter mais informaes sobre a verso do ODBC a ser usada com osdrivers ODBC, consultando o ODBC 2.0 Programmers Reference e o SDK Guide enotas de verso do ODBC at v