helyoWAP |
|
PÁGINAS
WML GERADAS DINAMICAMENTE EM AMBIENTE ASP |
Autores: Helio Fonseca Rosa e Andrea de Mello Rosa
Esta página contém 3 figuras grandes. Aguarde a carga se a conexão estiver lenta.
Continuamos a mostrar a utilização
de instruções do VBScript mescladas com código WML.
O objetivo não é ensinar VBScript (talvez motivar quem não o conheça) mas
dar segurança ao programador WML em ambiente ASP.
Programa wasp6.asp
Vejamos a mesma tela anterior (programa wasp5.asp) gerada pela instrução Select Case, que funciona de modo idêntico à instrução If. Consideramos que este exemplo é auto-explicativo.
wasp6.asp (código):
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p align="center">
***** HELYOWAP *****<br/>
Uso da instrucao "Select Case"<br/>
</p>
<p>
A hora atual e
<% Response.Write Hour(Now) %>.
Entao diga
<% Select Case Hour(Now)
Case 0,1,2,3,4,5,6,7,8,9,10,11
Response.Write "Bom Dia!"
Case 12, 13, 14, 15, 16, 17
Response.Write "Boa Tarde!"
Case Else
Response.Write "Boa Noite!"
End Select
%>
</p>
</card>
</wml>
Sugestão:
para testar este programa, copie/cole a listagem acima em seu "Bloco de
Notas" (que elimina qualquer código espúrio, não visível). Em seguida,
grave-o e use seu simulador.
Eis o resultado:
Programa wasp7.asp
No programa wasp4.asp
vimos que o script "WeekDay(Date)" retorna um código numérico
para o dia da semana, obtido no servidor PWS. Vamos fazer um pequeno
programa para transformar o código numérico na palavra que identifica o dia da
semana (domingo, segunda...).
Por exemplo, se o código for 1: a palavra resultante será armazenada na variável
"DiaSemana", ou seja, se WeekDay(Date) = 1, teremos DiaSemana =
Domingo
wasp7.asp (código):
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p align="center">
***** HELYOWAP *****<br/>
Uso de<br/>
*If e WeekDay(Date)*<br/>
</p>
<p>
<%
Dim DiaSemana
If WeekDay(Date) = 1 Then
DiaSemana = "Domingo"
End If
If WeekDay(Date) = 2 Then
DiaSemana = "Segunda"
End If
If WeekDay(Date) = 3 Then
DiaSemana = "Terca"
End If
If WeekDay(Date) = 4 Then
DiaSemana = "Quarta"
End If
If WeekDay(Date) = 5 Then
DiaSemana = "Quinta"
End If
If WeekDay(Date) = 6 Then
DiaSemana = "Sexta"
End If
If WeekDay(Date) = 7 Then
DiaSemana = "Sabado"
End If
%>
Hoje e <% Response.Write Date %><br/>
Dia da semana:<% Response.Write DiaSemana %>
</p>
</card>
</wml>
Sugestão: para testar este programa, copie/cole a
listagem acima em seu "Bloco de Notas" (que elimina qualquer código
espúrio, não visível). Em seguida, grave-o e use seu simulador.
Aqui está o resultado:
Programa wasp8.asp
É conhecida a forma de representação
dos objetos constantes de uma lista pela posição que ele ocupa. Na lista dos
dias da semana , em que "domingo" ocupa a posição zero, a posição
5 é ocupada pela "sexta-feira", ou seja:
DiaSemana(0) = domingo
DiaSemana(1)= segunda
---------------
DiaSemana(5) = sexta-feira.
Uma lista deste tipo é conhecida como vetor ou matriz de uma
dimensão.
Uma lista formada por uma tabela retangular seria uma matriz de duas
dimensões.
Para informar ao programa que uma variável tipo matriz de
de uma dimensão possui 7 elementos, por exemplo, utiliza-se o declaração
DIM, que é também o método explícito de criação de uma variável.
Atenção para estes códigos "parecidos":
Dim DiaSemana (7) : estamos "declarando" que DiaSemana é uma lista ou
matriz de uma dimensão com 7 elementos.
DiaSemana(7) = "Sabado" : estamos atribuindo ao sétimo elemento
da matriz o valor ou conteúdo igual a "Sábado".
Para exibição do resultado usamos a expressão DiaSemana(WeekDay(Date)), cuja
explicação é a seguinte:
Hoje é 25/05/2002, sábado.
O servidor interpreta WeekDay(Date) como WeekDay (25/05/2002) e
retorna um valor igual a 7.
A expressão DiaSemana(WeekDay(Date)) então é interpretada como DiaSemana(7).
Já comentamos acima que DiaSemana(7) = "Sabado", e isto está
escrito no código do programa.
Assim, o script Response.Write DiaSemana(WeekDay(Date))
faz a exibição da palavra Sabado.
Isto é óbvio mas pode parecer complicado para o programador iniciante neste tipo de codificação.
O programa abaixo também é auto-explicativo:
wasp8.asp (código):
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p align="center">
*** HELYOWAP ***<br/>
Matriz de uma dimensao <br/>
</p>
<p>
<%
Dim DiaSemana (7)
DiaSemana(1) = "Domingo"
DiaSemana(2) = "Segunda"
DiaSemana(3) = "Terca"
DiaSemana(4) = "Quarta"
DiaSemana(5) = "Quinta"
DiaSemana(6) = "Sexta"
DiaSemana(7) = "Sabado"
%>
Hoje e <% Response.Write Date %><br/>
Dia da semana:
<% Response.Write DiaSemana(WeekDay(Date)) %>
</p>
</card>
</wml>
Sugestão: para testar este programa, copie/cole a listagem acima em seu "Bloco de Notas" (que elimina qualquer código espúrio, não visível). Em seguida, grave-o e use seu simulador.
O resultado é: