

















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
ASP Apostila Active Server Pages
Tipologia: Notas de estudo
1 / 57
Esta página não é visível na pré-visualização
Não perca as partes importantes!


















































Apostila de ASP Claudio/Carrilho pág.
A linguagem ASP (Active Server Pages) é, na verdade, uma junção de programação em VBScript e Objetos ActiveX. VBScript é uma linguagem criada a partir do Visual Basic, mas com algumas limitações, por motivos de segurança. Objetos ActiveX são objetos, ou melhor, funções prontas, já existentes no servidor. Essas funções captam os parâmetros de entrada dos dados, manipulam-nos de acordo a sua função e então enviam-nos para a saída. Um exemplo de ActiveX é o Objeto ASPMail, o qual capta os dados de entrada (nome, email, corpo da mensagem, etc), cria um email com esses dados e depois envia o email. Uma vez que a linguagem ASP é usada apenas em alguns "pedaços" de páginas HTML, existe um símbolo para diferenciar o que é programação HTML e o que é programação ASP: <% código asp %> Abaixo um exemplo de página em HTML e ASP.
Exemplo1:
página em HTML e ASP
Olá Mundo!!!
<% ' (aspas simples significa comentário dentro do código) ' a linha abaixo tem o mesmo efeito da linha acima response.write "Olá Mundo
" %>Assim como qualquer linguagem, o ASP contém seus respectivos objetos e, estes, contém os métodos (ações) e as propriedades (comportamento).
Objeto Descrição Application Contém informações sobre a aplicação Session Contém informações sobre a sessão (cada usuário) Request Responsável pelas informações requisitadas do browser pelo o servidor, como variáveis, por exemplo Response Responsável pela comunicação server/client, ou seja, pela informação enviada do servidor para o browser do usuário Server Responsável pela configuração de algumas funções e métodos do servidor
O VBScript contém apenas um tipo de variável, denominado Variant. O tipo variant pode armazenar qualquer tipo de dado. É possível classificar os dados de acordo com os subtipos relacionados a seguir:
Subtipo Descrição Empty Variável que contém 0 para valores numéricos e "" (string vazia) para strings. Null Variável que não contém dado algum. Boolean Contém True ou False Byte Números inteiros entre 0 e 255 Integer Números inteiros no intervalo de -32,768 a 32,767. Long Números inteiros no intervalo de -2,147,483,648 a 2,147,483,647. Single Números com ponto flutuante de precisão simples na faixa de -3.402823E38 a -1.401298E-45 para números negativos e 1.401298E-45 a 3.402823E38 para números positivos. Double Números com ponto flutuante de dupla precisão na faixa de - 1.79769313486232E308 a -4.94065645841247E-324 para números negativos e 4.94065645841247E-324 a 1.79769313486232E308 para números positivos. Date (Time)
Dados no formato de Data (data e tempo) na faixa de 1 de janeiro de 100 a 31 de dezembro de 9999. (January 1, 100 a December 31, 9999). String Contém dados no formato de string, que podem ter até aproximadamente 2 bilhões de caracteres de tamanho. PS: é possível a conversão de dados de um tipo para outro, mas para isso, os dados devem ser compatíveis com o subtipo desejado, ou seja, a String "23/5/99" pode ser convertida para o subtipo Date, e vice-versa. Mas a String "BDI" não pode. É importante a conversão de tipos de dados uma vez que o modo como os dados serão manipulados depende do seu subtipo.
As funções de verificação são importantes na hora de detectar se os dados contidos numa variável são compatíveis com o subtipo para o qual se deseja converter estes dados. As funções de conversão fazem a conversão de dados de um subtipo para outro, mas para isso, é necessário que esses dados sejam compatíveis com o subtipo que se deseja obter.
Funções de Verificação:
IsArray - IsDate - IsEmpty - IsNull - IsNumeric
Funções de Conversão:
CBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng
IsArray - retorna True caso a variável seja um array, caso contrário, retorna False. sintaxe: IsArray(nomedavariavel)
Exemplo 3a: <% Dim bdi Dim bdi2(5) response.write IsArray(bdi1) 'retorna false response.write IsArray(bdi2) 'retorna true %>
IsDate - retorna True caso o valor da variável possa ser convertido em data, caso contrário, retorna False. sintaxe: IsDate(nomedavariavel)
Exemplo 3b: <% bdi = "23/5/99" bdi2 = "BDI" response.write IsDate(bdi) 'retorna true response.write IsDate(bdi2) 'retorna false %>
IsEmpty - retorna True caso a variável contenha o valor 0 ou "", caso contrário, retorna False. sintaxe: IsEmpty(nomedavariavel)
Exemplo 3c: <% dim bdi, bdi bdi3 = "BDI" response.write IsEmpty(bdi) 'retorna true response.write IsEmpty(bdi2) 'retorna true response.write IsEmpty(bdi3) 'retorna false %>
IsNull - retorna True caso a variável não contenha dados válidos. sintaxe: IsNull(nomedavariavel)
Exemplo 3d: <% bdi = "23/5/99" response.write IsNull(bdi) 'retorna false %>
IsNumeric - retorna True caso o valor da variável possa ser convertido para algum tipo de dado numérico.
matemáticas com essas datas, somando dias, meses, segundos, anos... %>
CDbl - converte a expressão dada em um dado do subtipo Double. sintaxe: CDbl(nomedavariavel ou expressão)
Exemplo 3i: <% bdi2 = 34.6767786543E response.write CDbl(bdi2) 'retorna 3,46767786543E+ %>
CInt - converte a expressão dada em um dado do subtipo Integer. A diferença para o subtipo Byte é a faixa de abrangência. sintaxe: CInt(nomedavariavel ou expressão)
Exemplo 3j: <% bdi = "23" bdi2 = 34. response.write Cint(bdi) 'retorna 23 response.write CInt(bdi2) 'retorna 35, pois há um arredondamento %>
CLng - converte a expressão dada em um dado do subtipo Long. A diferença para o subtipo byte é a faixa de abrangência. sintaxe: CLng(nomedavariavel ou expressão)
Exemplo 3k: <% bdi = "23" bdi2 = 34. response.write CLng(bdi) 'retorna 23 response.write CLng(bdi2) 'retorna 35, pois há um arredondamento %>
CSng - converte a expressão dada em um dado do subtipo Single. sintaxe: CSng(nomedavariavel ou expressão)
Exemplo 3l: <% bdi2 = 8734. response.write CSng(bdi2) 'retorna 8735 %>
CStr - converte a expressão dada em um dado do subtipo String. Qualquer outro tipo de dado, dos listados acima, pode ser convertido em String. sintaxe: CStr(nomedavariavel ou expressão)
Exemplo 3m: <% bdi2 = 34. response.write CStr(bdi2) 'retorna "34,67" %>
O VBScript contém várias funções utilizadas para a manipulação de dados numéricos. Abaixo uma lista das principais funções. Os operadores básicos (+,-,*,/,^) estão descritos na seção sobre Operadores Básicos do VBScript.
Abs - Atn - Cos - Exp - Fix - Int - Log - Sin - Sqr - Tan
Abs - retorna o módulo do valor de entrada sintaxe: Abs(número)
Exemplo 4a: <% bdi = - response.write Abs(bdi) 'retorna 78 %>
Atn - retorna o valor do arcotangente do valor entrado (resposta em radianos) sintaxe: Atn(número)
Exemplo 4b: <% bdi = 1 response.write Atn(bdi) 'retorna 0, %>
Cos - retorna o valor do cosseno do angulo entrado (entrar angulo em radianos) sintaxe: Cos(angulo)
Exemplo 4c: <% bdi = 3, response.write Cos(bdi) 'retorna -0, %>
Sqr - retorna o valor da raiz quadrada do número de entrada(valor deve ser maior ou igual a zero). sintaxe: Sqr(numero)
Exemplo 4i: <% bdi = 4 response.write Sqr(bdi) 'retorna 2 %>
Tan - retorna o valor da tangente do angulo pedido (entrar angulo em radianos) sintaxe: Tan(angulo)
Exemplo 4j: <% bdi = 2 response.write Tan(bdi) 'retorna -2, %>
O VBScript possibilita a obtenção e manipulação de dados no formato Data e Tempo facilmente. Abaixo, uma lista das principais funções relacionadas a esse tópico.
Date - DateSerial - Day - Time - Minute - Month - Now - Second - Time - TimeSerial - TimeValue - Weekday - Year
Date - retorna a data do sistema (a data que consta no relógio do servidor). sintaxe: Date
Exemplo 5b: <% response.write Date %>
DateSerial - retorna um valor do subtipo data para um determinado valor de ano, mês e dia, ou seja, entrando esses 3 valores respectivamente, a função DateSerial retorna a data respectiva no formato Date. sintaxe: DateSerial(year, month, day)
Exemplo 5c: <% response.write DateSerial(99,12,23) 'retorna 23/12/ %>
Day - retorna um número entre 1 e 31, representando o dia de uma determinada data. sintaxe: Day(data)
Exemplo 5d: <% response.write Day(now) %>
Minute - retorna um número entre 0 e 59 representando os minutos de uma determinada expressão de tempo. sintaxe: Minute(tempo)
Exemplo 5f: <% response.write Minute(now) %>
Month - retorna um número entre 1 e 12 representando o mês de uma determinada data. sintaxe: Month(data)
Exemplo 5g: <% response.write Month(now) %>
Now - retorna a data e o horário do relógio do servidor. sintaxe: Now
Exemplo 5h: <% response.write Now %>
Second - retorna um número entre 0 e 59 representando os minutos do sistema (o minuto que consta no relógio do servidor). sintaxe: Second(tempo)
Exemplo 5i: <% response.write Second(now) %>
Time - retorna o horário do relógio do sistema. sintaxe: Time
Exemplo 5j: <% response.write Time %>
Exemplo 6b: <% response.write Chr(34) 'retorna " %>
CStr - Converte uma expressão para o formato String. Caso uma variável seja um número, ela será convertida numa string que represente tal número. Se for uma data, essa data será convertida numa string que represente tal data. sintaxe: CStr(expressão)
Exemplo 6c: <% bdi = 458 response.write CStr(bdi) 'retorna a string, seqüência de caracteres "458", e não o número 458. %>
InStr - Retorna a posição da primeira ocorrência de uma string dentro da outra. É possível delimitar a partir de qual caracter será feita tal procura. sintaxe:InStr(posicaoinicial, string, stringdecomparação)
Exemplo 6d: <% bdi = "aspbrasil, site sobre ASP em Português." response.write Instr(4,bdi,"ASP") '4 é a posição a partir da qual a procura será feita. Retorna 23 %>
LCase - Converte todos os caracteres de uma string para minúsculas. sintaxe: LCase(string)
Exemplo 6e: <% bdi = "BDI" response.write LCase(bdi) 'deve retornar bdi %>
Left - Retorna um determinado número de caracteres a partir do lado esquerdo da string. sintaxe: Left(string, numerodecaracteres)
Exemplo 6f: <% bdi = "aspbrasil, site sobre ASP." response.write Left(bdi,4) 'deve retornar "aspb" %>
Len - Retorna o número de caracteres numa string (contando espaços em branco), ou, no caso de variáveis numéricas, ou no formato Date, retorna a quantidade de bytes necessários para armazenar aquela expressão. sintaxe: Asc(string/expressão)
Exemplo 6g: <% bdi = "bdi" response.write Len(bdi) 'retorna 3 %>
LTrim - Retorna a cópia da string de entrada, menos os espaços no começo do lado esquerdo. sintaxe: LTrim(string)
Exemplo 6h: <% bdi = " <--Trim-> " response.write LTrim(bdi) 'retorna "<--Trim-> " %>
Mid - Função usada para "cortar" uma string. Delimita-se a posição inicial, a string e a quantidade de caracteres a partir da posição inicial que devem ser "capturados". sintaxe: Mid(string, posicaoinicial, tamanho)
Exemplo 6i: <% bdi = "Vou-me embora para Passargada" response.write Mid(bdi,1,4) 'deve retornar "Vou-" %>
Right - Retorna um determinado número de caracteres a partir do lado direito da string. sintaxe: Right(string, numerodecaracteres)
Exemplo 6j: <% bdi = "Vou-me embora para Passargada" response.write Right(bdi,3) 'deve retornar "ada" %>
RTrim - Retorna uma cópia da string de entrada, mas sem os espaços no final da string. sintaxe: RTrim(string)
Exemplo 6k: <% bdi = "bdi " response.write RTrim(bdi) 'deve retornar "bdi"
Exemplo 7c: <% bdi = 5 * 6 response.write (bdi) 'retorna 30 %>
/(dividir) - Usado para dividir um valor por outro. sintaxe: resultado = numerador/denominador
Exemplo 7d: <% bdi = 31/ response.write (bdi) 'retorna 4, %>
\ (divisão inteira) - Usado para dividir um valor por outro, e retornar um valor inteiro. sintaxe: resultado = numerador\denominador
Exemplo 7e: <% bdi = 31 response.write (bdi) 'retorna 4 %>
Mod - Usado para dividir dois números e retornar apenas o resto. sintaxe: resultado = número1 Mod número
Exemplo 7k: <% bdi = 7 Mod 3 response.write (bdi) 'retorna 1 %>
and – Conectivo lógico. Se, e somente se as duas expressões tiverem como resultado TRUE, é retornado TRUE. Caso contrário, é retornado FALSE. sintaxe: resultado = expressão1 and expressão
Exemplo 7f: <% bdi = (7>4) and (4<8) response.write (bdi) 'retorna true %>
& - Usado para concatenar duas cadeias de caracteres (strings). sintaxe: resultado = string1 & string
Exemplo 7g: <% bdi = "BDI = " & "Banco de Dados para Internet." response.write (bdi) 'retorna BDI = Banco de Dados para Internet %>
Eqv - Usado para "validar" um conjunto de expressões lógicas de acordo com a seguinte tabela: Expressão1 Expressão2 Resultado true true true true false false false true false false false true sintaxe: resultado = expressão1 Eqv expressão
Exemplo 7h: <% bdi = (6<4) Eqv (8>9) response.write (bdi) 'retorna true %>
^ - Usado para "elevar" um número a outro. sintaxe: resultado = número1^número
Exemplo 7i: <% bdi = 6^ response.write (bdi) 'retorna 36 %>
Imp - Usado para "validar" um conjunto de expressões lógicas (Implicação Lógica) de acordo com a tabela: Expressão1 Expressão2 Resultado true true true true false false true null null false true true false false true false null true null true true null false null null null null
sintaxe: resultado = expressão1 Xor expressão
Exemplo 7n: <% bdi = (6<4) Xor (8>9) response.write (bdi) 'retorna false %>
Abaixo, algumas importantes funções do VBScript que não se encaixaram no restante dos tópicos.
LBound - Rnd/Randomize - Sgn - UBound - VarType
LBound - Retorna o menor índice de uma determinada dimensão num array. sintaxe: resultado = LBound(array,dimensão) 'a dimensão é opcional.
Exemplo 8a: <% dim bdi(8) bdi(2)="Tigre" bdi(4)="Onça" response.write LBound(bdi) 'retorna 0 %>
Rnd - Retorna um número randômico entre 0 e 1. sintaxe: Randomize Rnd (numero)
Exemplo 8b: <% Randomize bdi = Rnd response.write bdi %>
Sgn - Retorna a natureza de um determinado número (maior, menor ou igual a zero), como visto abaixo: maior que zero (numero>0) 'retorna 1 igual a zero (numero=0) 'retorna 0 menor que zero (numero<0) 'retorna - sintaxe: resultado = Sgn(numero)
Exemplo 8c: <% bdi = Sgn(-67) response.write bdi 'retorna –1 %>
UBound - Retorna o maior índice de uma determinada dimensão num array. sintaxe: resultado = UBound(array,dimensão) 'a dimensão é opcional.
Exemplo 8d: <% dim bdi(8) bdi(2)="Tigre" bdi(4)="Onça" response.write UBound(bdi) 'deve retornar 8 %>
Vartype - Retorna um valor, de acordo com a tabela abaixo, indicando o subtipo da variável. sintaxe: resultado = VarType(variável) valor Subtipo 0 vazia (não inicializada) 1 null (nula) 2 inteiro (int) 3 inteiro longo (lng) 4 ponto flutuante de precisão simples (Sng) 5 ponto flutuante de dupla precisão (Dbl) 6 moeda (currency) 7 data (date) 8 String 9 objeto OLE
Exemplo 8e: <% bdi = "bdi" bdi2 = 34 response.write vartype(bdi) 'deve retornar 8 response.write vartype(bdi2) 'deve retornar 2 %>
If...Then...Else
O comando If...Then...Else possibilita verificar se uma determinada expressão está ou não de acordo com um critério de seleção. Observe o exemplo abaixo: