Използване на WMLScript, WAP библиотеки

По един или друг начин, ако разработчикът иска да направи нещо полезно в WMLScript, той ще трябва да използва библиотеките, вградени в спецификацията WAP 1.1

WAP 1.1 има шест вградени стандартни библиотеки, като преобразуване на булеви, цели числа и регулярни променливи (LANG); операции с плаваща запетая (FLOAT); операции с низове (STRING); манипулиране на абсолютни и относителни URL адреси (URL); взаимодействие с WML браузъра (WMLBrowser) и няколко основни функции на потребителския интерфейс (DIALOGS).

След това трябва да разберем няколко важни понятия, използвайки примера на играта "магически квадрат", в която играчът поставя цели числа в квадратна матрица, като се уверява, че сборът от числата в колоните е равен на сбора в редовете. Нека създадем WML документ и да го наречем magic.wml. Той ще съдържа целия потребителски интерфейс и действителната логика на играта. Ще създадем и втори файл magic.wmls, който ще съдържа всички изчисления.

Първо, трябва да опишем взаимодействието между основните елементи на потребителския интерфейс и функциите на WMLScript. (ЗАПОМНЕТЕ: Функциите на библиотеките WML и WMLScript са чувствителни към главни и малки букви). Чрез извикване на функция на скрипт от WML документ можете да повлияете на контекста на документа директно от функцията, като използвате стандартните WML библиотеки на браузъра. Нека създадем тесте карти, което първо ще попита играча за позицията и стойността на цяло число, което ще бъде поставено в масив, който ще представлява един ред от игралното поле, и след това ще извика функция, за да постави този елемент в масива. Обърнете внимание, че когато играчът натисне бутона „OK“, за да въведе стойност, нашето тесте ще извика функцията FormRow, намираща се в „./magic.wmls“. Ето примерен код за колода, която извиква функция.

Сега трябва да създадем самата функция. Файлът magic.wmls трябва да бъде в същата директория като главния magic.wml. Ние декларираме в magic.wmls функцията FormRow от външен тип. Именно от тази функция ще взаимодействаме с WML палубата, използвайки библиотеката WMLBrouser. Библиотеката ни позволява да получаваме и задаваме стойностите на променливите в WML документ директно от функция. Пълен списък на функциите на WMLBouser можете да намерите тук.

Следният модул декларира външна функция, която получава променливи от колодата (в нашия случай, magic.wml), задава променлива за колодата на дисплея, за да сочи към колодата, която се показва на дисплея, и след това актуализира дисплея на потребителя. Кодът на модула е тук. Обърнете внимание, че изявленията в тестето WML са с малки букви:

Трябва да присвоите стойност на променлива чрез WMLBrowser, както следва:

Сега, след като видяхме основните взаимодействия, нека добавим манипулиране на низове към функцията. Спецификацията на WMLScript включва String библиотека, която, наред с други функции, ви позволява да третирате променлива като едномерен низов масив. Всичко, което трябва да направите, е да посочите текстов разделител, за да се покаже низът във форматирана форма. По-подробен страх от функциите на String библиотеката е тук.

В крайна сметка трябва да вмъкнем въведената от играча стойност в масива и в същото време масивът да съдържа тази стойност точно на позицията, чиято стойност е зададена от играча. Следващата част от кода показва как ще изчислим индекса в масива и ще поставим желаната стойност там. Засега ще пропуснем преобразуването в колони и просто ще попълним масива от елементи, започвайки от нула. Но ние ще конвертираме в следващата статия за библиотекатаЛанг.