Опубликован: 02.12.2006 | Доступ: свободный | Студентов: 1500 / 212 | Оценка: 4.12 / 3.91 | Длительность: 05:09:00
Специальности: Программист
Лекция 2:

Ввод и задачи в WML. Таймер и переменные

< Лекция 1 || Лекция 2: 123 || Лекция 3 >

Задачи WML

Задача определяет действие, которое выполняется при наступлении события - например, входа на карту или нажатия ссылки.

Задача Go

Данная задача предписывает переход к новой карте.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
 <anchor>
  Вперед
  <go href="next.wml"/>
 </anchor>
</p>
</card> 
</wml>
Задача Prev

Данная задача предписывает возврат к предыдущей карте.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
 <anchor>
  Назад
  <prev/>
 </anchor>
</p>
</card> 
</wml>
Задача Refresh

Данная задача обновляет некоторые определенные переменные карты. При этом, если какая-либо из переменных выводится на экране, то экран будет обновлен. Следующий пример использует тег <anchor> для создания на карте ссылки "Обновить страницу". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
 <anchor>
  Обновить 
  <go href="first.wml"/>
  <refresh>
   <setvar name="a" value="15"/>
  </refresh>
 </anchor>
</p>
</card>
</wml>

В приведенном примере используется тег <anchor> для создания на карте ссылки "Обновить". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15.

Задача Noop

Noop является сокращением "no operation" - "нет операции". Таким образом, данная задача указывает, что делать ничего не надо, и используется, например, для переопределения элементов навигации между картами колоды.

Когда пользователь нажимает на экране слово/фразу, задача активизируется - для этого применяется тег <do>:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
 <do name="back" type="prev" label="Возврат">
  <noop/>
 </do>
</p>
<p>
Возврата нет
</p>
</card> 
</wml>

В данном примере используется тег <do>, чтобы создать на карте ссылку "Возврат". Когда пользователь нажимает ссылку "Возврат", на экране должна была бы появиться предыдущая страница, но тег <noop> отменяет эту операцию. Таким образом, когда пользователь нажмет ссылку "Возврат", ничего не произойдет.

Элементы задач:
Начальный тег Назначение WML
<go> Переход к новой карте 1.1
<noop> Говорит, что ничего не надо делать. Используется для переопределения элементов уровня формы 1.1
<prev> Переход к предыдущей карте 1.1
<refresh> Обновляет некоторые определенные переменные карты 1.1

Таймер

На карте WML можно использовать функцию таймера WML. Единица измерения времени в таймере равна 1/10 секунды.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card ontimer="next.wml">
<timer value="100"/>
<p>Заголовок</p>
</card>
</wml>

Данный пример выводит заголовок в течение 10 секунд, а затем происходит переход к файлу "next.wml".

< Лекция 1 || Лекция 2: 123 || Лекция 3 >