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



              

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



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


Как обсуждалось выше, основная часть обработки данных, выполняемой приложением MortgageScript, реализуется с помощью функций, находящихся вWMLScript-файле. Например, когда пользователь вводит данные для некоторогоконкретного поля, такого, как процентная ставка, приложение активизирует всценарии функцию, которая выводит приглашение пользователю на ввод данных. Сценарий MortgageCaJe.wmls реализуется с помощью следующего программного кода: extern function GetPrincipal() { var Principal = WMLBrowser.getVar("Principal"); Principal = Dialogs.prompt("Enter Principal: $", Principal); WMLBrowser.setVar("Principal", Principal); } extern function GetInterest() { var Interest = WMLBrowser.getVar("Interest"); Interest = Dialogs.prompt("Enter Interest %", Interest); WMLBrowser.setVar("Interest", Interest); } extern function GetYears() { var Years = WMLBrowser.getVar("Years"); Years = Dialogs.prompt("Enter Years", Years); WMLBrowser.setVar("Years", Years); } extern function CalcPayments() { var Principal = WMLBrowser.getVar("Principal"); var Interest = WMLBrowser.getVar("Interest"); var Years = WMLBrowser.getVar("Years"); var MonthInt = (Lang.parseFloat(Interest) / 12) / 100; var Months = Lang.parseInt(Years) * 12; var Payment = Lang.parseInt(Principal) * (MonthInt / (1 - (Float.pow((1 + MonthInt), -Months)))); Payment = String.format("%6.2f", Payment); WMLBrowser.setVar("Payment", Payment); WMLBrowser.go("MortgageScript.wml#MortgageCalc"); } }
Как вы уже знаете, в настоящее время WMLScript-код необходимо размещать в отдельном файле и предварять имя каждой функции ключевым словом extern. Каждая из функций GetPrincipal, Getlnterest и GetYears выполняет сходную обработку. Они выделяют переменную для хранения значения, вызывают функциюString. dialog для отображения приглашения пользователю на ввод данногозначения, затем активизируют функцию WMLBrowser.setVar, чтобы сделать переменную видимой для всего программного кода приложения.
Для расчета закладной функция CalcPayments вызывает функцию WMLBrowser.getVar, чтобы получить значения для переменных Principal,Interest и Years. Затем программа преобразует ежегодный процент по кредиту(в формате 7.75) в ежемесячный процент. Процентная ставка в результате деления на 100 переводится в десятичный формат (0.0775). Далее программа рассчитывает платеж по закладной, форматирует полученную сумму для вывода и использует функцию WMLBrowser. setvar, чтобы сделать переменную платежа видимой для всего программного кода приложения. Так как приложение вызываетфункцию CalcPayments посредством элемента <до>, а не с помощью элемента<а>, то для возврата в основное приложение, в программном коде необходимоиспользовать функцию WMLBrowser. go.









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