Oque - Seja Bem Vindo ao Jose Valter Web Site ASP.pdf · OqueéASP?...
Transcript of Oque - Seja Bem Vindo ao Jose Valter Web Site ASP.pdf · OqueéASP?...
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