o библиотеката Dialogs поддържа функционално потребителския интерфейс по аналогия с метода аlert() на JavaScript
o функциите се извикват по идентификатор на библиотеката и идентификатор на функцията – с разделител точка (а не диез) – за синтаксиса на библиотечинте функции вж. примерите от лекции 7. и 8.
2. Библиотека Lang; функции abort, exit, abs и characterSet
o тази библиотека съдържа функции, обслужващи интерфейса между WML и WMLScript
код – типови конверсии и проверки, управление на скрипт кода и т.н.
o функцията abort преустановява изпълнението на скрипт кода и връща управлението в точката на обръщение към WMLScript интерпретатора като присвоява на функцията стойността на параметъра й ако е низ – в противен случай invalid
o прилага се когато изпълнението на скрипт кода трябва да се преустанови при непоправима грешка
o резюме
синтаксис abort(value)
параметър typeof(value) = String
стойност на
функциятаvalue или invalid ако value не е низ
примериLang.abort("Script aborts with " + result); // Returns a string
Lang.abort(in_valid); // Returns invalid
o функцията exit преустановява изпълнението на скрипт кода и връща управлението в точката на обръщение към WMLScript интерпретатора като присвоява на функцията стойността на параметъра й от произволен тип
o прилага се когато изпълнението на скрипт кода трябва да се преустанови по алгоритмична логика, а не при непоправима грешка
o резюме
синтаксис exit(value)
параметър typeof(value) = Any
примериLang.exit("Script Ends with " + result); // Returns a string
Lang.exit(invalid); // Returns invalid
o функцията abs връща абсолютната стойност на числовия параметър, като запазва типа му (цял или с плаваща запетая) а нечисловите параметри конвертира до invalid
Стр. 1 от 25
WAP/WML 9
o резюме
синтаксис abs(value)
параметър typeof(value) = Number
стойност на
функцията|value| или invalid ако value не е число
var a = -6;
примери
var b = Lang.abs(a); // b = 6;
var c = -8.4;
var d = Lang.abs(c); // d = 8.4
o функцията charcterSet връща целочислената стойност на знакогенаратора съгласно MIBEnum списъка на знакогенератори (напр. на http://www.iana.org/assignments/character-sets)
o резюме
синтаксис characterSet()
стойност на функцията integer
пример a = characterSet(); //a = 1000 i.e. ISO-10646-UCS-2 aka Unicode
o пример:
"http://www.wapforum.org/DTD/wml_1.1.xml">
The Lang.abort result: $(result1) The Lang.abs result: $(result2)
The Lang.characterSet result: $(result3)
The Lang.exit result: $(result4)
WMLScript код във файла ex7-09_02.wmls:
extern function error(result) {
var errorCode = "ERROR";
var answ=Lang.abort(errorCode); WMLBrowser.setVar(result,answ);
var chars = Lang.characterSet(); WMLBrowser.setVar(result,chars);
WMLBrowser.refresh(); }
extern function doExit(result) {
var exitCode = "Function execution ends.";
result = Lang.exit(exitCode);}
3. Библиотека Lang; функции float, isFloat, parseFloat, isInt и parseInt
o функцията float връща стойност true ако микробраузера поддържа стойности с плаваща запетая
o резюме
синтаксис float()
стойност на функцията Boolean
пример var a = Lang.float();
o функциите parseFloat и parseInt конвертират символен низ до числова стойност от съответения тип, като разборът започва от първия символ в низа и завършва при откриване на символ, който не може да се идентифицира като компонент на числов запис
o резюме
синтаксис parseInt(value); parseFloat(value)
параметър typeof(value) = String
стойност на
функциятаNumber или invalid
var a = Lang.parseInt("+9351"); // a = 9351
var b = Lang.parseInt(" 9351 x/y"); // b = invalid
примери
var c = Lang.parseInt("9351 x/y"); // c = 9351
var d = Lang.parseFloat("935.14"); // d = 935.14
var e = Lang.parseFloat("-85.17e2 Kg"); // e = -85.17e2
var f = Lang.parseFloat("4.2e"); // f = invalid
o функциите isFloat и isInt връщат стойност true ако параметърът им може да се конвертира до числова стойност от съответния тип с използване на функциите parseFloat и parseInt съответно
o резюме
синтаксис isFloat(value); isInt(value)
параметър typeof(value) = Any
стойност на
функциятаBoolean или invalid
var a = Lang.isFloat("-935"); // a = true
var b = Lang.isFloat("-85.17e3"); // b = true
примери
var c = Lang.isFloat("pi"); // b = false var d = Lang.isFloat("@157"); // d = false
var e = Lang.isFloat(invalid); // e = invalid var f = Lang.isInt("-935"); // f = true
Стр. 3 от 25
WAP/WML 9
o пример:
var g = Lang.isInt("-85.17"); // g = true
var h = Lang.isInt("thousand "); // h = false var i = Lang.isInt("$157"); // i = false
var j = Lang.isInt(invalid); // j = invalid
"http://www.wapforum.org/DTD/wml_1.1.xml">
The Lang.float result: $(result1)_The_Lang.isFloat_result:_$(result2)_The_Lang.isInt_result:_$(result3)__The_Lang.parseFloat_result:_$(result4)'>$(result1) The Lang.isFloat result: $(result2) The Lang.isInt result: $(result3)
The Lang.parseFloat result: $(result4)
The Lang.parseInt result: $(result5)
WMLScript код във файла ex7-09_03.wmls:
extern function floats(result) {
var supportFloats = Lang.float(); // true or false WMLBrowser.setVar(result,supportFloats); WMLBrowser.refresh();}
var a = Lang.isInt("2000"); // a = true var answer = a;
a = Lang.isInt("9.10"); // a = true,
// parseInt can be used with float 9.10
// It returns value 9, which is
// an integer. answer += ", " + a;
a = Lang.isInt("string"); // a = false answer += ", " + a; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}
4. Библиотека Lang; функции min, max, minInt, maxInt, random и seed
o функциите min и max връщат съответно по-малкото и по-голямото число от двата си параметъра, които могат да бъдат цели или плаващи; при равенство се връща стойността на първия параметър
o резюме
синтаксис min(value1, value2); max(value1, value2)
параметри typeof(value1,2) = Number
стойност на
функциятаNumber или invalid
var a = Lang.min(40, 50.3); // a = 40 (integer)
примери
var b = Lang.min(40, 35.7); // b = 35.7 (floating) var c = Lang.max(40, 50.3); // c = 50.3 (floating) var d = Lang.max(40, 35.7); // d = 40 (integer)
o функциите minInt и maxInt връщат съответно най-малкото и най-голямото цяло число,
дефинирани за съответния микробраузер
o резюме
синтаксис minInt(); maxInt()
стойност на функцията Integer примериvar a = Lang.minInt(); // a = -2147483648
var a = Lang.maxInt(); // a = 2147483647
o функцията random връща неотрицателна цяла стойност, не по-голяма от зададения параметър и получена в резултат на псевдо-случайна генерация; ако е необходимо и възможно параметърът се конвертира до цяло число с вътрешно извикване на Float.int
o резюме
синтаксис random(value)
Стр. 5 от 25
WAP/WML 9
параметър typeof(value) = Number
стойност на функцията
Integer; 0 (value = 0); invalid (value < 0 | value not а
Number)
примериa = Lang.random(8.2); // a = 0..8
b = Lang.random("bsp"); // b = invalid
o функцията seed инициализира генератора на псевдо-случайни числа със зададения параметър и връща празен низ; ако е необходимо и възможно параметърът се конвертира до цяло число с вътрешно извикване на Float.int; отрицателен или нечислов параметър поражда резултат invalid като инициализацията на генератора остава неопределена
o резюме
синтаксис seed(value)
параметър typeof(value) = Number
стойност на
функциятаInteger или invalid
a = Lang.seed(8.2); // a = ""
примери
o пример
b = Lang.seed("bsp"); // b = invalid (генераторът не е променен)
e = Lang.max(c,e); // e = 2.5 answer += ", " + e; WMLBrowser.setVar(result, answer); WMLBrowser.refresh();}
Стр. 6 от 25
WAP/WML 9
extern function min_mum(result) {
var a = -10;
var b = 20;
var c = -0.5;
var d = 2.5;
var answer;
var e = Lang.min(a,b); // e = -10
answer = e;
e = Lang.min(c,d); // e = -0.5
answer += ", " + e;
e = Lang.min(d,e); // e = -0.5 answer += ", " + e; WMLBrowser.setVar(result, answer); WMLBrowser.refresh();}
extern function ran_dom(result) {
var rand1 = 10;
var rand2 = 1000;
var answer;
var x = Lang.random(5.1)*rand1; // x = 0, 10, 20, ..., 50
answer += x;
var y = Lang.random(rand2); // y = 0..1000 answer += ", " + y; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}
extern function c_it(result) { Lang.seed(200); // a = ""
var number = Lang.random(100); // number = 0..100 var answer = "Random seed: " + number; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}
5. Библиотека Float; функции ceil, floor, int, maxFloat и minFloat
o тази библиотека съдържа функции за обработка на стойности с плаваща запетая но някои от функциите имат и целочислени параметри
o функцията ceil връща най-малкото цяло число, не по-малко от нейния числов параметър
o резюме:
синтаксис ceil(value)
параметър typeof(value) = Number
стойност на
функциятаInteger или invalid
var a = Float.ceil(9.13); // a = 10
примери