Transcript

O que eacute ASPActive Server Pages (ASP) eacute uma linguagem para geraccedilatildeo de paacuteginas HTMLdinamicamenteA partir de um Windows NT Server com o IIS3 ou IIS4 (Internet Information Server)instalado eacute possiacutevel rodar coacutedigos que geram paacuteginas HTML dinamicamente eentatildeo mandaacute-las para o Browser Assim sendo sempre que uma paacutegina ASP forrequisitada pelo Browser esta paacutegina seraacute executada pelo servidor e a partir daiacuteseraacute gerada uma paacutegina HTML a qual seraacute enviada para o Browser que arequisitou Eacute possiacutevel entatildeo a partir de uma uacutenica rotina gerar uma paacutegina HTMLcontendo os registros de um banco de dados cujo o nome comeccedila com a letra AOu entatildeo gerar uma paacutegina HTML contendo todos os registros cuja cidade eacute SatildeoPaulo Detalhando um pouco mais o exemplo acima um usuaacuterio qualquer entra napaacutegina principal da agenda virtual da sua empresa Nesta paacutegina existem links paratodas as letras do alfabeto e para todas as cidades listadas na agenda Esseusuaacuterio clica no link na letra A (poderia ser de qualquer outra letra) e entatildeo umapaacutegina ASP (uma rotina ASP) eacute acionada no servidor O servidor por sua vez vai lere executar esta paacutegina o que significa que em primeiro lugar o servidor abriraacute obanco de dados ai entatildeo faraacute uma consulta a este banco de dados requisitandotodos os registros cujo nome comece com a letra A Aiacute entatildeo o servidor cria umapaacutegina HTML contendo todos esses registros numa tabelaA linguagem ASP natildeo serve apenas para consultas a banco de dados Servetambeacutem para envio e recebimento de correio eletrocircnico via paacuteginas HTML paracriaccedilatildeo rotinas de propaganda rotativa para identificaccedilatildeo e autenticaccedilatildeo deusuaacuterios para leitura de arquivos texto e uma infinidade de outras aplicaccedilotildees

VBScript e ASPA linguagem ASP eacute na verdade uma junccedilatildeo de programaccedilatildeo em VBScript eObjetos ActiveXVBScript eacute uma linguagem criada a partir do Visual Basic mas com algumaslimitaccedilotildees por motivos de seguranccedilaObjetos ActiveX satildeo objetos ou melhor funccedilotildees prontas jaacute existentes no servidorEssas funccedilotildees captam os paracircmetros de entrada dos dados manipula-os de acordoa sua funccedilatildeo e entatildeo envia-os para a saiacuteda Um exemplo de ActiveX eacute o ObjetoASPMail o qual capta os dados de entrada (nome email corpo da mensagem etc)cria um email com esses dados e depois envia o emailUma vez que a linguagem ASP eacute usada apenas em alguns pedaccedilos de paacuteginasHTML existe um siacutembolo para diferenciar o que eacute programaccedilatildeo HTML e o que eacuteprogramaccedilatildeo ASP lt coacutedigo asp gt

Abaixo um exemplo de paacutegina em HTML e ASP

ltheadgtlttitlegtpaacutegina em HTML e ASPlttitlegtltheadgtlthtmlgtltpgtOlaacute Mundoltpgt

lt (aspas simples significa observaccedilatildeo dentro do coacutedigo) a linha abaixo tem o mesmo efeito da linha acimaresponsewrite ltpgtOlaacute Mundoltpgtgtlthtmlgt

Funcionamento Convenccedilatildeo e SimbologiaComo Funciona o ASP Qual a simbologia e a convenccedilatildeo usada na programaccedilatildeoem ASPASP eacute uma linguagem que veio para complementar a linguagem HTML Ela trazpara a linguagem HTML todo o poder do acesso a banco de dados do acesso aarquivos texto da captaccedilatildeo de informaccedilotildees de formulaacuterio da captaccedilatildeo deinformaccedilotildees sobre o visitante e sobre o servidor do uso de variaacuteveis loopsObserve o coacutedigo abaixoarquivo olamundoasp

lthtmlgtltheadgtlttitlegtComo funciona o ASPlttitlegtltheadgtltbody bgcolor=FFFFFFgtltpgtOla Mundoltpgtltresponsewrite ltpgtOla Mundoltpgtgtltpgtlt=Ola Mundogtltpgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaO coacutedigo acima exibe a frase Ola Mundo de trecircs modos diferentes O primeirousando apenas programaccedilatildeo HTML o segundo usando apenas comandos ASP eo terceiro eacute uma mistura de coacutedigo HTML com ASP Como se percebe natildeo eacutenecessaacuterio construir a paacutegina inteira com coacutedigos ASP Eacute possiacutevel criar paacuteginasonde haacute a mesclagem das duas programaccedilotildees A uacutenica exigecircncia eacute que a partir domomento em que o coacutedigo da paacutegina tenha pelo menos uma linha na linguagemASP a terminaccedilatildeo do nome da paacutegina deve ser asp Somente assim o servidorpoderaacute distinguir quais paacuteginas devem ser executadas antes de enviar ao BrowserAbaixo segue a simbologia e as convenccedilotildees de uso da linguagem ASPlt -gt iniacutecio do trecho de coacutedigo ASPgt -gt final do trecho de coacutedigo ASP (aspas simples) -gt usada antes de comentaacuterios dentro do coacutedigo= -gt eacute usado no modo de programaccedilatildeo por mesclagem de coacutedigos HTML e ASPA linguagem ASP tem uma estrutura muito bem elaborada uma vez que ela podeser implementada com os chamados Objetos A linguagem ASP aleacutem de trazertodo o poder do VBScript para a paacutegina HTML traz ainda o poder dos ComponentesActiveX e dos Objetos Os componentes ActiveX simplificando bastante satildeobibliotecas que conteacutem vaacuterios objetos reunidos Principalmente objetos quenecessitam de instacircncias para funcionar o que significa que por exemplo cadaacesso a um bando de dados deve ocupar uma instacircncia daquele objetoObjetos

satildeo add-ons que datildeo a capacidade de captura e transmissatildeo de variaacuteveis entre aspaacuteginas de criaccedilatildeo e manipulaccedilatildeo de cookies sessions e publicidade rotativa nossites a capacidade de captura de informaccedilotildees sobre o Browser do usuaacuterio e sobreo servidor de consulta alteraccedilatildeo e adiccedilatildeo de dados em Bando de Dados de envioe recebimento de emails via paacutegina WEB e uma infinidade outras funccedilotildees Essesobjetos podem ser criados por outras empresas implementando assim o poder dalinguagem ASP

O Objeto ResponseO objeto Response se refere a todos os dados enviados do servidor para o cliente(usuaacuterio - browser) ou seja qualquer informaccedilatildeo enviada do servidor para obrowser do usuaacuterio se utiliza do objeto ResponseFunccedilotildees do Objeto Responseresponsewrite - permite enviar texto ao browserresponseredirect - Redireciona o browser para um endereccedilo especificadoresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirectresponsecookies - grava informaccedilotildees no cookie do browserresponsewrite - envia textos ao browser Eacute interessante na construccedilatildeo de textosque mixam textos prontos e variaacuteveis

sintaxe responsewrite textovariaacutevellthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltresponsewrite Olaacute Abaixo uma rotina com o objeto responsewrite cujotexto varia de acordo com a variaacutevel counterfor counter=1 to 5000responsewrite counter amp -gtnextgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponseredirect - redireciona o browser do usuaacuterio para a paacutegina especificadaEsta funccedilatildeo soacute pode ser usada antes do browser divulgar alguma informaccedilatildeo natela

sintaxe responseredirect(URL)lt

A funccedilatildeo responseredirect redireciona o browser do cliente para o endereccedilocontido na variaacutevel URLnova no caso wwwaspbrasilcombrURLnova = httpwwwaspbrasilcombrresponseredirect(URLnova)gt lthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirect Observe o exemplo

sintaxe responsebuffer = truefalseltresponsebuffer = truegtlt htmlgtlt headgtlt titlegt responseasplt titlegtltheadgtltbodygtltresponsewrite Olaacute denovo Abaixo o uso da funccedilatildeo responsebuffer a qualquando tiver o valor true avisa o browser para mostrar as informaccedilotildees soacutedepois de totalmente carregadas Isto permite que haja um responseredirectem qualquer parte da paacutegina Mas quando tiver o valor false o browser mostraas informaccedilotildees assim que elas vatildeo chegandoresponseredirect httpwwwaspbrasilcombrgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsecookies - grava informaccedilotildees no cookie do browser

lthtmlgtltheadgtlttitlegtcookieslttitlegtltheadgtltbodygtlto comando time insere o horaacuterio atual do servidorresponsecookies(aspbrasil)(horariovisita) = timegt

ltbodygtlthtmlgt

Objeto RequestO objeto Request se refere a todos os dados requisitados pelo servidor ao clienteou seja qualquer informaccedilatildeo requisitada pelo servidor ao browser do usuaacuterioFunccedilotildees do Objeto Requestrequestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopostrequestQueryString - recurepa valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo getrequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio e sobreo servidor WEBrequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuteriorequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)exemplos

requestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopost

sintaxe requestform(nomedavariavel) ou simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=post action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acima

requestQueryString - recupera valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo get

sintaxe requestquerystring(nomedavariavel) ou tambeacutem simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=get action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)

lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio esobre o servidor WEB

sintaxe requestservervariables(valorsolicitado)Abaixo um exemplo de como conseguir alguns valores do Browser do usuaacuteriolthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltresponsewrite ltdivgt amp requestServervariables(remote_Addr) amp ltdivgtresponsewrite ltdivgt amp requestServervariables(server_name) amp ltdivgtrequestservervariables(remote_addr) busca o IP remoto do usuaacuteriorequestservervariables(server_name) busca o nome ou IP do servidorgtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuterio

sintaxe requestcookies(nomedocookie)(paracircmetrodocookie)

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

lt (aspas simples significa observaccedilatildeo dentro do coacutedigo) a linha abaixo tem o mesmo efeito da linha acimaresponsewrite ltpgtOlaacute Mundoltpgtgtlthtmlgt

Funcionamento Convenccedilatildeo e SimbologiaComo Funciona o ASP Qual a simbologia e a convenccedilatildeo usada na programaccedilatildeoem ASPASP eacute uma linguagem que veio para complementar a linguagem HTML Ela trazpara a linguagem HTML todo o poder do acesso a banco de dados do acesso aarquivos texto da captaccedilatildeo de informaccedilotildees de formulaacuterio da captaccedilatildeo deinformaccedilotildees sobre o visitante e sobre o servidor do uso de variaacuteveis loopsObserve o coacutedigo abaixoarquivo olamundoasp

lthtmlgtltheadgtlttitlegtComo funciona o ASPlttitlegtltheadgtltbody bgcolor=FFFFFFgtltpgtOla Mundoltpgtltresponsewrite ltpgtOla Mundoltpgtgtltpgtlt=Ola Mundogtltpgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaO coacutedigo acima exibe a frase Ola Mundo de trecircs modos diferentes O primeirousando apenas programaccedilatildeo HTML o segundo usando apenas comandos ASP eo terceiro eacute uma mistura de coacutedigo HTML com ASP Como se percebe natildeo eacutenecessaacuterio construir a paacutegina inteira com coacutedigos ASP Eacute possiacutevel criar paacuteginasonde haacute a mesclagem das duas programaccedilotildees A uacutenica exigecircncia eacute que a partir domomento em que o coacutedigo da paacutegina tenha pelo menos uma linha na linguagemASP a terminaccedilatildeo do nome da paacutegina deve ser asp Somente assim o servidorpoderaacute distinguir quais paacuteginas devem ser executadas antes de enviar ao BrowserAbaixo segue a simbologia e as convenccedilotildees de uso da linguagem ASPlt -gt iniacutecio do trecho de coacutedigo ASPgt -gt final do trecho de coacutedigo ASP (aspas simples) -gt usada antes de comentaacuterios dentro do coacutedigo= -gt eacute usado no modo de programaccedilatildeo por mesclagem de coacutedigos HTML e ASPA linguagem ASP tem uma estrutura muito bem elaborada uma vez que ela podeser implementada com os chamados Objetos A linguagem ASP aleacutem de trazertodo o poder do VBScript para a paacutegina HTML traz ainda o poder dos ComponentesActiveX e dos Objetos Os componentes ActiveX simplificando bastante satildeobibliotecas que conteacutem vaacuterios objetos reunidos Principalmente objetos quenecessitam de instacircncias para funcionar o que significa que por exemplo cadaacesso a um bando de dados deve ocupar uma instacircncia daquele objetoObjetos

satildeo add-ons que datildeo a capacidade de captura e transmissatildeo de variaacuteveis entre aspaacuteginas de criaccedilatildeo e manipulaccedilatildeo de cookies sessions e publicidade rotativa nossites a capacidade de captura de informaccedilotildees sobre o Browser do usuaacuterio e sobreo servidor de consulta alteraccedilatildeo e adiccedilatildeo de dados em Bando de Dados de envioe recebimento de emails via paacutegina WEB e uma infinidade outras funccedilotildees Essesobjetos podem ser criados por outras empresas implementando assim o poder dalinguagem ASP

O Objeto ResponseO objeto Response se refere a todos os dados enviados do servidor para o cliente(usuaacuterio - browser) ou seja qualquer informaccedilatildeo enviada do servidor para obrowser do usuaacuterio se utiliza do objeto ResponseFunccedilotildees do Objeto Responseresponsewrite - permite enviar texto ao browserresponseredirect - Redireciona o browser para um endereccedilo especificadoresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirectresponsecookies - grava informaccedilotildees no cookie do browserresponsewrite - envia textos ao browser Eacute interessante na construccedilatildeo de textosque mixam textos prontos e variaacuteveis

sintaxe responsewrite textovariaacutevellthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltresponsewrite Olaacute Abaixo uma rotina com o objeto responsewrite cujotexto varia de acordo com a variaacutevel counterfor counter=1 to 5000responsewrite counter amp -gtnextgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponseredirect - redireciona o browser do usuaacuterio para a paacutegina especificadaEsta funccedilatildeo soacute pode ser usada antes do browser divulgar alguma informaccedilatildeo natela

sintaxe responseredirect(URL)lt

A funccedilatildeo responseredirect redireciona o browser do cliente para o endereccedilocontido na variaacutevel URLnova no caso wwwaspbrasilcombrURLnova = httpwwwaspbrasilcombrresponseredirect(URLnova)gt lthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirect Observe o exemplo

sintaxe responsebuffer = truefalseltresponsebuffer = truegtlt htmlgtlt headgtlt titlegt responseasplt titlegtltheadgtltbodygtltresponsewrite Olaacute denovo Abaixo o uso da funccedilatildeo responsebuffer a qualquando tiver o valor true avisa o browser para mostrar as informaccedilotildees soacutedepois de totalmente carregadas Isto permite que haja um responseredirectem qualquer parte da paacutegina Mas quando tiver o valor false o browser mostraas informaccedilotildees assim que elas vatildeo chegandoresponseredirect httpwwwaspbrasilcombrgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsecookies - grava informaccedilotildees no cookie do browser

lthtmlgtltheadgtlttitlegtcookieslttitlegtltheadgtltbodygtlto comando time insere o horaacuterio atual do servidorresponsecookies(aspbrasil)(horariovisita) = timegt

ltbodygtlthtmlgt

Objeto RequestO objeto Request se refere a todos os dados requisitados pelo servidor ao clienteou seja qualquer informaccedilatildeo requisitada pelo servidor ao browser do usuaacuterioFunccedilotildees do Objeto Requestrequestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopostrequestQueryString - recurepa valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo getrequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio e sobreo servidor WEBrequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuteriorequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)exemplos

requestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopost

sintaxe requestform(nomedavariavel) ou simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=post action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acima

requestQueryString - recupera valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo get

sintaxe requestquerystring(nomedavariavel) ou tambeacutem simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=get action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)

lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio esobre o servidor WEB

sintaxe requestservervariables(valorsolicitado)Abaixo um exemplo de como conseguir alguns valores do Browser do usuaacuteriolthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltresponsewrite ltdivgt amp requestServervariables(remote_Addr) amp ltdivgtresponsewrite ltdivgt amp requestServervariables(server_name) amp ltdivgtrequestservervariables(remote_addr) busca o IP remoto do usuaacuteriorequestservervariables(server_name) busca o nome ou IP do servidorgtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuterio

sintaxe requestcookies(nomedocookie)(paracircmetrodocookie)

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

satildeo add-ons que datildeo a capacidade de captura e transmissatildeo de variaacuteveis entre aspaacuteginas de criaccedilatildeo e manipulaccedilatildeo de cookies sessions e publicidade rotativa nossites a capacidade de captura de informaccedilotildees sobre o Browser do usuaacuterio e sobreo servidor de consulta alteraccedilatildeo e adiccedilatildeo de dados em Bando de Dados de envioe recebimento de emails via paacutegina WEB e uma infinidade outras funccedilotildees Essesobjetos podem ser criados por outras empresas implementando assim o poder dalinguagem ASP

O Objeto ResponseO objeto Response se refere a todos os dados enviados do servidor para o cliente(usuaacuterio - browser) ou seja qualquer informaccedilatildeo enviada do servidor para obrowser do usuaacuterio se utiliza do objeto ResponseFunccedilotildees do Objeto Responseresponsewrite - permite enviar texto ao browserresponseredirect - Redireciona o browser para um endereccedilo especificadoresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirectresponsecookies - grava informaccedilotildees no cookie do browserresponsewrite - envia textos ao browser Eacute interessante na construccedilatildeo de textosque mixam textos prontos e variaacuteveis

sintaxe responsewrite textovariaacutevellthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltresponsewrite Olaacute Abaixo uma rotina com o objeto responsewrite cujotexto varia de acordo com a variaacutevel counterfor counter=1 to 5000responsewrite counter amp -gtnextgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponseredirect - redireciona o browser do usuaacuterio para a paacutegina especificadaEsta funccedilatildeo soacute pode ser usada antes do browser divulgar alguma informaccedilatildeo natela

sintaxe responseredirect(URL)lt

A funccedilatildeo responseredirect redireciona o browser do cliente para o endereccedilocontido na variaacutevel URLnova no caso wwwaspbrasilcombrURLnova = httpwwwaspbrasilcombrresponseredirect(URLnova)gt lthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirect Observe o exemplo

sintaxe responsebuffer = truefalseltresponsebuffer = truegtlt htmlgtlt headgtlt titlegt responseasplt titlegtltheadgtltbodygtltresponsewrite Olaacute denovo Abaixo o uso da funccedilatildeo responsebuffer a qualquando tiver o valor true avisa o browser para mostrar as informaccedilotildees soacutedepois de totalmente carregadas Isto permite que haja um responseredirectem qualquer parte da paacutegina Mas quando tiver o valor false o browser mostraas informaccedilotildees assim que elas vatildeo chegandoresponseredirect httpwwwaspbrasilcombrgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsecookies - grava informaccedilotildees no cookie do browser

lthtmlgtltheadgtlttitlegtcookieslttitlegtltheadgtltbodygtlto comando time insere o horaacuterio atual do servidorresponsecookies(aspbrasil)(horariovisita) = timegt

ltbodygtlthtmlgt

Objeto RequestO objeto Request se refere a todos os dados requisitados pelo servidor ao clienteou seja qualquer informaccedilatildeo requisitada pelo servidor ao browser do usuaacuterioFunccedilotildees do Objeto Requestrequestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopostrequestQueryString - recurepa valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo getrequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio e sobreo servidor WEBrequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuteriorequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)exemplos

requestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopost

sintaxe requestform(nomedavariavel) ou simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=post action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acima

requestQueryString - recupera valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo get

sintaxe requestquerystring(nomedavariavel) ou tambeacutem simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=get action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)

lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio esobre o servidor WEB

sintaxe requestservervariables(valorsolicitado)Abaixo um exemplo de como conseguir alguns valores do Browser do usuaacuteriolthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltresponsewrite ltdivgt amp requestServervariables(remote_Addr) amp ltdivgtresponsewrite ltdivgt amp requestServervariables(server_name) amp ltdivgtrequestservervariables(remote_addr) busca o IP remoto do usuaacuteriorequestservervariables(server_name) busca o nome ou IP do servidorgtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuterio

sintaxe requestcookies(nomedocookie)(paracircmetrodocookie)

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

A funccedilatildeo responseredirect redireciona o browser do cliente para o endereccedilocontido na variaacutevel URLnova no caso wwwaspbrasilcombrURLnova = httpwwwaspbrasilcombrresponseredirect(URLnova)gt lthtmlgtltheadgtlttitlegtresponseasplttitlegtltheadgtltbody bgcolor=FFFFFFgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsebuffer - avisa o browser do usuaacuterio que a paacutegina soacute deveraacute ser mostradaapoacutes ser totalmente carregada Eacute interessante para usar com a funccedilatildeoresponseredirect Observe o exemplo

sintaxe responsebuffer = truefalseltresponsebuffer = truegtlt htmlgtlt headgtlt titlegt responseasplt titlegtltheadgtltbodygtltresponsewrite Olaacute denovo Abaixo o uso da funccedilatildeo responsebuffer a qualquando tiver o valor true avisa o browser para mostrar as informaccedilotildees soacutedepois de totalmente carregadas Isto permite que haja um responseredirectem qualquer parte da paacutegina Mas quando tiver o valor false o browser mostraas informaccedilotildees assim que elas vatildeo chegandoresponseredirect httpwwwaspbrasilcombrgtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaresponsecookies - grava informaccedilotildees no cookie do browser

lthtmlgtltheadgtlttitlegtcookieslttitlegtltheadgtltbodygtlto comando time insere o horaacuterio atual do servidorresponsecookies(aspbrasil)(horariovisita) = timegt

ltbodygtlthtmlgt

Objeto RequestO objeto Request se refere a todos os dados requisitados pelo servidor ao clienteou seja qualquer informaccedilatildeo requisitada pelo servidor ao browser do usuaacuterioFunccedilotildees do Objeto Requestrequestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopostrequestQueryString - recurepa valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo getrequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio e sobreo servidor WEBrequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuteriorequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)exemplos

requestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopost

sintaxe requestform(nomedavariavel) ou simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=post action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acima

requestQueryString - recupera valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo get

sintaxe requestquerystring(nomedavariavel) ou tambeacutem simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=get action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)

lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio esobre o servidor WEB

sintaxe requestservervariables(valorsolicitado)Abaixo um exemplo de como conseguir alguns valores do Browser do usuaacuteriolthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltresponsewrite ltdivgt amp requestServervariables(remote_Addr) amp ltdivgtresponsewrite ltdivgt amp requestServervariables(server_name) amp ltdivgtrequestservervariables(remote_addr) busca o IP remoto do usuaacuteriorequestservervariables(server_name) busca o nome ou IP do servidorgtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuterio

sintaxe requestcookies(nomedocookie)(paracircmetrodocookie)

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

ltbodygtlthtmlgt

Objeto RequestO objeto Request se refere a todos os dados requisitados pelo servidor ao clienteou seja qualquer informaccedilatildeo requisitada pelo servidor ao browser do usuaacuterioFunccedilotildees do Objeto Requestrequestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopostrequestQueryString - recurepa valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo getrequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio e sobreo servidor WEBrequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuteriorequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)exemplos

requestform - recupera valores de variaacuteveis enviadas via formulaacuterio pelo meacutetodopost

sintaxe requestform(nomedavariavel) ou simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=post action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acima

requestQueryString - recupera valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo get

sintaxe requestquerystring(nomedavariavel) ou tambeacutem simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=get action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)

lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio esobre o servidor WEB

sintaxe requestservervariables(valorsolicitado)Abaixo um exemplo de como conseguir alguns valores do Browser do usuaacuteriolthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltresponsewrite ltdivgt amp requestServervariables(remote_Addr) amp ltdivgtresponsewrite ltdivgt amp requestServervariables(server_name) amp ltdivgtrequestservervariables(remote_addr) busca o IP remoto do usuaacuteriorequestservervariables(server_name) busca o nome ou IP do servidorgtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuterio

sintaxe requestcookies(nomedocookie)(paracircmetrodocookie)

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

requestQueryString - recupera valores de variaacuteveis enviadas via formulaacuterio pelomeacutetodo get

sintaxe requestquerystring(nomedavariavel) ou tambeacutem simplesmenterequest(nomedavariavel)Abaixo formulaacuterio de cadastramento

lthtmlgtltheadgtlttitlegtFormulaacuteriolttitlegtltheadgtltbodygtltform method=get action=retrieveaspgtltdivgtNome ltdivgtltinput type=text name=nomegtltdivgtEndereccedilo ltdivgtltinput type=text name=enderecogtltinput type=submit value=enviargtltbodygtlthtmlgta seguir a rotina de recuperaccedilatildeo destes dados preenchidos (nome e endereccedilo)

lthtmlgtltheadgtlttitlegtRecuperaccedilatildeo dos dadoslttitlegtltheadgtltbodygtltdivgtAbaixo nome e endereccedilo do usuaacuterio que preencheu o formulaacuterio ltdivgtltresponsewrite ltdivgtNome ltdivgt amp requestform(nome)responsewrite ltdivgtEndereccedilo ltdivgt amp requestform(endereco)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestservervariables - recupera informaccedilotildees sobre o browser do usuaacuterio esobre o servidor WEB

sintaxe requestservervariables(valorsolicitado)Abaixo um exemplo de como conseguir alguns valores do Browser do usuaacuteriolthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltresponsewrite ltdivgt amp requestServervariables(remote_Addr) amp ltdivgtresponsewrite ltdivgt amp requestServervariables(server_name) amp ltdivgtrequestservervariables(remote_addr) busca o IP remoto do usuaacuteriorequestservervariables(server_name) busca o nome ou IP do servidorgtltbodygtlthtmlgtclique aqui para rodar a rotina acimarequestcookies - recupera informaccedilotildees do cookie do browser do usuaacuterio

sintaxe requestcookies(nomedocookie)(paracircmetrodocookie)

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Abaixo rotina que adiciona (responsecookies) e que recupera (requestcookies)informaccedilotildees do cookie

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtlta funccedilatildeo time retorna o horaacuterio do servidorresponsecookies(aspbrasil)(horavisita) = timeacima rotina de criaccedilatildeo de cookieresponsewrite ltdivgt amp requestcookies(aspbrasil)(horavisita) amp ltdivgtacima rotina de recuperaccedilatildeo da informaccedilatildeo colocada no cookie de nomeaspbrasilgtltbodygtlthtmlgtrequestClientCertificate - mostra informaccedilotildees sobre o certificado de seguranccedila dousuaacuterio Somente eacute usado em sites com transmissatildeo segura de dados (https)

sintaxe requestclientcertificate(paracircmetro[sub-paracircmetro])abaixo exemplo de recuperaccedilatildeo de informaccedilotildees sobre um site seguro

lthtmlgtltheadgtlttitlegtServer Variableslttitlegtltheadgtltbodygtltreponsewrite ltdivgt amp responseclientcertificate(validfrom) amp ltdivgtretorna a data inicial da validade do certificadogtltbodygtlthtmlgt

Objeto ServerO objeto Server permite o acesso e a configuraccedilatildeo de algumas funccedilotildees e meacutetodosdiretamente ligados ao servidorFunccedilotildees do Objeto ServerserverScriptTimeOut - configuraccedilatildeo do Timeout de carregamento da paacuteginaserverHTMLEncode - codifica strings Usado para codificar strings que contenhamcaracteres especiaisserverURLEncode - transforma strings para o formato QueryStringserverMapPath - mapeia arquivos de acordo com o path fiacutesico a partir do pathvirtualserverCreatObject - permite abertura de instacircncias de objetos vinculados acomponentes ActiveX

exemplos

serverScriptTimeOut - Configura o tempo maacuteximo para execuccedilatildeo e carregamentoda paacutegina O tempo padratildeo eacute de 90 segundos

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe serverScriptTimeOut = tempolthtmlgtltheadgtlttitlegtTestando ScriptTimeOutlttitlegtltheadgtltbodygtltresponsewrite(serverscriptTimeOut amp ltBRgt)ServerScriptTimeOut = 120responsewrite(serverScriptTimeOut amp ltbrgt)gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverHTMLEncode - usa-se para codificar textos que contenham caracteresespeciais tais como gt ou lt Codificado o Browser saberaacute que o caractere faz partedo texto e entatildeo este caractere natildeo seraacute interpretado com coacutedigo Eacute usadotambeacutem para para codificar caracteres de outros idiomas de forma que o Browseridentifique o idioma e entatildeo exponha os siacutembolos corretos na tela

sintaxe serverHTMLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverHTMLEncode(ltltltOlaacute Mundogtgtgt))responsewrite(serverHTMLEncode(WELCOME TO MUumlNCHEN))os caracteres lt gt e Uuml satildeo caracteres especiais O comando HTMLEncodeassegura que esses coacutedigos seratildeo interpretados de forma correta peloBrowsergtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverURLEncode - URLs (Uniform Resource Locators) satildeo usados para requisitararquivos e informaccedilotildees em servidores WEB Muitas vezes os URLs natildeo conteacutemapenas o nome do arquivo mas tambeacutem carregam com eles valores de variaacuteveis noformato QueryString O comando serverURLEncode transforma strings de texto emstrings no formato QueryString

sintaxe requestURLEncode(string)lthtmlgtltheadgtlttitlegtHTML Encondelttitlegtltheadgtltbodygtltresponsewrite(serverURLEncode(testaspname= FernandoMedeirosampidade=25 anos))responsewrite(testasp amp serverURLEncode(name= FernandoMedeirosampidade=25 anos))

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

gtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverMapPath - retorna o path fiacutesico do arquivo a partir do path virtualNo caso dearquivos que natildeo tenham homocircnimos no mesmo domiacutenio a funccedilatildeo serverMapPatheacute capaz de localizar o arquivo no domiacutenio e retornar o path fiacutesico

sintaxe serverMapPath(path virtual)lthtmlgtltheadgtlttitlegtserverMapPathlttitlegtltheadgtltbodygtltresponsewrite(servermappath(testasp))a linha acima retorna o path fiacutesico do arquivo testasp no servidor No casocaspbrasiltestaspresponsewrite(serverMapPath(testasp))a linha acima retorna o mesmo path fiacutesico apesar de natildeo conter o pathvirtual e sim apenas o nome do arquivo Tal retorno soacute eacute possiacutevel se natildeoexistirem dois arquivos com o mesmo nome dentro do mesmo domiacuteniogtltbodygtlthtmlgtclique aqui para rodar a rotina acimaserverCreateObject - Eacute usado para gerar instacircncias de componentes para uso nosScripts Por padratildeo cada objeto criado a partir do componente eacute automaticamentedestruiacutedo ao acabar o processamento da paacutegina

sintaxe Set nomedadoaoobjeto = ServerCreateObject(iddoobjeto)lthtmlgtltheadgtlttitlegtCreate ObjectlttitlegtltheadgtltbodygtltSet objtexto = ServerCreateObject(ScriptingFileSystemObject)a linha acima criou uma instacircncia de objeto do componentescriptingfilesystemobject usado para acessar arquivos textoSet arquivotexto = objtextoOpenTextFile(ServerMapPath(testtxt))abre o arquivo texto dentro da instacircncia do objeto ScriptingFileSystemObjectresponsewrite arquivotextoreadlinea linha acima mostra a primeira linha de texto do arquivo abertoarquivotextoclosea linha abaixo destruiacuteu imediatamentegtltbodygtlthtmlgtclique aqui para rodar a rotina acima

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Componente FileAccessO componente File Access eacute um componente usado para acessar arquivos textoOs arquivos tipo texto muitas vezes satildeo usados como banco de dados de acessosequencial (nem sempre eacute vantagem se usar bancos de dados com acessoaleatoacuterio como o MSAccess ) Assim sendo foi necessaacuterio a criaccedilatildeo de umcomponente que permitisse a leitura e gravaccedilatildeo de dados nestes arquivos

sintaxe

conexatildeo com o componente Set fsObj =ServerCreateObject(ScriptingFileSystemObject)criaccedilatildeo do arquivo testtxt Set txtStreamObj =fsObjCreateTextFile(name[bOverWrite])abertura do arquivo testtxt para leitura ou gravaccedilatildeo Set txtStreamObj =fsObjOpenTextFile(name[iomode[bCreate[format]]])fsObj txtStreamObj satildeo variaacuteveis definidas pelo usuaacuterioname - nome do arquivo texto (colocar o path caso o arquivo se localize em outrapasta que natildeo a do arquivo ASP que possui este coacutedigo)bOverWrite - TRUE caso o arquivo existe ele eacute deletado e um novo eacute criadoFALSE caso o arquivo exista ele natildeo eacute substituiacutedoiomode - FROWRITING FORREADING modo de abertura do arquivo selecionado(para gravaccedilatildeo para leitura)bCreate - TRUE caso o arquivo selecionado para abertura natildeo exista ele eacute criadoformat - TRUE eacute criado um arquivo texto usando o formato Unicode FALSE eacutecriado um arquivo texto usando o formato ASCIIOs valores TRUE ou FALSE satildeo determinados de acordo com uma tabela existentenum arquivo chamado fobjvbsinc o qual deve ser incluiacutedo no coacutedigo da paacutegina queconteacutem o coacutedigo ASP de leitura do arquivo texto(veja exemplo mais abaixo)Abaixo uma tabela dos vaacuterios comandos desse componente

AtEndOfLineRetorna TRUE caso o ponteiro tenha chegado aofinal da linha Usado apenas em arquivos abertospara leitura

AtEndOfStreamRetorna TRUE caso o ponteiro tenha chegado aofinal do arquivo Usado apenas em arquivos abertospara leitura

Column Retorna o nuacutemero da coluna que o ponteiro seencontra A primeira coluna tem numeraccedilatildeo 1

Line Retorna o nuacutemero da linha que o ponteiro seencontra A primeira linha tem numeraccedilatildeo 1

Close Fecha um arquivo abertoRead Lecirc um determinado nuacutemero de caracteres do arquivo

ReadAllLecirc todo o arquivo Quando o arquivo for muitogrande usar outros meacutetodos de leitura como a leiturade linha por linha

ReadLine Lecirc uma linha inteira ou seja lecirc os caracteres queestatildeo entre a posiccedilatildeo do ponteiro e o final da linha

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Skip pula um determinado numero de caracteres

SkipLine pula uma linha inteira

Write grava uma determinada string para o arquivo

WriteLine grava uma determinada string para o arquivo eposiciona o ponteiro no iniacutecio da linha seguinte

WriteBlankLines grava uma determinada quantia de linhas brancas aoarquivo

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtComponente File AccessltTITLEgtltHEADgtltBODYgtlt--include file=fobjvbsinc--gtltSet objeto= CreateObject(ScriptingFileSystemObjects)a linha acima criou uma instacircncia do componente FileAccessSet gv = objetoOpenTextFile(ctesttxt ForWriting True False)a linha acima abre o arquivo Ctesttxt para gravaccedilatildeo Caso ele natildeo exista eacutecriado um (este coacutedigo tem exatamente o mesmo efeito do meacutetodoCREATETEXTFILEgvWriteline(Esta linha foi inserida com o uso do componente FileAccess)gvClosea linha acima fecha o arquivo aberto para gravaccedilatildeoobjeto=nothinga linha acima libera a variaacutevel objeto dessa forma ela natildeo fica armazenandovalores que natildeo seratildeo mais usados apoacutes o fechamento do arquivogtltpgtPronto Foi gravada a linha acimaltpgtltBODYgtltHTMLgt

Componente Browser CapabilitiesO componente Browser Capabilities tem como objetivo ser usado para determinarquais satildeo as propriedades que cada Browser (navegador) que estaacute acessando oseu site tem Desde o nome e versatildeo ateacute a detecccedilatildeo de suporte a JavaScript AppletJava Cookies etc Abaixo uma lista contendo as propriedades que podem serdeterminadas a partir do componente Browser Capabilites

ActiveXControls Especifica quando o browser suporta controlesActiveX

backgroundsounds Especifica quando o browser tem capacidade detocar som de fundo (back ground sound)

beta Especifica quando o brower eacute versatildeo betabrowser Especifica o nome do browsercookies Especifica se o browser aceita cookiesframes Especifica se o browser suporta framesjavaapplets Especifica se o browser suporta Applets Java (ou

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

em alguns casos se o suporte a Applets Java estaacuteativo)

javascript Especifica se o browser suporta JavaScript (ou emalguns casos se o suporte a Java Script estaacute ativo)

majorver Especifica o nuacutemero mais significativo da Versatildeo (naversatildeo 401 por exemplo eacute retornado o nuacutemero 4)

minorver Especifica os nuacutemeros menos significativos daVersatildeo (no exemplo acima retorna o nuacutemero 01)

platform Especifica em qual sistema operacional o browserestaacute instalado

tables Especifica se o browser suporta tabelas

vbscript

Especifica quando o browser suporta vbscript(processamento local de vbscript - natildeo haacute nada a vercom o vbscript usado na programaccedilatildeo ASP o qual eacuteprocessado no servidor)

version Retorna o nuacutemero da versatildeo do browser (exemplo401)

win16Especifica se o browser roda num computador comsistema operacional 16 bits (win3x) Vaacutelido somentepara Internet Explorer

Caso alguma dessas especificaccedilotildees natildeo seja definida pelo browser a stringUNKNOWN eacute retornada

sintax

Set bc = ServerCreateObject(MSWCBrowserType) = bcpropriedadelthtmlgtltheadgtltTITLEgtComponente browser CapabilitiesltTITLEgtltheadgtltbody bgcolor=FFFFFFgtlt Set bc = ServerCreateObject(MSWCBrowserType) gtBrowser lt=bcbrowser gtltpgtVersatildeo lt=bcversiongtltpgtlt if (bcframes = TRUE) then gtEste browser aceita framesltpgtltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta frameslt end if gtlt if (bctables = TRUE) then gtLegal Este browser aceita tabelasltpgtlt else gtEacute melhor vocecirc trocar de Browser Este natildeo suporta nem tabelaseacute bemvelhinholtpgtlt end if gtlt if (bcBackgroundSounds = TRUE)then gtEste browser permite que haja fundo musical nas paacuteginasltpgtlt else gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Ou este browser eacute bem antiguinho ou vocecirc realmente natildeo gosta de muitobarulholtpgtlt end if gtlt if (bcvbscript = TRUE) then gtEste Browser aceita processamento local de VBScriptltpgtlt else gtEste Browser natildeo permite o processamento local de VBScriptltpgtlt end if gtlt if (bcjavascript = TRUE) then gtEste Browser aceita processamento local de JavaScriptltpgtlt else gtEste Browser natildeo permite o processamento local de JavaScriptltpgtltend ifset bc=nothinggtltbodygtlthtmlgtclique aqui para rodar a rotina acima

ApplicationSession ObjO objeto Application tem como objetivo armazenar e compartilhar valores estados epropriedades de um grupo No caso valores comuns a todos os visitantes do sitecomo nuacutemero total de visitantes no site quantas pessoas estatildeo visitando o site nomomento etcO objeto session tem como objetivo armazenar e compartilhar valores estados epropriedades de cada visitante individualmente Satildeo bons exemplos o uso em lojasvirtuais onde a cesta de compras pode ser armazenada dentro de uma sessionO objeto Application eacute ativado quando for feita a primeira visita ao site e terminaquando o servidor for desligado (eacute permitido gravar todos esses valores em bancode dados assim natildeo haacute perda dos valores) Todo o script e coacutedigos dearmazenamento somente podem ser escritos em um arquivo chamado globalasaque deve permanecer na pasta raiz do siteO objeto session eacute criado para cada visitante cada vez que um visitante entra nosite e eacute destruiacutedo toda vez que este visitante sai do site Ao entrar no site cadavisitante recebe um ID (nuacutemero de identificaccedilatildeo) o qual eacute usado para identificar ousuaacuterio e para armazenar os valores estados e propriedades de cada visitanteindividualmenteO arquivo globalasa tem o seguinte formato

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartEnd subSub Application_OnEndEnd sub

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Sub Session_OnStartEnd subSub Session_OnEndEnd subltSCRIPTgtNos eventos Application_OnStart e Application_OnEnd estatildeo armazenados osvalores comuns a todos os visitantes Nos eventos Session_OnStart eSession_OnEnd estatildeo armazenados os coacutedigos scripts e valores usados nassessions (valores individuais para cada visitante)Meacutetodos dos Objetos Application e SessionApplicationLock -gt eacute usado para bloquear o acesso de outras paacuteginas ao eventoApplication_OnStart ou Application_OnEnd com excessatildeo da paacutegina que requisitouo bloqueio permitindo assim que somente esta paacutegina possa fazer alteraccedilotildees noeventoApplication_Unlock -gt Desbloqueia o acesso de outras paacuteginasEsses meacutetodos satildeo usados para que duas paacuteginas natildeo tentem alterar as mesmaspropriedades ou valores ao mesmo tempo Pois isso acarretaria numa perda deconsistecircncia dos dados armazenadosAbaixo um exemplo de como saber o nuacutemero de visitantes totais do site e o nuacutemerode visitantes no site no presente momento

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(Totalvisitas) = 0Application(datainicial) = nowApplication(Visitasatuais) = 0End subSub Application_OnEndEnd subSub Session_OnStartApplicationLockApplication(Totalvisitas) = Application(Totalvisitas) + 1Application(Visitasatuais) = Application(Visitasatuais) + 1ApplicationUnlockEnd subSub Session_OnEndApplicationLockApplication(Visitasatuais) = Application(Visitasatuais) -1ApplicationUnlockEnd subltSCRIPTgtabaixo coacutedigo para exibir esses valores

ltHTMLgtltheadergtlttitlegtApplication amp Sessionlttitlegtltheadergtltbodygtltresponsewrite Visitas totais desde amp application(datainicial) amp ampapplication(Totalvisitas)

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

responsewrite Visitantes no site no momento amp application(Visitasatuais)gtltbodygtlthtmlgt

Componente DatabaseO componente Database Access eacute um componente usado para acessar bancos dedados de acesso aleatoacuterio tais como Access SQLServer DBF Oracle O componente Database Access permite a consulta inserccedilatildeo alteraccedilatildeo e exclusatildeode dados nos bancos de dadosTais operaccedilotildees satildeo geralmente feitas atraveacutes decomandos SQL (Structured Query Language) a qual seraacute exemplificada maisabaixoEste tutorial natildeo conteacutem todos os comandos e possibilidades de uso do componenteDatabase Access uma vez que este eacute muito grande e complexo mas os comandose meacutetodos mais utilizados estatildeo citados neste documento

sintaxe

conexatildeo com o componente Set Conn =ServerCreateObject(ADODBConnection)abertura de um banco de dados jaacute existente ConnOpen nome da ligaccedilatildeo ODBCou path do BD UserID Senhaexecuccedilatildeo de comandos SQL Set rsQuery = ConnExecute(string SQL)um modo alternativo de se abrir um banco de dados para gravaccedilatildeoSet RS = ServerCreateObject(ADODBRecordSet)RSOpen tabela Conn adOpenKeyset adLockOptimisticPara o funcionamento correto do componente ASP o arquivo adovbsinc deve serincluiacutedo no coacutedigo da paacutegina que conteacutem o coacutedigo de manipulaccedilatildeo do banco dedadosAbaixo uma tabela com alguns dos comandos mais usados desse componente

EOF Retorna TRUE caso o ponteiro tenha chegado aofinal do arquivo(depois do uacuteltimo registro)

BOF Retorna TRUE caso o ponteiro esteja posicionado noiniacutecio do arquivo(antes do primeiro registro)

MoveFirst Posiciona o ponteiro para o iniacutecio do banco de dadosMoveLast Posiciona o ponteiro no final do banco de dados

MoveNext Move o ponteiro 1 registro adiante no banco dedados

MovePrevious Move o ponteiro para o registro anterior no banco dedados

AddNewAdiciona um novo registro ao banco de dados Eacuteusado quando ao inveacutes de usar SQL abre-se obanco de dados no modo RecordSet

Update Salva as alteraccedilotildees feitas no banco de dados nomodo RecordSet

Veja os exemplos a seguir

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

ltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastroltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o path fiacutesico do banco de dados noservidor poderia armazenar no lugar do path o nome da conexatildeo ODBCcaso esta tenha sido criada (como seraacute visto no proacuteximo exemplo)ConnString=DBQ=easpbrasiltestemdbDriver=Microsoft Access Driver(mdb)Set Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo sejausado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtAdicionando um novo registro ao banco de dadoscadastro usando ligaccedilatildeo ODBCltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctesteSet Conn = ServerCreateObject(ADODBConnection)Set RS = ServerCreateObject(ADODBRecordSet)ConnOpen ConnStringRSOpen cadastro Conn adOpenKeyset adLockOptimisticRSAddnewRS(nome) = Joatildeoa linha acima atribui o valor Joatildeo ao campo nome nesse novo registroRS(email) = joaoaspbrasilcombra linha acima atribui o valor joaoaspbrasilcombr ao campo email do bancode dadosRSupdatea linha acima confirma a inclusatildeo dos dados Caso este comando natildeo seja

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

usado o registro natildeo eacute inseridoRSCloseSet Conn = nothingSet RS = nothinggtltpgtPronto Foi gravado o registro acimaltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma consulta SQL e mostrando os dadosobtidos em uma tabelaltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a consulta no bancode dados No caso pede-se para gerar uma consulta onde apenas os registrosonde o campo NOME eacute igual ao valor JOAtildeOSQLstring = select from cadastro where nome = joatildeo Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)a linha acima gerou uma consulta chamada rsQuery todos os registros quesatisfazem a SQLstring estatildeo armazenados nesta variaacutevelgtlttablegtlttrgtlttdgtNomelttdgtlttdgtemaillttdgtlttrgtltWhile not rsQueryEOFgtlttrgtlttdgtlt=rsQuery(nome)valuegtlttdgtlttdgtlt=rsQuery(email)valuegtlttdgtlttrgtltrsQueryMovenextWendgtlttablegtltrsQueryCloseset Conn = nothingSet rsQuery = nothinggtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma alteraccedilatildeo via SQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbcteste

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

a variaacutevel abaixo guarda a string SQL usada para fazer a atualizaccedilatildeo nobanco de dados No caso pede-se para mudar o nome e o email do registro decoacutedigo 5SQLstring = update cadastro set nome = maria andemail=mariaaspbrasilcombr Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)rsQueryCloseSet Conn = nothingSet rsQuery = nothinggtltpgtArquivo alteradoltpgtltBODYgtltHTMLgtltHTMLgtltHEADgtltTITLEgtFazendo uma exclusatildeo de registro viaSQLltTITLEgtltHEADgtltBODYgtlt--include file=adovbsinc--gtlta variavel abaixo - Connstring - guarda o nome da conexatildeo ODBC (haacute anecessidade de a ligaccedilatildeo ODBC jaacute estar criada)ConnString=odbctestea variaacutevel abaixo guarda a string SQL usada para fazer a exclusatildeo do registrono banco de dados No caso pede-se para excluir o(s) registro(s) onde ocoacutedigo eacute 5 Por se tratar de um nuacutemero e natildeo de uma string o valor do coacutedigono caso 5 natildeo fica entre aspasSQLstring = delete from cadastro where codigo = 5 Set Conn = ServerCreateObject(ADODBConnection)ConnOpen ConnStringSet rsQuery = ConnExecute(SQLstring)Set rsQuery = nothingSet Conn = nothinggtltpgtRegistro ExcluiacutedoltpgtltBODYgtltHTMLgt

Server VariablesServer Variables

ServerVariables eacute um conjunto de variaacuteveis de sistema que podem indicar desde oIP remoto protocolo HOST do servidor de acesso do usuaacuterio etcsintaxe

valor = RequestServerVariables(variaacutevel)Abaixo uma tabela com as principais variaacuteveis desse conjunto

CONTENT_LENGTH Retorna o tipo de conteuacutedo que foi enviado aoservidor

QUERY_STRING String que sucede o no endereccedilo URL

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

REMOTE_ADDR IP do usuaacuterio

REMOTE_HOSTNome do servidor correspondente aoREMOTE_ADDR (nome do provedor de acesso dousuaacuterio)

REQUEST_METHOD Meacutetodo usado para transmissatildeo das variaacuteveis de umapaacutegina para outra (GET ou POST)

SERVER_NAME Nome do servidor de hospedagem como usado noURL (pode ser o IP ou DNS)

URL endereccedilo URL requisitado (sem a query_string)Veja os exemplos a seguirltHTMLgtltHEADgtltTITLEgtServer Variables ltTITLEgtltHEADgtltBODYgtltpgto IP usado pela sua conexatildeo eacutelt=requestservervariables(REMOTE_ADDR)gtltpgtltBODYgtltHTMLgtclique aqui para rodar a rotina acima

CookiesCookies satildeo pequenos arquivos no formato txt gravados nos computadores dosusuaacuterios contendo informaccedilotildees que podem ser recuperadas posteriormente

sintaxe

gravaccedilatildeo de informaccedilotildees no cookie

responsecookies(nomedocookie)(nomedoparametro) =valordoparacircmetrorecuperaccedilatildeo de informaccedilotildees do cookie variaacutevel =requestcookies(nomedocookie)(nomedoparametro)determinaccedilatildeo da data de expiraccedilatildeo do cookieResponseCookies(nomedocookies)Expires = data no formato mmddaaobs caso natildeo seja determinada uma data de expiraccedilatildeo o cookie seraacute apagadoassim que o browser for fechadoVeja os exemplos a seguirltresponsecookies(aspbrasilteste)(data) = nowresponsecookies(aspbrasilteste)(nome) = Joatildeoas linhas acima criaram o cookie aspbrasil e 2 paracircmetros data e nomeresponsecookies(aspbrasilteste)expires = 62599a linha acima determina uma data de expiraccedilatildeo do cookiegtltHTMLgtltHEADgt ltTITLEgtCriando um cookieltTITLEgtltHEADgtltBODYgtltresponsewrite O cookies aspbrasilteste foi criado em amprequest(aspbrasilteste)(data)responsewrite Quem criou foi amp request(aspbrasilteste)(nome)

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

gtltBODYgtltHTMLgtclique aqui para rodar o coacutedigo acima

Objetos Application e SessionO objeto Application foi criado para armazenar propriedades (valores) ligados a umconjunto de usuaacuterios No caso os visitantes do site de um modo geral Comoexemplo podemos citar o nuacutemero total de visitantes no site a partir de umadeterminada data ou o nuacutemero de visitantes online no siteO objeto Session foi criado para armazenar propriedades (valores) ligados a cadavisitante individualmente Como exemplo podemos citar o carrinho de compras deum site de comeacutercio onlineUma Session eacute criada quando o visitante entra no site (cada visitante tem umasession e cada session recebe um ID) e eacute destruiacuteda quando o visitante sai do site(seja por logoff expliacutecito ou por TimeOut) Jaacute uma Application eacute iniciada ao haver oprimeiro pedido de acesso ao objeto Application e eacute encerrado quando o servidorfor desligadoTodo o coacutedigo que se deseja executar ao criar ou destruir uma session bem comouma Application devem estar contidos no arquivo globalasa um arquivo texto noformato abaixo demonstrado que deve ser colocado no diretoacuterio raiz do siteAs variaacuteveis do objeto Application e do objeto Session satildeo armazenadas noservidor mas eacute necessaacuterio que o browser aceite cookies pois um cookie com o IDda sessatildeo eacute criado no computador do visitante para identificaacute-lo

Veja o exemplo abaixo

Listagem do arquivo globalasa

ltSCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVERgtSub Application_OnStartApplication(totaldeusuarios) = 0Application(datainicial) = nowApplication(usuariosonline) = 0End SubSub Application_OnEndEnd SubSub Session_OnStartSessionTimeOut = 20ApplicationLockApplication(totaldeusuarios) = Application(totaldeusuarios) + 1Application(usuariosonline) = Application(usuariosonline) + 1ApplicationUnlockEnd SubSub Session_OnEndApplicationLockApplication(usuariosonline) = Application(usuariosonline) - 1

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

ApplicationUnlockEnd SubltSCRIPTgtAbaixo o coacutedigo de uma paacutegina que armazena um valor numa variaacutevel de sessatildeo emostra o total de usuaacuterios conectados e o total de visitantes no site

lthtmlgtltheadgtlttitlegtApplication e Sessionlttitlegtltheadgtlt Session(variavelqualquer) = Este valor foi inserido na variaacutevel desessatildeo de nome variavelqualquer gtltbodygtltpgtNuacutemero da Sessatildeo lt=SessionSessionIDgtltpgtltpgtExistem no momento lt=Application(usuariosonline)gt usuaacuteriosconectadosltpgtltpgtTotal de visitantes no site desde lt=Application(datainicial)gt lt=Application(totaldeusuarios)gtltpgtltpgtAbaixo a string que foi inserida na variavel variavelqualquerltpgtltpgtlt=Session(variavelqualquer)gtltpgtlt SessionAbandon gtltbodygtlthtmlgtclique aqui ara rodar a rotina acimaOs comandos Lock e Unlock servem para garantir que somente um visitante estaraacutealterando as variaacuteveis por vez O comando Lock bloqueia a acesso de outrosvisitantes agraves variaacuteveis e o Unlock desbloqueiaO comando SessionSessionID retorna o valor do ID da sessatildeoO comando SessionTimeOut determina qual o tempo maacuteximo em minutos deinatividade do visitante ateacute que a sessatildeo possa ser considerada abandonadaO comando SessionAbandon termina a sessatildeo iniciada explicitamente (natildeo eacutenecessaacuterio esperar o vencimento do TimeOut para considerar a sessatildeoabandonada)A procedure Application_OnStart conteacutem a rotina que seraacute rodada quando o objetoApplication for iniciadoA procedure Application_OnEnd conteacutem a rotina que seraacute executada quando oobjeto Application for terminado (qdo o servidor for desligado)A procedure Session_OnStart conteacutem o coacutedigo que seraacute rodado quando umasessatildeo for iniciadaA procedure Session_OnEnd conteacutem o coacutedigo que seraacute rodado quando uma sessatildeofor terminada (por timeout ou logoff expliacutecito)

ProceduresAlgumas vezes em programaccedilatildeo uma mesma sequecircncia de coacutedigos precisa serusado constantemente Ao inveacutes de copiaacute-los toda vez que for preciso pode-se usaras Procedures Procedures satildeo caixas pretas onde vc entra com alguns dados acaixa preta processa e no caso das Functions retorna outros valores de acordo

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

com um algoriacutetimo Existem dois tipos de Procedures as Subs e as FunctionsObserve os

exemplos abaixo

lthtmlgtltbodygtltFunction soma(valor1valor2)If valor1 = then valor1 = 0If valor2 = then valor2 = 0soma = valor1 + valor2End Functionacima a funccedilatildeo denominada soma foi apresentadaabaixo uma chamada agrave funccedilatildeo foi feita Entatildeo a funccedilatildeo executa a rotina eretorna um determinado valor no caso 5responsewrite soma(23)gtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaJaacute uma Sub simplesmente executa uma accedilatildeo natildeo retornando valor algum

lthtmlgtltbodygtltSub visualizar_nome(nome)responsewrite O nome do site eacute amp nomeEnd Subacima a procedure do tipo Sub foi denominada visualizar_nomeresponsewrite Qual eacute o site sobre ASP que oferece Tutoriais Newsgroups eLinks a seus visitantesCall visualizar_nome(ASPBRASIL)responsewrite ltdivgtlta href=wwwaspbrasilcombrgtHomeltagtltdivgtacima o comando Call faz a chamada agrave Sub visualizar_nome Como pode-seperceber uma Sub natildeo retorna nenhum valor e sim executa uma accedilatildeogtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase 0123456789101112responsewrite Bom Diacase 13141516171819responsewrite Boa Tardecase 2021222324responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select CaseExistem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeode acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixolthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

IfThenElse Select Case

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Existem 2 comandos capazes de identificar o conteuacutedo de uma determinadavariaacutevel e de acordo com esse valor executar uma determinada rotina

IfThenElseSelect Case

IfThenElseO comando IfThenElse possibilita verificar se uma determinada variaacutevel estaacute ounatildeo de acordo com um criteacuterio de seleccedilatildeo Observe o exemplo abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)If variavel_qualquer lt 19 thenresponsewrite Bom DiaElseresponsewrite Boa NoiteEnd ifo comando IFthenElse comparou o valor da variavel variavel_qualquercom um determinado valor estipulado (no caso 19) Se o valor for menor que19 entatildeo escreva na tela Bom Dia Caso contraacuterio (Else) Boa Noitegtltbodygtlthtmlgtclique aqui para rodar o coacutedigo acimaSelect CaseO comando Select Case permite um maior controle sobre os valores de umadeterminada variavel Observe o Exemplo Abaixo

lthtmlgtltbodygtltvariavel_qualquer = hour(now)Select Case variavel_qualquercase is gt 0 and qualquer_variavel lt 12responsewrite Bom Diacase os gt 12 and qualquer_variavel lt 19responsewrite Boa Tardecase gt 19 and qualquer_variavel lt 24responsewrite Boa NoiteCase elseresponsewrite Este reloacutegio estaacute malucoEnd Selectgtltbodygtlthtmlgtobserve que o comando Select Case deve ser fechado com o comando EndSelectclique aqui para rodar o coacutedigo acima

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acima

ForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWend

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

O comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgtpara interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNextO comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimpostaseja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Rotinas de LoopLoops satildeo rotinas que devem ser repetidas ateacute que uma determinada condiccedilatildeo sejasatisfeita Existem 3 comandos que permitem tal situaccedilatildeo

DoLoopForNextWhileWend

Abaixo seguem as caracteriacutesticas e exemplos de cada comando

DoLoopO comando DoLoop executa uma determinada rotina ateacute que a condiccedilatildeo se torneverdadeira Observe o exemplo abaixo

lthtmlgtltbodygtltx = 0Do Until x=10x = x + 1Loopresponsewrite xgtltbodygtlthtmlgt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

para interromper o Loop usa-se o comando Exit Doclique aqui para rodar o coacutedigo acimaForNext

O comando ForNext executa uma determinada rotina ateacute que o contador (umavariaacutevel) atinja o valor determinado Observe o exemplo

lthtmlgtltbodygtltFor i=1 to 50responsewrite inextgtltbodygtlthtmlgtobserve que natildeo eacute necessaacuterio nenhuma rotina de incrementaccedilatildeo de valoresem i A cada ciclo o valor de i eacute acrescido de uma unidade automaticamentepara interromper o Loop usa-se o comando Exit Forclique aqui para rodar o coacutedigo acimaWhileWendO comando WhileWend executa uma determinada rotina ateacute que a condiccedilatildeoimposta seja alcanccedilada Observe o exemplo dado

lthtmlgtltbodygtltq = SELECT FROM cadastro where cidade = Satildeo Pauloconnstring = DBQ=ctestemdbDriver=Microsoft Access Driver (mdb)Set Conexao = ServerCreateObject(ADODBConnection)ConexaoOpen connstring Set tabela = ConexaoExecute (q)While not tabelaEOFresponsewrite tabela(nome)valuewendgtltbodygtlthtmlgt

Tipos de Dados

O VBScript conteacutem apenas um tipo de variaacutevel denominado Variant O tipo variantpode armazenar qualquer tipo de dado e de acordo com o tipo de dados que eacutearmazenado eacute possiacutevel classifica-lo de acordo com os subtipos de dados abaixorelacionados

Subtipo DescriccedilatildeoEmpty Variaacutevel que conteacutem 0 para valores numeacutericos e (string

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

vazia) para stringsNull Variaacutevel que natildeo conteacutem dado algumBoolean Conteacutem True ou FalseByte Nuacutemeros inteiros entre 0 e 255Integer Nuacutemeros inteiros no intervalo de -32768 a 32767

Long Nuacutemeros inteiros no intervalo de -2147483648 a2147483647

SingleNuacutemeros com ponto flutuante de precisatildeo simples na faixa de -3402823E38 a -1401298E-45 para nuacutemeros negativos e1401298E-45 a 3402823E38 para nuacutemeros positivos

DoubleNuacutemeros com ponto flutuante de dupla precisatildeo na faixa de -179769313486232E308 a -494065645841247E-324 paranuacutemeros negativos e 494065645841247E-324 a179769313486232E308 para nuacutemeros positivos

Date(Time)

Dados no formato de Data (data e tempo) na faixa de 1 dejaneiro de 100 a 31 de dezembro de 999 (January 1 100 aDecember 31 9999)

String Conteacutem dados no formato de string que podem ter ateacuteaproximadamente 2 bilhotildees de caracteres de tamanho

PS eacute possiacutevel a conversatildeo de dados de um tipo para outro mas para isso osdados devem ser compatiacuteveis com o subtipo desejado ou seja a String 23599pode ser convertida para o subtipo Date e vice-versa Mas a String ASPBRASILnatildeo podeEacute importante a conversatildeo de tipos de dados uma vez que o modo como os dadosseratildeo manipulados dependem do seu subtipo

Convertendo DadosVerificando e Convertendo Tipos de Dados A linguagem VBScript conteacutem algumasfunccedilotildees de verificaccedilatildeo e conversatildeo de tipos de dados importantes para a melhor

manipulaccedilatildeo dos dadosAs funccedilotildees de verificaccedilatildeo satildeo importantes na hora de detectar se os dados contidosnuma variaacutevel satildeo compatiacuteveis com o subtipo para o qual se deseja converter estes

dadosAs funccedilotildees de conversatildeo fazem a conversatildeo de dados de um subtipo para outro

mas para isso eacute necessaacuterio que esses dados sejam compatiacuteveis com o subtipo quese deseja obter

Funccedilotildees de VerificaccedilatildeoIsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funccedilotildees de ConversatildeoCBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

IsArray - retorna True caso a variaacutevel seja um array caso contraacuterio retorna False

sintaxe IsArray(nomedavariavel)

ltDim aspbrasilDim Arraybrasil(5)responsewrite IsArray(aspbrasil) retorna falseresponsewrite IsArray(Arraybrasil) retorna truegt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

IsEmpty - retorna True caso a variaacutevel contenha o valor 0 ou caso contraacuterioretornaFalse

sintaxe IsEmpty(nomedavariavel)

ltaspbrasil = aspbrasil2 = 0aspbrasil3 = ASPBRASILresponsewrite IsEmpty(aspbrasil) retorna trueresponsewrite IsEmpty(aspbrasil2) retorna trueresponsewrite IsEmpty(aspbrasil3) retorna falsegt

IsNull - retorna True caso a variaacutevel natildeo contenha dados vaacutelidos

sintaxe IsNull(nomedavariavel)

ltaspbrasil = 23599responsewrite IsNull(aspbrasil) retorna falsegt

IsNumeric - retorna True caso o valor da variaacutevel possa ser convertido para algumtipo de dados numeacutericos

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

A conversatildeo de tipo de dados numeacutericos entre si ou seja de um nuacutemero Doublepara o formato Sng pode acarretar a perda de dados ou mesmo podem serimcompatiacuteveis uma vez que existem faixas de atuaccedilatildeo para cada tipo de dado

sintaxe IsNumeric(nomedavariavel)

ltaspbrasil = 23aspbrasil2 = 56responsewrite IsNumeric(aspbrasil) retorna trueresponsewrite IsNumeric(aspbrasil2) retorna truegt

CBool - retorna True ou False (0 ou 1) de acordo com a expressatildeo analisada oucom o valor da variaacutevel

sintaxe CBool(nomedavariavel ou expressatildeo)

ltaspbrasil = 5aspbrasil2 = 5aspbrasil3 = 0responsewrite CBool(aspbrasil = aspbrasil2) retorna trueresponsewrite CBoll(aspbrasil3) retorna falsegt

CByte - converte a expressatildeo dada em um dado do subtipo Byte

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite IsArray(aspbrasil) retorna 23responsewrite IsArray(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

CDbl - converte a expressatildeo dada em um dado do subtipo Double

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe CDbl(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 346767786543E56responsewrite CDbl(aspbrasil2)gt

CInt - converte a expressatildeo dada em um dado do subtipo Integer A diferenccedila parao subtipo Byte eacute a faixa de abrangecircncia

sintaxe CInt(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CIntaspbrasil) retorna 23responsewrite CInt(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CLng - converte a expressatildeo dada em um dado do subtipo Long A diferenccedila para osubtipo byte eacute a faixa de abrangecircncia

sintaxe CByte(nomedavariavel ou expressatildeo)

ltaspbrasil = 23aspbrasil2 = 3467responsewrite CLng(aspbrasil) retorna 23responsewrite CLng(aspbrasil2) retorna 35 pois haacute um arredondamentogt

CSng - converte a expressatildeo dada em um dado do subtipo Single

sintaxe CInt(nomedavariavel ou expressatildeo)ltaspbrasil2 = 88734679999responsewrite CInt(aspbrasil2)gt

CStr- converte a expressatildeo dada em um dado do subtipo String Qualquer outro tipode dado dos listados acima pode ser convertido em String

sintaxe CStr(nomedavariavel ou expressatildeo)

ltaspbrasil2 = 3467responsewrite CStr(aspbrasil2) retorna 23gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Manipulando NuacutemerosManipulando Datas

O VBScript conteacutem vaacuterias funccedilotildees utilizadas para a manipulaccedilatildeo de dadosnumeacutericos Abaixo uma lista das principais funccedilotildees Os operadores baacutesicos (+-^) estatildeo descritos no tutorial sobre Operadores Baacutesicos do VBScript

Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan

Abs - retorna o moacutedulo do valor de entrada

sintaxe Abs(nuacutemero)

ltaspbrasil = -78responsewrite Abs(aspbrasil)gt

Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos)

sintaxe Atn(nuacutemero)

ltaspbrasil = 1responsewrite Atn(aspbrasil)gt

Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos)

sintaxe Cos(angulo)ltaspbrasil = 31416responsewrite Cos(aspbrasil)gt

Exp - retorna o valor de e (euler) elevedo ao valor de entrada (e^x)

sintaxe Exp(numero)

ltaspbrasil = 3responsewrite Exp(aspbrasil)gt

Fix - retorna a parte inteira de um nuacutemero

sintaxe Fix(nuacutemero)

ltaspbrasil = 78778

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

responsewrite Fix(aspbrasil)gt

Int - retorna a parte inteira de um nuacutemero Caso o nuacutemero seja negativo eacuteretornado o valor imediatamente menor

sintaxe Int(nuacutemero)

ltaspbrasil = -78389responsewrite Int(aspbrasil)gt

Log - retorna o valor do Log do nuacutemero de entrada na base e

sintaxe Log(nuacutemero)

ltaspbrasil = 4responsewrite Log(aspbrasil)gt

Sin - retorna o valor do seno de um angulo entrado em radianos

sintaxe Sin(angulo)ltaspbrasil = 31416responsewrite Sin(aspbrasil)gt

Sqr - retorna o valor da raiz quadrada do nuacutemero de entrada(valor deve ser maiorou igual a zero)

sintaxe Sqr(numero)

ltaspbrasil = 4responsewrite Sqr(aspbrasil)igt

Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos)

sintaxe Tan(angulo)

ltaspbrasil = 2responsewrite Tan(aspbrasil)gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Manipulando DatasManipulando Datas

O VBScript possibilita a obtenccedilatildeo e manipulaccedilatildeo de dados no formato Data eTempo facilmente Abaixo uma lista das principais funccedilotildees relacionadas a essetoacutepico

CDate - Date - DateSerial - Day - Hour - IsDate - Minute - Month - Now - Second -Time - TimeSerial - TimeValue - Weekday - Year

CDate - converte a expressatildeo dada em um dado do subtipo Date

sintaxe CDate(nomedavariavel)

ltaspbrasil = 23599responsewrite CDate(aspbrasil) convertendo strings de data e tempo para o subtipoDate eacute possiacutevel fazer operaccedilotildees matemaacuteticas com essas datas somando diasmeses segundos anosgt

Date - retorna a data do sistema (a data que consta no reloacutegio do servidor)sintaxe Date

ltresponsewrite Dategt

DateSerial - retorna um valor do subtipo data para um determinado valor de anomes e dia ou seja entrando esses 3 valores respectivamente a funccedilatildeo DateSerialretorna a data respectiva no formato Date

sintaxe DateSerial(year month day)

ltresponsewrite DateSerial(991223)gt

Day - retorna um nuacutemero entre 1 e 31 representando o dia de uma determinadadata

sintaxe Day(data)

ltresponsewrite Day(now)gt

Hour - retorna um nuacutemero entre 0 e 23 representando a hora de uma determinadaexpressatildeo de tempo

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe Date

ltresponsewrite Dategt

IsDate - retorna True caso o valor da variaacutevel possa ser convertido em data casocontraacuterio retorna False

sintaxe IsDate(nomedavariavel)

ltaspbrasil = 23599aspbrasil2 = ASPBRASILresponsewrite IsDate(aspbrasil) retorna trueresponsewrite IsDate(aspbrasil2) retorna falsegt

Minute - retorna um nuacutemero entre 0 e 59 representando os minutos de umadeterminada expressatildeo de tempo

sintaxe Minute(tempo)

ltresponsewrite Minute(now)gt

Month - retorna um nuacutemero entre 1 e 12 representando o mecircs de uma determinadadata

sintaxe Month(data)

ltresponsewrite Month(now)gt

Now - retorna a data e o horaacuterio do reloacutegio do servidor

sintaxe Now

ltresponsewrite Nowgt

Second - retorna um nuacutemero entre 0 e 59 representando os minutos do sistema (ominuto que consta no reloacutegio do servidor)sintaxe Second(tempo)

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

ltresponsewrite Second(now)gt

Time - retorna o horaacuterio do reloacutegio do sistema

sintaxe Time

ltresponsewrite Timegt

TimeSerial - retorna uma expressatildeo do tipo Date contendo o tempo para uma dadahora minuto e segundo

sintaxe TimeSerial(horaminutosegundo)ltresponsewrite TimeSerial(221133)gt

Weekday - retorna o dia da semana de uma determinada data

sintaxe Weekday(date)

ltresponsewrite weekday(now)gt

Year - retorna o ano de uma determinada data

sintaxe Year(data)

ltresponsewrite Year(now)gt

Manipulando StringsO VBScript disponibiliza algumas funccedilotildees utilizadas na manipulaccedilatildeo de StringsAbaixo as principais funccedilotildees que entre outras coisas permitem saber o nuacutemero decaracteres de uma string encontrar determinado caracter dentro de uma stringcomparar duas strings etc

Asc - Chr - CStr - InStr - Lcase - Left - Len - LTrim - Mid - Right - RTrim - Trim -UCase

Asc - Retorna o caracter (pela tabela ANSI) correspondente agrave primeira letra dastring de entrada

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe Asc(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil)gt

Chr -Retorna o caracter correspondente a um determinado codigo (numerico) databela ANSI

sintaxeChr(codigo)ltresponsewrite Chr(34)gt

CStr - Converte uma expressatildeo para o formato String Caso uma variaacutevel seja umnuacutemero ela seraacute convertida numa string que represente tal nuacutemero Se for umadata essa data seraacute convertida numa string que represente tal data

sintaxe CStr(expressatildeo)

ltaspbrasil = 458responsewrite CStr(aspbrasil) retorna a string sequencia de caracteres 458 enatildeo o nuacutemero 458gt

InStr - Retorna a posiccedilatildeo da primeira ocorrecircncia de uma string dentro da outra Eacutepossiacutevel delimitar a partir de qual caracter seraacute feita tal procura

sintaxeInStr(posicaoinicial string stringdecomparaccedilatildeo)

ltaspbrasil = aspbrasil site sobre ASP em Portuguecircsresponsewrite Instr(4aspbrasilASP) 4 eacute a posiccedilatildeo a partir da qual a procura seraacutefeitagt

LCase - Converte todos os caracteres de uma string para minuacutesculas

sintaxe LCase(string)

ltaspbrasil = ASPBRASILresponsewrite LCase(aspbrasil) deve retornar ASPBRASILgt

Left - Retorna um determinado nuacutemero de caracteres a partir do lado esquerdo dastring

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe Left(string numerodecaracteres)

ltaspbrasil = aspbrasil site sobre ASPresponsewrite Left(aspbrasil4) deve retornar aspbgtLen - Retorna o nuacutemero de caracteres numa string (contando espaccedilos em branco)ou no caso de variaacuteveis numeacutericas ou no formato Date retorna a quantidade debytes necessaacuterios para armazenar aquela expressatildeo

sintaxe Asc(stringexpressatildeo)

ltaspbrasil = aspbrasilresponsewrite Len(aspbrasil) retorna 9gt

LTrim - Retorna a coacutepia da string de entrada mas os espaccedilos no comeccedilo do ladoesquerdo

sintaxe LTrim(string)

ltaspbrasil = lt--Trim-gt responsewrite Asc(aspbrasil) retorna lt--Trim-gt gt

Mid - Funccedilatildeo usada para cortar uma string Delimita-se a posiccedilatildeo inicial a string ea quantidade de caracteres a partir da posiccedilatildeo inicial que devem ser capturados

sintaxe Mid(string posicaoinicial tamanho)

ltaspbrasil = aspbrasilresponsewrite Mid(aspbrasil14) deve retornar aspbgt

Right - Retorna um determinado nuacutemero de caracteres a partir do lado direito dastring

sintaxe Right(string numerodecaracteres)

ltaspbrasil = aspbrasilresponsewrite Right(aspbrasil3) deve retornar silgt

RTrim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no final dastring

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe RTrim(string)ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

Trim - Retorna uma coacutepia da string de entrada mas sem os espaccedilos no iniacutecio e nofinal da string

sintaxe Trim(string)

ltaspbrasil = aspbrasil responsewrite Asc(aspbrasil) deve retornar aspbrasilgt

UCase - Converte toda a string para MAIUacuteSCULAS

sintaxe UCase(string)

ltaspbrasil = aspbrasilresponsewrite Asc(aspbrasil) deve retornar ASPBRASILgt

OperadoresExistem alguns caracteres e funccedilotildees que permitem a ligaccedilatildeo de uma ou maisexpressotildees de vaacuterios modos diferentes Tais funccedilotildees e caracteres satildeo chamadosOperadores Abaixo uma lista dos mais importantes

+ - and amp Eqv ^ Imp Mod Not Or Xor

+ (mais)- Usado para somar dois valores numeacutericos

sintaxe resultado = expressatildeo1 + expressatildeo2

ltaspbrasil = 5 + 6responsewrite (aspbrasil)gt

-(menos) -Faz a subtraccedilatildeo entre dois nuacutemeros ou indica valor negativo numaexpressatildeo numeacuterica

sintaxeresultado = nuacutemero1 - nuacutemero2

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

ltresponsewrite (12 - 6)gt

(multiplicar) - Usado para multiplicar dois valores numeacutericos

sintaxe resultado = expressatildeo1 expressatildeo2

ltaspbrasil = 5 6responsewrite (aspbrasil)gt

(dividir) - Usado para dividir um valor por outrosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt - Usado para dividir um valor por outro e retornar um valor inteirosintaxe resultado = numeradordenominador

ltaspbrasil = 317responsewrite (aspbrasil)gt

and - Usado para validar um conjunto de duas expressotildees loacutegicas Se e somentese as duas expressotildees tiverem como resulado TRUE eacute retornado TRUE Casocontraacuterio eacute retornado FALSE

sintaxe resultado = expressatildeo1 and expressatildeo2

ltaspbrasil = (7gt4) and (4lt8)responsewrite (aspbrasil)gt

amp - Usado para somar duas cadeias de caracteres (strings)

sintaxe resultado = string1 amp string2

ltaspbrasil = ASPBRASIL amp Site sobre ASP na lingua portuguesaresponsewrite (aspbrasil)gt

Eqv - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsefalse true falsefalse false true

sintaxe resultado = expressatildeo1 Eqv expressatildeo2

ltaspbrasil = (6lt4) Eqv (8gt9)responsewrite (aspbrasil)gt

^ - Usado para elevar um nuacutemero a outro

sintaxe resultado = nuacutemero1^nuacutemero2

ltaspbrasil = 6^2responsewrite (aspbrasil)gt

Imp - Usado para validar um conjunto de expressotildees loacutegicas (Implicaccedilatildeo Loacutegica)de acordo com a tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false falsetrue null nullfalse true truefalse false truefalse null truenull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2

ltaspbrasil = (9lt8) Imp (7gt4)responsewrite (aspbrasil)gt

Mod - Usado para dividir dois nuacutemeros e retornar apenas o resto

sintaxe resultado = nuacutemero1 Mod nuacutemero2

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

ltaspbrasil = 7 Mod 3responsewrite (aspbrasil)gt

Not - Usado para inverter ou negar o resultado de uma comparaccedilatildeo como seguena tabela

Expressatildeo1 Resultado

true falsefalse truenull null

sintaxe resultado = Not expressatildeo

ltaspbrasil = Not (7gt6)responsewrite (aspbrasil)gt

Or - Usado para validar um conjunto de expressotildees loacutegicas de acordo com atabela

Expressatildeo1 Expressatildeo2 Resultadotrue true truetrue false truetrue null truefalse true truefalse false falsefalse null nullnull true truenull false nullnull null null

sintaxe resultado = expressatildeo1 Imp expressatildeo2ltaspbrasil = (9lt8) or (7gt4)responsewrite (aspbrasil)gt

Xor - Usado para validar um conjunto de expressotildees loacutegicas de acordo com aseguinte tabela

Expressatildeo1 Expressatildeo2 Resultadotrue true false

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

true false truefalse true truefalse false false

sintaxe resultado = expressatildeo1 Xor expressatildeo2

ltaspbrasil = (6lt4) Xor (8gt9)responsewrite (aspbrasil)gt

Demais Funccedilotildees do VBScriptAbaixo algumas importantes funccedilotildees do VBScript que natildeo se encaixaram norestante dos toacutepicos

LBound - RndRandomize - Sgn - UBound - VarType

LBound - Retorna o menor iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = LBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltdim aspbrasil(8)aspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite LBound(aspbrasil) deve retornar 2gt

Rnd - Retorna um nuacutemero randocircmico entre 0 e 1

sintaxe

RandomizeRnd (numero)

ltRandomizeaspbrasil = Rndresponsewrite aspbrasilgt

Sgn - Retorna a natureza de um determinado nuacutemero (maior menor ou igual azero) como visto abaixo

maior que zero (numerogt0) retorna 1igual a zero (numero=0) retorna 0menor que zero (numerolt0) retorna -1

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt

sintaxe resultado = Sgn(numero)

ltaspbrasil = Sgn(-67)responsewrite aspbrasilgt

UBound - Retorna o maior iacutendice de uma determinada dimensatildeo num array

sintaxe resultado = UBound(arraydimensatildeo) a dimensatildeo eacute opcional

ltaspbrasil(2)=Tigreaspbrasil(4)=Onccedilaresponsewrite UBound(aspbrasil) deve retornar 4gt

Vartype - Retorna um valor de acordo com a tabela abaixo indicando o subtipo davariaacutevel

sintaxe resultado = VarType(variaacutevel)vel)

0vazia (natildeo inicializada)1null (nula)2 inteiro (int)3 inteiro longo (lng)

4ponto flutuante de precisatildeosimples (Sng)

5ponto flutuante de duplaprecisatildeo (Dbl)

6moeda (currency)7data (date)8String9objeto OLE

ltaspbrasil=aspbrasilaspbrasil2 = 34responsewrite vartype(aspbrasil) deve retornar 8responsewrite vartype(aspbrasil2) deve retornar 3gt


Top Related