Варианты создания и запуска скрипта

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск

Запуск скрипта через создание слушателей

Слушатель - это функция, которая выполняется в случае срабатывания указанного ей события.

1
2
3
4
5
// Объявляем слушателя на события запуска приложения
IR.AddListener(IR.EVENT_START, 0, function() 
{
   // Тело слушателя
});


Пример запуска скрипта через написание слушателей

ЗАГРУЗИТЬ: Пример проекта

X1.png


X24.png


X25.png


X20.png


  • Пример написанного слушателя:
1
2
3
4
5
6
7
8
9
10
11
12
13
IR.AddListener(IR.EVENT_START, 0, function()
// Действия выполняемые при старте приложения
{
    /* Создаем элемент типа Button и записываем его идентификатор
    в переменную button */
    var button = IR.CreateItem(IR.ITEM_BUTTON, "button1", 10,  10);
  
    IR.AddListener(IR.EVENT_ITEM_PRESS, button, function()
    // Действия выполняемы при старте приложения
    {
         IR.Log("Hello World");
    });
});


X21.png


X17.png


Примеры слушателей

  • IR.EVENT_START - начало работы клиента
1
2
3
4
IR.AddListener(IR.EVENT_START, 0, function()  //Выполнение действий по старту
{
     IR.Log("Start");  
});
  • IR.EVENT_WORK - цикличное выполнение во время работы клиента
1
2
3
4
5
6
7
8
9
10
11
12
var timer = 0;
var onTime = 800; // 800 ms = 0.8 s
IR.AddListener(IR.EVENT_WORK, 0, function(time)  //Выполнение действий при работе
 {
    timer += time;
    if(timer > onTime)
    {
        timer = 0;
                IR.Log("Click");
 
    }
});
  • IR.EVENT_EXIT - выход из клиента
1
2
3
4
IR.AddListener(IR.EVENT_EXIT, 0, function()  //Действие выполняется по выходу
{
     IR.Log("Exit");  
});
  • IR.EVENT_ITEM_PRESS - нажатие на итем (итемом может быть объект, попап, страница)
1
2
3
4
5
6
7
8
9
10
11
IR.AddListener(IR.EVENT_START, 0, function()
{
    var popup =  IR.CreateItem(IR.ITEM_POPUP,  "popup1",  150, 10, 200, 200);
    var button = IR.CreateItem(IR.ITEM_BUTTON, "button1", 10,  10);
    button.Text = "popup1";
 
    IR.AddListener(IR.EVENT_ITEM_PRESS, button, function()
    {
         IR.TogglePopup("popup1");
    });
});
  • IR.EVENT_ITEM_RELEASE - отпускание элемента
1
2
3
4
5
6
7
8
9
10
11
IR.AddListener(IR.EVENT_START, 0, function()
{
    var popup =  IR.CreateItem(IR.ITEM_POPUP,  "popup1",  150, 10, 200, 200);
    var button = IR.CreateItem(IR.ITEM_BUTTON, "button1", 10,  10);
    button.Text = "popup1";
 
    IR.AddListener(IR.EVENT_ITEM_RELEASE, button, function()
    {
         IR.TogglePopup("popup1");
    });
});
  • IR.EVENT_ITEM_SELECT - клик на элемент списка
1
2
3
4
5
// Собыите, которое срабатывает при нажатии на Элемент списка
IR.AddListener(IR.EVENT_ITEM_SELECT, IR.GetItem("Page 1").GetItem("Item 1"), function(item, subItem) 
     {
        list.DeleteItem(item); // Удаляем третий элемент листа
     });
  • IR.EVENT_GESTURE_BEGIN - начало жеста
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var button;
 
// Вызывается при старте
IR.AddListener(IR.EVENT_START, 0, function()
{
    // Создаем кнопку для переключения между страницами
    var button = IR.CreateItem(IR.ITEM_BUTTON, "text", 10, 10);
    button.Text = "";
     
    // Жесты
    IR.AddRecognizer(IR.GESTURE_SWIPE_LEFT);
    IR.AddRecognizer(IR.GESTURE_SWIPE_RIGHT);
    IR.AddRecognizer(IR.GESTURE_SWIPE_UP);
    IR.AddRecognizer(IR.GESTURE_SWIPE_DOWN);
    IR.AddListener(IR.EVENT_GESTURE_BEGIN, IR.CurrentPage, function(gesture)
    {
        switch(gesture)
        {
        case IR.GESTURE_SWIPE_LEFT:
            button.Text = "Left";
            break;
        case IR.GESTURE_SWIPE_RIGHT:
            button.Text = "Right";
            break;
        case IR.GESTURE_SWIPE_UP:
            button.Text = "Up";
            break;
        case IR.GESTURE_SWIPE_DOWN:
            button.Text = "Down";
            break;
        }
    });
});
  • IR.EVENT_ONLINE - подключение к устройству (драйверу)
1
2
3
4
IR.AddListener(IR.EVENT_ONLINE , 0, function()
{
     IR.Log("Device is online");  
});
  • IR.EVENT_OFFLINE - отключение устройства (драйвера)
1
2
3
4
IR.AddListener(IR.EVENT_OFFLINE , 0, function()
{
     IR.Log("Device is offline");  
});
  • IR.EVENT_RECEIVE_DATA - получение данных с устройства (бинарные данные)
1
2
3
4
IR.AddListener(IR.EVENT_RECEIVE_DATA , 0, function(text)
{
     IR.Log(text); //Выводит информацию полученную от устройства в байт формате  
});
  • IR.EVENT_RECEIVE_TEXT - получение данных с устройства (строковый формат)
1
2
3
4
IR.AddListener(IR.EVENT_RECEIVE_TEXT , 0, function(text)
{
     IR.Log(text); //Выводит информацию полученную от устройства в строковом формате     
});
  • IR.EVENT_TAG_CHANGE - изменение значения тега
1
2
3
4
5
IR.AddListener(IR.EVENT_TAG_CHANGE , 0, function(name,value)
{
     IR.Log("Name = "+name+"  value = "+value);
//Выводит в консоль имя измененного тега и его новое значение   
});
  • IR.EVENT_KEYBOARD_SHOW - открытие клавиатуры
1
2
3
4
IR.AddListener(IR.EVENT_KEYBOARD_SHOW, 0, function()
{
     IR.Log("keyboard showed on screen");  
});
  • IR.EVENT_ORIENTATION - смена ориентации устройства
1
2
3
4
5
6
7
IR.AddListener(IR.EVENT_ORIENTATION, 0, function(orientation)
//Событие срабатывает при смене ориентации устройства
  {
    IR.Log(orientation);
//положение устройства(0 - горизонтальное, 1 - вертикальное)
    
  });  
  • IR.EVENT_MOUSE_DOWN - движение мыши вниз
1
2
3
4
IR.AddListener(IR.EVENT_MOUSE_DOWN, 0, function()
{
     IR.Log("Mouse Down");  
});
  • IR.EVENT_MOUSE_UP - движение мыши вверх
1
2
3
4
IR.AddListener(IR.EVENT_MOUSE_UP, 0, function()
{
     IR.Log("Mouse Up");  
});
  • IR.EVENT_MOUSE_MOVE - движение мыши в любом направлении
1
2
3
4
IR.AddListener(IR.EVENT_MOUSE_MOVE, 0, function()
{
     IR.Log("Mouse Move");  
});
  • IR.EVENT_TOUCH_DOWN - движение пальцем вниз
1
2
3
4
IR.AddListener(IR.EVENT_TOUCH_DOWN, 0, function()
{
     IR.Log("touch down");  
});
  • IR.EVENT_TOUCH_UP - движение пальцем вверх
1
2
3
4
IR.AddListener(IR.EVENT_TOUCH_UP, 0, function()
{
     IR.Log("touch up");  
});
  • IR.EVENT_TOUCH_MOVE - движение пальцем в любую сторону
1
2
3
4
IR.AddListener(IR.EVENT_TOUCH_MOVE, 0, function()
{
     IR.Log("touch move");  
});
  • IR.EVENT_ITEM_CHANGE - изменение элемента editbox
1
2
3
4
5
6
IR.AddListener(IR.EVENT_ITEM_CHANGE, IR.GetItem("Page 1").GetItem("Item 1"),function()
//Событие происходит при изменении
{
 IR.Log(IR.GetItem("Page 1").GetItem("Item 1").Text); 
//Происходит вывод в лог, то что изменяется
});

Пример запуска скрипта используя макрос Script Call

ЗАГРУЗИТЬ: Пример проекта

В этом примере будет подробно описан алгоритм запуска скрипта используя Script Call средствами GUI редактора.

X1.png


X2.png


X3.png


X4.png


X5.png


  • Пример написанной функции:
1
2
3
4
function MyFunction()
{
 IR.Log("Hello World");
}


X6.png


X7.png


X8.png


X9.png


X10.png


X11.png


X12.png


X13.png


X14.png