<html><head>
<TITLE>caserespond.asp</TITLE>
</head><body bgcolor="#FFFFFF"> 4 <%
fname=request.querystring("Firstname")
lname=request.querystring("Lastname")
salary=request.querystring("Salary") 8 %>
Nice to Meet You <%=fname%> <%=lname%><p>
<%If fname="" then%>
Sorry we are not on a first name basis...<p>
<%end if
select case lcase(lname)
case "washington","adams"
response.write "The first president has same last name<p>"
case "jefferson"
response.write "The third president has same last name<p>"
case "lincoln"
response.write "The sixteenth president has same last name<p>"
end select%>
</body></html>
Usando IF-THEN pode ser incômodo e propenso a ter erros de programação e lentidão na execução. Uma construção mais eficiente é o SELECT CASE que utiliza uma variável com várias condições.
<html><head>
<TITLE>asp_case2.asp</TITLE>
</head><body bgcolor="#FFFFFF">
<form action="case2respond.asp" method=get>
Your First Name<INPUT NAME="FirstName" MaxLength=20><p>
Your Last Name<INPUT NAME="LastName" MaxLength=20><p>
Your Title
<INPUT TYPE="Radio" name="Title" VALUE="employee">Entry Level
<INPUT TYPE="Radio" name="Title" VALUE="temp" CHECKED>Temporary Employee
<INPUT TYPE="Radio" name="Title" VALUE="manager">Management Candidate
<INPUT TYPE="Radio" name="Title" VALUE="executive">Executive
<INPUT TYPE="Radio" name="Title" VALUE="vice-prez">The Vice President of...
<INPUT TYPE="Radio" name="Title" VALUE="CEO">The Boss<p>
<INPUT TYPE=submit><p><INPUT TYPE=reset>
</form></body></html>
Este é o select case que determinará o que significa cada input do usuário.
<html><head>
<TITLE>case2respond.asp</TITLE>
</head><body bgcolor="#FFFFFF">
<%fname=request.querystring("Firstname")
lname=request.querystring("Lastname")
title=request.querystring("title")
response.write "Nice to Hire You " & fname & " " & lname & "<p>"
Select Case lcase(Title)
case "employee","temp"
response.write("The washroom is in the hall")
case "manager","executive"
response.write("Here is your key to the Executive washroom")
case "CEO", "vice-prez"
response.write("The maid will attend to your private washroom")
End Select%>
</body></html>
Para revisar, quando falamos de estruturas de controle significa instruções que fazem com que o programa rode em outra ordem que não seja a linha 1, linha 2, linha 3 etc. IF...Then e Select Case fazem com que linhas do código sejam executadas e outras não. Call e GoTo fazem com que o programa vá para outra localização no código. As estruturas de Loop fazem com que alguns comandos sejam repetidos. As estruturas de Loop possuem duas opções: For...Next e Do While ... Loop. Se você conhecer a quantidade de repetições que devem ser realizadas, utilize o comando FOR...NEXT, caso não saiba, utilize a estrutura Do While...Loop.
Todas as linhas de código dentro dos comandos DO WHILE e LOOP serão repetidas várias vezes até que o teste que vem depois do WHILE seja falso. Assim as repetições param e o programa passa para o código seguinte ao LOOP.
Sintaxe:
DO WHILE condição linhas de código
LOOP
Existe a possibilidade do Loop nunca acabar. Então se previna usando um IF para terminar, como:
contador=1
contador = contador +1 If contador>100 then
exit do End If
Exemplo 1:
<html><head>
<title>DoLoop2.asp</title>
<body bgcolor="#FFFFFF"></head>
<p>DoLoop2.asp Exemplo<br>
Faz com que o programa imprima somente a quantidade de meses.</p> 6 <p>
7 <P>
8 <%
contador = 1
mes_atual = month(now())
Do while contador < mes_atual + 1
response.write "Número do Mês = " & contador & " "
response.write " " & "<BR><br>"
If contador >13 then
exit do
end if
contador = contador+1
Loop 19 %>
20 <hr></body></html>
Exemplo 2:
<html><head>
<title>DoLoop3.asp</title>
</head><body bgcolor="#FFFFFF">
<form action="DoLoopBack.asp" method = post>
<p>DoLoop3 Exemplo<br>
instead of form to print, make form for electronic submission</p> 7 <p></p>
8 <%
contador = 1
mes_atual = month(now())
Do while contador < mes_atual + 1
response.write "Número do mês " & contador & " "
TempTextField = "<input type = " & chr(34) & "text" & chr(34)
TempTextField = TempTextField & "name=" & chr(34) & contador & chr(34)
TempTextField = TempTextField & ">"
response.write TempTextField & "<br><br>"
If contador >13 then
exit do
end if
contador = contador+1
Loop 22 %>
<input type=submit>
</form><hr></body></html>
O Loop com o número inicial e vai até o número final. Como foi colocado anteriormente, o FOR...NEXT é para ser usado quando se sabe a quantidade de repetições que devem ser feitas.
Sintaxe:
For contador = inicio to fim 'linhas de código
Next
Para que seu loop não seja infinito você pode colocar um IF para pará-lo, como:
If contador>100 then exit For
End If
Exemplo:
<html><head>
<title>fornext.asp</title>
<body bgcolor="#FFFFFF"></head> 4
exemplo<br>Espere e veja o funcionamento do for...next<br>
<%for contador = 1 to 5
response.write "estamos no looping" & "<br>"
next%><hr> 9
exemplo 2<br>Você pode usar a variável contador no seu código<br>
<%for contador = 1 to 5
response.write "Agora o número de loops aparecem " & contador & "<br>"
next%><hr> 14
exemplo 3<br>Você pode dar passos maiores que 1<br>
<%for contador = 0 to 25 step 5
response.write "Agora o número do loop é: " & contador & "<br>"
next%><hr> 19
exemplo 4<br>Você não precisa começar do 1<br>
<%for contador = 25 to 50 step 5
response.write "Agora o número do loop é: " & contador & "<br>"
next%><hr> 24
exemplo 5<br>
(mude os passos para negativo e tenha certeza do início ser maior que o fim)<br>
<%for contador = 50 to 25 step -5
response.write "Agora o número do loop é: " & contador & "<br>"
next%><hr>
</body></html>
Frequentemente você quer que o número apareça em um determinado formato. A função FormatNumber formata o número e retorna em um específico formato.
Sintaxe: FormatNumber(expression, iDigits, bleadingDigit, bParen, bGroupDigits)
ARGUMENTO SIGNIFICADO
Expression variável que contém o número
IDigits Número de dígitos depois da casa decimal
BleadingDigit 1 para mostrar os zeros antes da vírgula
0 para não mostrar os zeros antes da vírgula
bParen 1 para parêntesis ao redor de números negativos
0 para não ter parêntesis ao redor de números negativos
BGroupDigits 1 para mostrar o número de acordo com as Configurações Regionais do Painel de Controle
0 para ignorar as configurações do Painel de Controle
Exemplo:
<html><head>
<TITLE>formatnumbers.asp</TITLE>
</head><body bgcolor="#FFFFFF"> 4 <%
5 ' Exemplo de formatação de números 6 mynumber=123.4567
response.write "<hr>" & mynumber & "<br>"
response.write "formatnumber(mynumber,0)" & "<br>"
response.write formatnumber(mynumber,0) & "<hr>"
response.write "formatnumber(mynumber,2)" & "<br>"
response.write formatnumber(mynumber,2) & "<hr>"
response.write "formatnumber(mynumber,6)" & "<br>"
response.write formatnumber(mynumber,6) & "<hr>"
mynumber=.4567
response.write mynumber & "<br>"
'0 significa não mostrar os zeros antes da virgula
response.write "formatnumber(mynumber,2,0)" & "<br>"
response.write formatnumber(mynumber,2,0) & "<hr>"
'1 significa mostrar os zeros antes da virgula
'response.write "formatnumber(mynumber,2,1)" & "<br>"
'response.write formatnumber(mynumber,2,1) & "<hr>" 22 'mynumber=-123.4567
'response.write mynumber & "<br>"
'0 não mostra os parêntesis para números negativos
'response.write "formatnumber(mynumber,2,0,0)" & "<br>"
'response.write formatnumber(mynumber,2,0,0) & "<hr>"
'1 mostra os parêntesis para números negativos
'response.write "formatnumber(mynumber,2,0,1)" & "<br>"
'response.write formatnumber(mynumber,2,0,1) & "<hr>" 30 %>
31 </body></html>
A maneira mais fácil de demonstrar a formatação de datas é mostrar um código exemplo com várias permutações do comando.
FormatDateTime(Data[,Formato_do_nome])
A função FormatDateTime tem as seguintes partes:
PARTE DESCRIÇÃO
Data Obrigatório. Data que será formatada
Formato_do_nome Opcional. Valor numérico que indica o formato date/time que será usado. Se for omitido, o formado vbGeneralDate será usado.
Parâmetros
O argumento Formato_do_nome tem o seguinte domínio:
CONSTANTE VALOR DESCRIÇÃO
VbGeneralDate 0 Mostra a data e/ou hora. Se houver uma data, mostrará como short date. Se for hora, mostrará como long time. Se houver data e hora ambas serão mostradas.
VbLongDate 1 Mostra a data usando o formato long date especificado nas
Configurações Regionais do Painel de Controle
VbShortDate 2 Mostra a data usando o formato short date especificado nas
Configurações Regionais do Painel de Controle.
VbLongTime 3 Mostra a hora usando o formato especificado nas Configurações
Regionais do Painel de Controle.
VbShortTime 4 Mostra a hora usando o formato 24-horas (hh:mm).
1 <html><head><title>formatdates.asp</title></head><body bgcolor="#FFFFFF"> 2 <%'ASP que formata data
response.write "<hr>"
for counter=0 to 4
currentdate=now()
response.write "today is..." & "<br>" 7 response.write currentdate & "<P>" 8 select case counter
case 0
whichformat="vbgeneraldate"
case 1
whichformat="vblongdate"
case 2
whichformat="vbshortdate"
case 3
whichformat="vblongtime"
case 4
whichformat="vbshorttime"
end select
response.write "FormatDate(now()," & whichformat & ")="
response.write Formatdatetime(currentdate,counter) & "<P><HR>" 22 next%>
23 </body></html>
(Browser Capabilites)
O script abaixo demonstra a maioria das propriedades usadas do componente
Browser Capabilites.
<html><head>
<TITLE>asp_browser.htm</TITLE>
</head><body bgcolor="#FFFFFF">
<% Set bc = Server.CreateObject("MSWC.BrowserType") %>
Browser Name: <%= bc.browser %><p>
Browser Version: <%= bc.version %><p>
<% if (bc.frames = TRUE) then %>
Você pode usar frames<p>
<% else %>
Você não pode usar frames<p>
<% end if %>
<% if (bc.tables = TRUE) then %>
Você pode usar tabelas<p>
<% else %>
Você não pode usar tabelas<p>
<% end if %>
<% if (bc.BackgroundSounds = TRUE)then %>
Você me permite tocar músicas<p>
<% else %>
Você não colocou músicas no código<p>
<% end if %>
<% if (bc.vbscript = TRUE) then %>
Você pode rodar script da linguagem VBscript<p>
<% else %>
Você não pode rodar script da linguagem VBscript<p>
<% end if %>
<% if (bc.javascript = TRUE) then %>
Você pode rodar script da linguagem JScript<p>
<% else %>
Você não pode rodar script da linguagem JScript<p>
<% end if %>
</BODY>
</HTML>
Comentários
Postar um comentário