Пособие по написанию WAP-сайтов

         

Рассмотрение файла сценария SmartHouseScript.wmls



Рассмотрение файла сценария SmartHouseScript.wmls

Как уже упоминалось ранее, при первоначальном запуске приложения активизируется функция Initialize, находящаяся в файле SmartHouseScript.wmls. Каждый раз, когда пользователь изменяет установку, приложение вызывает связанную с ней функцию, которая также находится в этом файле. В настоящее времяWMLScript-код необходимо размещать в отдельном файле и предварять имя каждой функции ключевым словом extern. Сценарий SmartHouseScript.wmls реализуется с помощью следующего программного кода:

extern function Initialize()

{

var Dummy = Lang.seed(-1);

var Bedroom = Lang.random(1); if (Bedroom) Bedroom = "ON"; else Bedroom = "OFF"; WMLBrowser.setVar("Bedroom", Bedroom);

var Kitchen = Lang.random(1); if (Kitchen) Kitchen = "ON"; else Kitchen = "OFF"; WMLBrowser.setVar("Kitchen", Kitchen);

var Living = Lang.random(1); if (Living) Living = "ON"; else Living = "OFF"; WMLBrowser.setVar("Living", Living);

var Office = Lang.random(1); if (Office) Office = "ON"; else Office = "OFF"; WMLBrowser.setVar("Office", Office);

var Outside = Lang.random(1); if (Outside) Outside = "ON"; else Outside = "OFF"; WMLBrowser.setVar("Outside", Outside);

WMLBrowser.refresh(); }

extern function Bedroom()

{



var Bedroom = WMLBrowser.getVar("Bedroom"); if (Bedroom == "ON") Bedroom = "OFF"; else Bedroom = "ON";

WMLBrowser.setVar("Bedroom", Bedroom);

WMLBrowser.refresh();

}

extern function Kitchen()

{

var Kitchen = WMLBrowser.getVar("Kitchen"); if (Kitchen == "ON") Kitchen = "OFF"; else Kitchen = "ON";

WMLBrowser.setVar("Kitchen", Kitchen);

WMLBrowser.refresh();

}

extern function Living()

{

var Living = WMLBrowser.getVar("Living"); if (Living == "ON") Living = "OFF"; else Living = "ON";




WMLBrowser.setVar("Living", Living);

WMLBrowser.refresh();

}

extern function Office()

{

var Office = WMLBrowser.getVar("Office"); if (Office == "ON") Office = "OFF"; else Office = "ON";

WMLBrowser.setVar("Office", Office);

WMLBrowser.refresh();

}

extern function Outside()

{

var Outside = WMLBrowser.getVar("Outside"); if (Outside == "ON") Outside = "OFF"; else Outside = "ON";

WMLBrowser.setVar("Outside", Outside);

WMLBrowser.refresh();

}

Внутри функции Initialize для каждой установки в доме объявляется свояпеременная. Затем, используя функцию Random (генератор случайных чисел) созначением параметра равным 1, извлекается случайное число, 0 или 1, котороепотом используется для представления состояния off (Выкл) или on (Вкл). Послетого как программа присвоит переменным значения, она должна активизироватьфункцию WMLBrowser.setVar, чтобы сделать значения переменных видимыми запределами функции (другими словами, в результате этой операции значения переменных становятся видимыми для программного кода WML-страницы). Затем

сценарий вызывает функцию refresh (Обновить), предписывающую браузеруобновить экран, основываясь на текущей информации WML-страницы.

Каждая из функций сценария, в основном, выполняет одну и ту же обработку. Если соответствующая установка находится в состоянии on (Вкл), функция переключает установку в состояние off (Выкл) и наоборот. Для получения состоянияустановки программа должна активизировать функцию WMLBrowser. getVar. Каки прежде, после изменения установки, вызывается функция setVar, чтобы сделать изменение видимым для программного кода WML-страницы и функцияrefresh, чтобы ввести выполненное изменение в действие.


Дополнительную информацию по операторам и функциям WMLScriptможно найти в Приложении С, «Справочник по WMLScript».



Содержание раздела