helyoWAP

PÁGINAS WML GERADAS DINAMICAMENTE EM AMBIENTE ASP
 
(04)
Programas comentados: wasp6.wml - wasp7.wml - wasp8.wml

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 é:


WirelessBRASIL                 Portal helyoWAP                    Anterior                    Próxima