PDF de programación - WMLScript

Imágen de pdf WMLScript

WMLScriptgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 22 de Enero del 2018)
603 visualizaciones desde el 22 de Enero del 2018
172,2 KB
18 paginas
Creado hace 14a (08/03/2010)
http://www.wmlclub.com/tutorialwmls/index.htm
http://www.lawebdelprogramador.com

DESCRIPCIÓN

WMLS son las siglas de Wireless Markup Language Script y es un lenguaje de programación que
junto con el WML nos permite el diseño de las páginas que se visulizan en los terminales móviles.
WAP son las siglas de Wireless Application Protocol.
El WMLS, igual que el WML es case sensitive (que distingue mayúsculas de minúsculas).
El navegador, además de poseer un intérprete para WML, también tiene uno para los scripts.
Además del propio lenguaje en sí, este intérprete implementa un conjunto de librerías que permiten
a nuestros programas acceder a ciertos servicios del terminal.
El código WMLS debe incluirse en un fichero distinto al fichero asociado WML.

UTILIZACION DE WMLScript
Con el WMLS se intenta realizar tareas que únicamente con WML sería imposible de realizarlas.
Entre las utilidades del WMLScript están las siguientes:

• Chequear la validación de los datos de entrada por parte del usuario.
• Manejar mediante código funcione propias del terminal, como realizar llamadas desde el

teléfono, enviar mensajes, agregar número de teléfono a la libreta de direcciones y acceder a
la tarjeta SIM.

• Realizar alertas, mensajes de error, confirmaciones, etc.



IDENTIFICADORES
Se utilizan identificadores para nombrar las variables, las funciones y los pragmas (información
para la unidad de compilación).
Estos identificadores tienen las siguientes reglas (las mismas que para nombrar las variables en el
wml):


Sólo letras y/o números y/o el guión bajo "_"

• Case-sensitive

• No pueden comenzar con un número
• Y además, tiene una regla adicional: no pueden ser iguales a una palabra reservada.


Tienes aquí una lista de palabras reservadas.

COMENTARIOS

Los comentarios en el WMLS, son como en el C o en el C++ (una sóla línea, empieza por // y más
de una línea empieza por /* y termina por */):
//comentario
/*
Comentarios de más
de una línea
*/

CARACTERES ESPECIALES

Si quieres escribir comillas (") barra (/) y otros caracteres más, tendrás que hacerlo de una forma
especial, porque en el wmls todos esos caracteres están reservados.

Aquí tienes una lista completa de caracteres especiales.
Los wmlscripts se pueden escribir en cualquier editor de texto normal y corriente. No pueden ser
ejecutados sin que sean llamados desde una carta wml.

PRIMEROS PASOS Vamos a hacer un sencillo wmls que convertirá las pesetas a dólares
(suponiendo un valor para el dólar de 166).

Si no quieres teclear, puedes bajártelo desde demos.

Primero necesitamos hacer el wml que recogerá la cifra que queremos pasar a dólares.

Este podría ser:

<?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="monedas"
title="WMLCLUB, demo" newcontext="true"> <p>Conversor de pts. a $$</p> <p><input
type="text" name="cantidad" title="Cantidad: " format="*N"/></p> <p><do type="accept">
<go href="pts-dolares.wmls#calcular('$(cantidad)')"/> </do> </p> <p>Resultado: $
(resultado)</p> </card> </wml>
En esta carta hemos creado una variable que se llama cantidad y lleva la cifra que queremos
convertir a dólares.
Además hemos incluído una variable, que no tiene nada, llamada resultado. En esta variable
meteremos el resultado en el wmls siguiente:

\** Comentario... Wmlclub demo * Comentario... Empieza la funcion del cálculo *\ extern
function calcular(cantidad) {

var dolar = (cantidad/166); var dolarString = String.toString(dolar); dolarString =
String.format("%.2f", dolarString); WMLBrowser.setVar("resultado", dolarString);
WMLBrowser.refresh();

}

Las tres primeras líneas son de comentarios, no hace falta ponerlas. Explico línea por línea.

• extern function calcular(cantidad) { Declaramos una función que llamamos

arbitrariamente calcular. La función es "extern" porque puede ser llamada (y de hecho
lo es) desde fuera de su unidad de compilación, usease, fuera del microprogramita
wmls. En esta función ya le decimos que tome la variable cantidad (desde donde haya
sido llamada). La función contiene las siguientes líneas que van entre corchetes { } :

• var dolar = (cantidad/166); Se declara una variable llamada dolar y se le asigna un

valor, en este caso, lo que haya introducido el usuario dividido entre 166 (el supuesto
valor actual de la moneda americana).

• var dolarString = String.toString(dolar); Como el resultado puede ser tremendo en

décimas, tenemos que hacer algo. Primero lo convertimos a una cadena de texto, con
String.toString. El resultado irá dentro de la variable dolarString.

• dolarString = String.format("%.2f", dolarString); Y ahora la variable dolarString

(que ya ha sido declarada, por lo que no necesita que se la vuelva a declarar con "var"),
se le da un formato adecuado para salir a escena. %, seguido de un número indica el
número de caracteres que tiene que imprimir en total. Si sólo ponemos %, imprimirá
todos los caracteres. El punto, indica el grado de precisión. En este caso hemos puesto
2f, que quiere decir: "dos dígitos a la derecha del punto decimal". Si hubiera puesto 3f,
serían tres decimales y así.

• WMLBrowser.setVar("resultado", dolarString); Aquí se crea una variable de

nombre resultado y cuyo valor es el contenido de dolarString y además se envía a la
carta desde la cual fue llamada esta función.

• WMLBrowser.refresh(); Refresca el browser para que en la pantalla aparezcan los

cambios (ahora la variable "resultado" tiene un valo

VARIABLES EN WMLSCRIPT

Las variables tienen que declararse (crearse) antes de poder utilizarlas en una expresión.
Esta es la forma de declarar una variable: var NombreVariable; var, seguido del nombre de
la variable, que es "case sensitive", como todo el wmlscript y el wml.

El nombre de la variable puede llevar caracteres alfabéticos, números y el guión bajo ("_"),
pero nunca puede empezar con un número.

En la declaración de una variable puede asignársele un valor inicial. Hay dos formas de hacerlo,
con igual resultado: var a; a = 1;
O esta otra forma: var a = 1;

También se pueden declarar varias variables a la vez: var a, b, c;

El valor de las variables en el WMLScript sólo duran lo que dura la función en la que son
declaradas. Por eso sólo se puede acceder a su valor dentro de la función donde han sido
declaradas.

TIPO DE DATOS

Las variables pueden contener cualquier tipo de datos:

• Boolean (true o false) Ejemplo: var respuesta = true;



Integer (número entero positivo o negativo, sólo desde -2147483648 hasta el
2147483647) Ejemplo: var num = 7890; El integer máximo y mínimo pueden
conseguirse durante la ejecución del script con las funciones de la librería Lang, así:
Lang.maxInt () Lang.minInt ()

• Float (número decimal, el mínimo es: +-1.17549435E-38 y el máximo es: +-

3.402823476E+38) Ejemplo: var num = 6.78; El float máximo y mínimo se consiguen
así: Float.maxFloat () Float.minFloat () Si el resultado de la operación da un
número mayor del máximo devuelve invalid a la variable y si es menor que el mínimo el
resultado es 0.0

• String (caracteres alfabéticos, se puede utilizar comillas dobles o simples) Ejemplo: var

nombre = "Juan";



Invalid (para distinguirlo de los otros tipos de datos o para saber por ejemplo cuándo el
resultado de una operación se sale de los máximos o los mínimos, etc.) Ejemplo: var
ex = invalid;

VARIABLES GLOBALES

Hay una forma de crear variables globales, esto es, variables que se almacenan en el contexto
del navegador y que pueden ser accedidas tanto por las cartas WML, como por las funciones
del WMLScript.

Estas variables hay que crearlas con la función setVar de la librería WMLBrowser, así:
WMLBrowser.setVar ("nombreVariable", valor);

La variable siempre tiene que tener un valor inicial:
WMLBrowser.setVar ("nombre", 0);

CARACTERES DE ESCAPE DEL URL

%3b

{

%2f }

%3f

|

%3a \

%7b

%7d

%7c

55c
%

%40 ^

%5e

;

/

?

:

@

&

=

+

$

,

%26

%3d

[

]

%2b `

%24 <

%2c >

%5b

%5d

%27

%3c

%3e

%23

space %20 #

LIBRERÍAS

Lo que vimos en el ejemplo anterior:

String.toString String.format WMLBrowser.setVar WMLBrowser.refresh son funciones
de las librerías de String y de WMLBrowser, respectivamente.

El WmlScript tiene seis librerías con sus funciones, que nos permitirán hacer muchas cosas:

• Lang (con sus funciones de aritmética y otras cosas)
• Float (con funciones para manejar números con decimales -no todos los browsers
soportan esta librería, porque hay algunos dispositivos que sólo admiten números
enteros-)

• String (con funciones para manejar cadenas de texto)
• URL (con funciones para manejar URLs)
• WMLBrowser (con funciones para leer y escribir variables WML y ejecutar algunas

tareas WML)

• Dialogs (con funciones para diálogos -mensajes en la pantalla que esperan una

respuesta del usuario)

Así que si ponemos String.toString estamos llamando a la función toString de la librería
String

Vamos a ver una por una todas las librerías, con ejemplos claros.

LIBRERÍAS: LANG Funciones aritméticas:

• abs (número) Ej: var x = Lang.abs(-5) // x = 5 el valor absoluto de un

número. El tipo de dato seguirá siendo el mismo que el número.

• max (número1, número2) Ej: var x = Lang.max(5, 3) // x = 5

Devuelve el número que sea mayor de número1 y número2. El tipo de dato
devuelto será el mismo que el número seleccionado. Si los dos números son
iguales, se seleccionará el número1.

• min (número1, número2). Ej: var x = Lang.min(5, 3) // x = 3

Devuelve el número que sea menor de número1 y número2. El tipo de dato
devuelto será el mismo que el número seleccionado. Si los números son
iguales devolverá el número1.

Funciones de conversión

Permiten convertir cadenas de texto a números enteros y números con decimales y también
comprobar que la conversión ha sido un éxito.





isFloat (
  • Links de descarga
http://lwp-l.com/pdf8414

Comentarios de: WMLScript (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad