helyoWAP

TUTORIAL WML
(11)
Programas comentados: phone15a.wml - phone15b.wml

Autor: Helio Fonseca Rosa

Esta página contém muitas figuras. Aguarde a carga se a conexão estiver lenta.

Programa phone15a.wml

Introdução
Vamos estudar com mais detalhes as possibilidades de formatação dos dados entrados via "input".
No programa phone14.wml usamos o elemento "input" em sua forma mais simples: <input name="nome_usuario"/>.
Como não foi especificado nenhum atributo de formatação, o programa assume, por omissão ("default") que os dados de entrada serão tanto alfabéticos (maiúsculos ou minúsculos) como numéricos. 
No programa phone15.wml fomos apresentados ao atributo de formatação "format" na seguinte linha de código:
<input name="senha" format="4N"/>.
"4N" é o "valor" do atributo "format" para este caso. Ou o tamanho e tipo do campo de entrada.
Os "valores" do atributo "format" são indicados por letras. O algarismo que antecede a letra indica o tamanho máximo do campo de entrada.  Então "4N" significa um campo com até 4 caracteres numéricos. Pode-se usar também a repetição de caracteres para especificar o campo. No caso, "NNNN".
Um asterisco antes da letra indica um campo "ilimitado". Por exemplo, "*N" é um campo numérico "sem limite" de tamanho.
Pode-se também definir o campo de entrada com tipos variados de caracteres. Ex: "AANNNa", cujo significado seria: dois caracteres alfabéticos maiúsculos, seguidos de dois numéricos, seguido de um alfabético minúsculo. Um entrada possível seria:  HR246k.

Eis os "valores" do "format" ou tipos de campos:
A  -  Qualquer símbolo ou caractere alfabético maiúsculo (nenhum numérico).
a   -  Qualquer símbolo ou caractere alfabético minúsculo  (nenhum numérico).
N   - Qualquer caractere numérico (nenhum alfabético nem símbolos).
X   - Qualquer símbolo, caractere numérico ou alfabético maiúsculo 
x   -  Qualquer símbolo, caractere numérico ou alfabético minúsculo. 

Dados de entrada contidos numa máscara
É possível definir caracteres que farão parte obrigatoriamente do campo de entrada sem digitá-los.
Usamos uma "barra invertida para definir tais caracteres "fixos", que na realidade, constituem uma "máscara" para os dados.
Eis uma máscara para uma quantia em dinheiro: 
<input name="exemplo" format="\R\$NNN\,NN"/>

Com esta "máscara", basta digitar, por exemplo, seqüencialmente 35455 para obtermos a tela abaixo:

 

        

Abaixo, está a listagem que deu origem às três primeiras telas (format="\R\$NNN\,NN"):

Programa phone15a.wml (código)

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>

<card id="inicio">
<onevent type="onenterforward">
<refresh>
<setvar name="exemplo" value=""/>
</refresh>
</onevent> 
<do type="accept" label="Conferir">           
<go href="#confere"/> 
</do>    
 
<p align="center">
*** helyoWAP ***<br/>
Digite os dados:
<input name="exemplo" format="\R\$NNN\,NN"/> 
</p> 
</card> 

<card id="confere"> 
<do type="accept" label="Inicio">          
<go href="#inicio"/>      
</do>
<p align="center"> 
*** helyoWAP ***<br/><br/>
Voce digitou:<br/> 
$(exemplo)<br/>
</p> 
</card>
</wml>

Para conferência, o autor copiou/colou a listagem acima no "Bloco de Notas" do Windows, o que cancela qualquer tipo de formatação anterior. Em seguida, alinhou todas as linhas à esquerda (o processo de copiar/colar pode trazer algum código espúrio, não visível).   Após, gravou o programa como  phone15a.wml. 
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão para
phone15a.wml.txt!!! . Utilizando o Windows Explorer (recomendado nestes casos) o arquivo foi renomeado para phone15a.wml. Em seguida foi testado com êxito no OWG1 Simulator.
O leitor pode utilizar um simulador ou um celular WAP para acessar este programa no seguinte endereço da WEB:
http://sites.uol.com.br/helyomobile/wml/phone15a.wml . As telas poderão ter uma aparência diferente, dependo das características técnicas do simulador ou celular utilizado.

Comentários:
Este é o programa básico de entrada de dados, com conferência, adaptado para "limpar" os dados exibidos quando ocorre o retorno ao primeiro card (no primeiro processamento, ocorre a criação e inicialização da variável "exemplo" com valor igual a um  "branco").
Esta "limpeza" é proporcionada pelo trecho de código:
<onevent type="onenterforward">
<refresh>
<setvar name="exemplo" value=""/>
</refresh>
</onevent>

A variável "exemplo" é "zerada" (ou melhor, preenchida com um "branco") quando ocorre a exibição do primeiro card.
Como exercício, teste este programa mudando somente o formato do campo de entrada, testando outras possibilidades não mostradas aqui.

 


Programa Phone15b.wml

Vejamos agora uma máscara para uma data entre parênteses:
 <input name="exemplo" format="\(NN\ /AAA\ /NNNN\)"/>

Eis o resultado pretendido:

 

         


 Phone15b.wml (código):

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" 
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>

<card id="inicio">
<onevent type="onenterforward">
<refresh>
<setvar name="exemplo" value=""/>
</refresh>
</onevent> 
<do type="accept" label="Conferir">           
<go href="#confere"/> 
</do>    
 
<p align="center">
*** helyoWAP ***<br/>
Digite os dados:
<input name="exemplo" format="\(NN\ /AAA\ /NNNN\)"/> 
</p> 
</card> 

<card id="confere"> 
<do type="accept" label="Inicio">          
<go href="#inicio"/>      
</do>
<p align="center"> 
*** helyoWAP ***<br/><br/>
Voce digitou:<br/> 
$(exemplo)<br/>
</p> 
</card>
</wml>

Para conferência, o autor copiou/colou a listagem acima no "Bloco de Notas" do Windows, o que cancela qualquer tipo de formatação anterior. Em seguida, alinhou todas as linhas à esquerda (o processo de copiar/colar pode trazer algum código espúrio, não visível).   Após, gravou o programa como  phone15b.wml. 
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão para
phone15b.wml.txt!!! . Utilizando o Windows Explorer (recomendado nestes casos) o arquivo foi renomeado para phone15b.wml. Em seguida foi testado com êxito no OWG1 Simulator.
O leitor pode utilizar um simulador ou um celular WAP para acessar este programa no seguinte endereço da WEB:
http://sites.uol.com.br/helyomobile/wml/phone15b.wml . As telas poderão ter uma aparência diferente, dependo das características técnicas do simulador ou celular utilizado.

 

WirelessBRASIL                 Portal helyoWAP                    Anterior                    Próxima