helyoWAP |
|
TUTORIAL
WML |
Autor: Helio Fonseca Rosa
Esta página contém muitas figuras. Aguarde a carga se a conexão estiver lenta.
Programa phone7.wml
Objetivo: gerar uma tela que contém uma
lista de opções de signos (de horóscopo); ao ser escolhida uma opção e ser
pressionada a tecla "ACCEPT" cujo label é "Mensagem", o
programa é desviado para outra tela que exibe a mensagem correspondente ao
signo. Nesta nova tela, ao ser pressionada a tecla "ACCEPT" cujo label
é "Signos", é exibida novamente a tela com as opções iniciais.
Importante: poderemos gerar este programa
utilizando a mesma estrutura do programa anterior (phone5.wml)
que utilizou um deck com quatro cards. Mas vamos optar por uma técnica que
permite a utilização de apenas dois cards num mesmo deck.
[Telas exemplificando o funcionamento do programa phone7.wml]
phone7.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="card1">
<p align="center">
<do type="accept"
label="Mensagem">
<go
href="#exibir_mensagem"/>
</do>
<strong>**
helyoMOBILE **</strong><br/></p>
<p>
Escolha um signo:
<select name="horoscopo"
ivalue="2">
<option
value="Evite fazer promessas.">Capricornio</option>
<option
value="Aguarde grandes acontecimentos.">Peixes</option>
<option
value="Um novo amor espera por voce.">Aries</option>
</select>
</p>
</card>
<card id="exibir_mensagem">
<do type="accept" label="Signos">
<go href="#card1"/>
</do>
<p align="center">
<strong>**
helyoMOBILE **</strong><br/></p>
<p align="center">
<big>Mensagem:</big><br/>
$(horoscopo)
</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 phone7.wml.
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão
para phone7.wml.txt!!! . Utilizando o Windows
Explorer (recomendado nestes casos) o arquivo foi renomeado para phone7.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/phone7.wml
. As telas poderão ter uma aparência diferente, dependo das características técnicas
do simulador ou celular utilizado.
Comentários
:
O programa é constituído de um deck com dois cards. O primeiro card gera
a tela de opções de signos. Esta tela contém as diversas mensagens
correspondentes aos signos.O segundo card tem uma estrutura básica, fixa, e
recebe as mensagens da tela inicial que são "transportadas" dentro de
uma "variável"..
"Variável", como o próprio termo já vai indicando, é uma palavra
(ou "posição de memória") cujo conteúdo pode ser modificado.
Na realidade, como o deck é descarregado de uma só vez para a memória do
celular, o conteúdo da variável permanece no mesmo local, sendo utilizado
sempre que algum card desse deck tiver necessidade.
Este processo de "seleção de uma opção" é possível pela
utilização de dois elementos da linguagem WML chamados "select"
e "option".
O elemento <select> permite a escolha de um item numa
lista de opções (ou mais de um item - a ser estudado mais tarde). O elemento <select>
trabalha associado ao elemento <option> (não confundir com a tecla
"OPTIONS").
Por exemplo, suponhamos que foi escolhida a opção "Peixes".
Entrará em ação o código :
<option value="Aguarde grandes acontecimentos.">Peixes</option>.
A frase "Aguarde grandes acontecimentos"
será armazenada na variável de nome "horoscopo"
especificada em :
<select name="horoscopo" ivalue="2">
.
"ivalue" é um atributo do elemento
"select".
O valor "2" de "ivalue", no caso, indica que decidimos
que na abertura desta tela a seta estará indicando a segunda opção.
Em resumo o "funcionamento" do card1 é: ao ser escolhido um
signo, a mensagem correspondente é armazenada na variável "horoscopo"
e a tecla "ACCEPTt" com o label "Mensagem" desvia para o
<card id="exibir_mensagem"> .
Neste card ocorre a reprogramação da tecla "ACCEPT" para receber o
label "Signos" e efetuar o desvio para o card inicial <card
id="card1"> .Ainda neste card observe o seguinte: o nome
da variável que contém a mensagem é horoscopo
mas o seu conteúdo é referenciado como $(horoscopo).
Ou seja, na tela não é impresso o termo "$horoscopo" mas o conteúdo
da variável, que no caso é: Aguarde grandes
acontecimentos.
Esta representação é preferível à $horoscopo, que também funciona,
mas nem sempre.
No card 1 utilizamos o elemento <strong> e no card 2 o elemento <big>
que, no caso do UP Simulator, tiveram o mesmo efeito do elemento <b>
, que é "negritar"
Observação: a numeração dos itens não foi programada; foi colocada automaticamente pelo simulador.
Programa phone8.wml
Objetivo :
Acrescentar mais uma opção à lista inicial do programa anterior, mas para
desviar para uma tela diferente daquela de formato padrão.
Utilizar o atributo "onpick" que possibilita o desvio para um
endereço especificado dentro do elemento <option>.
Por exemplo, foi adicionada uma quarta opção, para ser usada durante a fase de
construção do programa. Se o usuário tentar acessar outro signo, será
exibida uma tela informando que o programa ainda está em construção.
phone8.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="card1">
<p align="center">
<do type="accept" label="Mensagem">
<go href="#exibir_mensagem"/>
</do>
<strong>** helyoMOBILE **</strong></p>
<p>
Escolha um signo:
<select name="texto_msg" ivalue="3">
<option value="Evite fazer
promessas.">Capricornio</option>
<option value="Aguarde grandes
acontecimentos.">Peixes</option>
<option value="Um novo amor espera por
voce.">Aries</option>
<option onpick="#construcao">Outros
signos</option>
</select>
</p>
</card>
<card id="exibir_mensagem">
<do type="accept" label="Signos">
<go href="#card1"/>
</do>
<p align="center">
<strong>** helyoMOBILE **</strong><br/></p>
<p align="center">
<big>horoscopo:</big></p>
<p>
$texto_msg
</p>
</card>
<card id="construcao">
<do type="accept" label="Signos">
<go href="#card1"/>
</do>
<p align="center">
<strong>** helyoMOBILE **</strong></p>
<p align="center">
<big>horoscopo:</big></p>
<p align="center">
(Por favor, aguarde. Estamos em construcao)
</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 phone8.wml.
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão
para phone8.wml.txt!!! . Utilizando o Windows
Explorer (recomendado nestes casos) o arquivo foi renomeado para phone8.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/phone8.wml
. As telas poderão ter uma aparência diferente, dependo das características técnicas
do simulador ou celular utilizado.
Comentários
"onpick" é um atributo do elemento
"option".
O atributo "onpick" produz um mecanismo diferente de
desvio. O endereço de desvio consta do próprio elemento <option>
e não mais do conjunto "do" e "go". As
modificações em relação ao programa anterior estão em vermelho.
Vejamos se está bem entendido : os três primeiros <option>
atribuem à variável "horoscopo" um
conteúdo/mensagem que será exibido pelo <card id="exibir_mensagem">
. Este mecanismo permite a exibição apenas da tela padrão produzida por este
card. Para exibir uma tela diferente é necessário outro método : o que usa o
"onpick", que redefine o endereço de desvio quando é acionada
a tecla "ACCEPT".
O atributo "onpick" é uma abreviação do elemento <onevent> cuja sintaxe completa pode ser vista no código abaixo (em vermelho) que é uma reprodução do <card id="card1">:
<card
id="card1">
<p align="center">
<do type="accept" label="Mensagem">
<go href="#exibir_mensagem"/>
</do>
<strong>** helyoMOBILE **</strong>
</p>
<p>
Escolha um signo:
<select name="horoscopo"
ivalue="2">
<option value="Evite
fazer promessas.">Capricornio</option>
<option value="Aguarde
grandes acontecimentos.">Peixes</option>
<option value="Um
novo amor espera por voce.">Aries</option>
<option>
<onevent type="onpick">
<go href="#construcao"/>
</onevent>Outros signos
</option>
</select>
</p>
</card>
Exercício sugerido:
substitua o trecho da listagem do programa phone8.wml
referente ao card1 por esta nova listagem e teste com o nome de phone8a.wml.
O autor fez este teste e o programa pode ser acessado em http://sites.uol.com.br/helyomobile/wml/phone8a.wml
.
Já podemos ganhar um pouco de flexibilidade na
programação.
Vamos retornar ao programa phone8.wml.
Outro modo de obter o mesmo resultado sem usar o atributo "onpick"
ou o elemento "onevent" seria programar o desvio para a tela "em
construção" utilizando a "softkey" "OPTIONS",
que está desocupada. A seta inicial deve estar apontada para o item 3 da
lista.
A tela desejada é mostrada abaixo:
Eis o código correspondente:
phone8b.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 id="card1">
<p align="center">
<do type="accept" label="Mensagem">
<go href="#exibir_mensagem"/>
</do>
<do type="options" label="Outros">
<go href="#construcao"/>
</do>
<strong>** helyoMOBILE **</strong></p>
<p>
Escolha um signo:
<select name="texto_msg" ivalue="3">
<option value="Evite fazer promessas.">Capricornio</option>
<option value="Aguarde grandes acontecimentos.">Peixes</option>
<option value="Um novo amor espera por voce.">Aries</option>
</select>
</p>
</card>
<card id="exibir_mensagem">
<do type="accept" label="Signos">
<go href="#card1"/>
</do>
<p align="center">
<strong>** helyoMOBILE **</strong><br/></p>
<p align="center">
<big>horoscopo:</big></p>
<p>
$texto_msg
</p>
</card>
<card id="construcao">
<do type="accept" label="Signos">
<go href="#card1"/>
</do>
<p align="center">
<strong>** helyoMOBILE **</strong></p>
<p align="center">
<big>horoscopo:</big></p>
<p align="center">
(Por favor, aguarde. Estamos em construcao)
</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 phone8b.wml.
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão
para phone8b.wml.txt!!! . Utilizando o Windows
Explorer (recomendado nestes casos) o arquivo foi renomeado para phone8b.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/phone8b.wml
. As telas poderão ter uma aparência diferente, dependo das características técnicas
do simulador ou celular utilizado.
Na seqüência, vamos apresentar dois procedimentos práticos com relação ao
elemento "select", que chamaremos de Dica_1 e Dica_2.