014_Curso-de-Active-Server-Pages-da-UFPI
43 pág.

014_Curso-de-Active-Server-Pages-da-UFPI

Disciplina:ALGORITMOS6.522 materiais91.191 seguidores
Pré-visualização9 páginas
</BODY>
</HTML>

Exermplo5.1:array1.asp

<%@Language=VBScript%>
<HTML><HEAD><TITLE>CursoASP</TITLE>
<BODY>
<%DimMeuArray(3)
MeuArray(0)=Date
MeuArray(1)="LineuAntoniodeLimaSantos"
MeuArray(2)=12.45
MeuArray(3)=Now
%>
Posição1=<%=MeuArray(0)%><BR>
Posição2=<%=MeuArray(1)%><BR>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 10de43

Observe que o valor armazenado em cada elemento de um array pode ser de um
subtipodiferentedosdemais.Outraobservaçãoimportante:arraystêmqueserdeclarados
explicitamente.

Arraysnãosãolimitadosparaumaúnicadimensão.EmVBScriptpode-sedeclarar
Arraysdeaté60dimensões.

Pode-sedeclararumarraycujotamanhoéalteradoduranteainterpretaçãodoscript.
Para tal, basta declarar o array com Dim sem informar a quantidade de elementos. Depois
deve-se utilizar a declaração ReDim para determinar o número de elementos. Caso seja
necessário redimensionar o array, utiliza-se novamente a declaração ReDim. Se houver a
necessidade de preservar o conteúdo do array a ser redimensionado, utiliza-se a declaração
ReDimPreserve.

Exermplo5.2:array2.asp

<%@Language=VBScript%>
<HTML><HEAD><TITLE>CursoASP</TITLE>
<BODY>
<%DimMeuArray(1,1)
MeuArray(0,0)="LineuAntoniodeLimaSantos"
MeuArray(0,1)=2225240
MeuArray(1,0)="UniversidadeFederaldoPiauí"
MeuArray(1,1)=2172000
%>
<B>Nome</B>=<%=MeuArray(0,0)%><B>Telefone</B>=
<%=MeuArray(0,1)%><BR>
<B>Nome</B>=<%=MeuArray(1,0)%><B>Telefone</B>=
<%=MeuArray(1,1)%><BR>
</BODY>
</HTML>

Exermplo5.3:array3.asp
<%@Language=VBScript%>
<HTML><HEAD><TITLE>CursoASP</TITLE>
<BODY>
SemPreserve<BR>
<%DimMeuArray()
ReDimMeuArray(1)
MeuArray(0)="LineuAntoniodeLimaSantos"
MeuArray(1)=12.95
ReDimMeuArray(2)
MeuArray(2)=9090
%>

<B>Posição0</B>=<%=MeuArray(0)%><BR>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 11de43

6.3CONSTANTES

Umaconstanterepresentaumvalorfixoatravésdeumidentificadoralfanumérico.
Suadiferençaparavariáveiséqueseuvalorumavezdefinido,nãopodesermodificado.Para
definirumafunçãoemVBScriptutiliza-seadeclaraçãoConst:

ConstNome_Constante=Valor_Constante

6.4OPERADORES

Denadaadiantariatermosvaloresarmazenadosemnossasvariáveisdememória,se
não pudéssemos fazer cálculos, comparações ou qualquer outra operação com eles. Em
VBScripttemosumconjuntodesímbolosalfanuméricosparaefetuartaisoperações:

Operador Descrição
= Atribuição/Igual
<> Diferente
< Menorque

Exemplo6:constante.asp

<%@LANGUAGE=VBSCRIPT%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD>
<BODY>
<%Constnome="Lineu"
Constdata=#02/10/1978#%>
<B>Nome:</B><%=nome%><BR>
<B>Nascidoem:</B><%=data%><BR>
</BODY></HTML>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 12de43

<= Menorouigualque
> Maiorque
>= Maiorouigualque
+ Somanumérica/ConcatenaçãodeStrings
- SubtraçãoounegativoNumérico
* Multiplicação
/ Divisão
\ Efetuaadivisãoentredoisnúmeroseretornaumnúmerointeiro
Mod RetornaoRestodeumadivisãoentreinteiros
^ Exponenciação
& ConcatenaçãodeStrings
Is ComparaçãodeIgualdadeentredoisObjetos

Peloexposto,nãoficadifícilperceberqueasvariáveisserãomanipuladasdeacordo
com o seus subtipos. Os valores envolvidos numa mesma operação devem ser do mesmo
subtipooudesubtiposcompatíveis.

Esseexemplofuncionacorretamentepoispelaregradecompatibilidadeasomade
um número inteiro e uma “string numérica” resulta realmente na soma numérica dos dois.
Seria lógico pensar que o contrário estaria correto também, ou seja, que a soma de uma
número e uma string alfanumérica resultaria numa concatenação. Verifique o próximo
exemploetiresuasconclusões:

Exemplo7.1:operador1.asp

<%@LANGUAGE=VBSCRIPT%>
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD>
<BODY>
<%Dima,b
a=1
b=“2”
%>
A+B=<%=a+b%><HR>
<%a=”NúmerodeVariáveis”%>
A+B=<%=a+b%>
</BODY></HTML>

Exemplo7.2:operador2.asp

<%@LANGUAGE=VBSCRIPT%>
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD>
<BODY>
<%Dima,b
a=1
b="Alfanumérica"%>
A+B=<%=a+b%>
</BODY></HTML>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 13de43

Podemocorrerconfusõesdeoutrostipos:

Pararesolveressesproblemas,poderíamossermaiscautelososnaescritadenossos
programas efetuando exaustivos testes. Outra solução menos “dolorosa” seria utilizarmos
conversõesdetiposexplícitasnosnossosprogramas.

FunçãodeConversão Descrição
CStr ConverteumaexpressãoparaosubtipoString
Cint TentaconverterumaexpressãoparaosubtipoInteger
CLng TentaconverterumaexpressãoparaosubtipoLong
Cbool TentaConverterparaBooleano
Cbyte TentaconverterparaosubtipoByte
Cdate TentaconverterparaosubtipoDate
CDbl TentaconverterparaosubtipoDouble
CSng TentaconverterparaosubtipoSingle

Analisandoopróximoprogramapodemospensarqueomesmogeraumaexceção:

Exemplo7.3:operador3.asp

<%@LANGUAGE=VBSCRIPT%>
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD>
<BODY>
<%Dima,b
a="1"
b="2"%>
A-B=<%=a-b%><BR>
A+B=<%=a+b%>
</BODY></HTML>

Exemplo8.1:converte1.asp

<%@LANGUAGE=VBSCRIPT%><%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD><BODY>
<%Dima,b
a="1":b="2"%>
A-B=<%=Cint(a)-Cint(b)%><BR>A+B=<%=Cint(a)+Cint(b)%>
</BODY></HTML>

Exemplo8.2:converte2.asp

<%@LANGUAGE=VBSCRIPT%>
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD><BODY>
<%Dima,b
a=1.1
a=CDate(a)%>
<%=a%><BR>
<%a=CDbl(#02/10/2000#)%>
<%=a%>
</BODY></HTML>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 14de43

O erro não ocorreu pois na verdade um subtipo Date é implementado como um
número real. Ele armazena a quantidade de dias desde 31/12/1899. Valores a esquerda do
decimalrepresentamadataeadireitaohorário.Sendoassim,operaçõesaritméticastambém
podemserfeitasemcimadessesubtiposemproblemaalgum.

Opróximoexemplofazusodooperador(^)exponenciação:

Esse script da a falsa impressão de estarmos calculando o valor da expressão da
direitaparaaesquerda,ouseja,Resultado=2^2^3=2^8=256.Masoquepercebemosfoi
queo resultadogeradoé iguala64,ouseja,Resultado=2^2^3=4^3=64.Paraevitaresse
tipo de confusão com relação à ordem de cálculo de uma expressão devemos utilizar
parênteses. A sub expressão que estiver dentro de parênteses têm prioridade de cálculo em
cimadasdemais.

6.5.SUBROTINAS

VBScriptpossuidoistiposdesubrotinas:SubeFunction.UmSubéumconjuntode
comandos associados a um identificador alfanumérico. Uma Function possui a mesma

Exemplo8.3:converte3.asp

<%@LANGUAGE=VBSCRIPT%>;
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD><BODY>
<%DimDatan,hoje
Datan=#02/10/1978#
Hoje=Date%>
Eutenho<%=CLng(Hoje-DataN)%>diasdevida<BR>
Farei10000diasdevidaem<%=Cdate(Datan+10000)%>
</BODY></HTML>

Exemplo9.1:exp1.asp
<%@LANGUAGE=VBSCRIPT%>
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD><BODY>
<%DimResultado
Resultado=2^2^3%>
2^2^3=<%=Resultado%>
</BODY></HTML>

Exemplo9.2:exp2.asp
<%@LANGUAGE=VBSCRIPT%>
<%OptionExplicit%>
<HTML><HEAD><TITLE>CursoASP</TITLE></HEAD><BODY>
<%DimResultado
Resultado=2^(2^3)%>
2^(2^3)=<%=Resultado%>
</BODY></HTML>

http://Apostilas.Fok.com.br–SeusitedeApostilasetutoriais 15de43

definiçãosóquealémdeexecutaroscomandosaelaassociados,podegerarumvalorcomo
resultado. Essas subrotinas podem ainda receber algum(s) valor(s) como parâmetro. Veja a
seguirsuasrespectivassintaxes:

SubNomeDoProcedimento([Parâmetro(s)])
Comando(s)
EndSub

FunctionNomeDaFunção([Parâmetro(s)])
Comando(s)
EndFunction

Dentro da Function devemos implementar um mecanismo para passar o valor
calculadoparaforadafunction.BastaatribuirtalvaloraoidentificadordaFunction.

Na verdade, o identificador da Function é uma expressão pois retorna um valor.
ParaverificarmosovalorretornadoporumaFunction,colocamosamesmanoladodireitode
umaatribuição:

Esse exemplo serve para ilustrar as vantagens de se trabalhar com subrotinas :
programa fica