Примеры использования iRidium Script

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

Содержание


Работа с клавиатурой и полями ввода

Arrow download.png Пример: Работа с клавиатурой и полями ввода

С помощью iRidiumScript вы можете:

  • Вызывать разные виды клавиатур
  • Записывать с клавиатуры текст в элемент EditBox и редактировать введенный текст


В iRidium вы можете вызвать следующие типы клавиатур:

  • Regular
  • Numeric
  • Smart
  • Voice dialog


Получение данных с EditBox

Используя iRidiumScript вы можете считать информация вписанную в EditBox. Для этого следует использовать следующую конструкцию:

Text = IR.GetItem("Page_Name").GetItem("Item_Name").Text;

  • Text - переменная в которую требуется записать данные из EditBox
  • Page_Name - имя страницы на которой расположен EditBox
  • Item_Name - имя EditBox
IR.AddListener(IR.EVENT_WORK, 0, function() //Событие работает на протяжении работы приложения
{
  IR.GetItem("Page 1").GetItem("Item 2").Text = IR.GetItem("Page 1").GetItem("Item 1").Text; //Конструкция, которая считывает данные из EditBox и записыет в элемент
});


Считывание данных с EditBox

В iRidiumScript есть возможность считывание данных из EditBox'а, реализовано это так:

IR.AddListener(IR.EVENT_ITEM_CHANGE, IR.GetItem("Page 1").GetItem("Item 1"),function()  //Событие происходит при изменении
{
 IR.Log(IR.GetItem("Page 1").GetItem("Item 1").Text);  //Происходит вывод в лог, то что изменяется
});

↑ К оглавлению

Работа с цветовыми схемами

Arrow download.png Пример: Работа с цветовыми схемами

С помощью iRidiumScript можно изменять следующие цвета, используемые при отображении объекта:

  • цвет фона (FillColor),
  • цвет бордюра (BorderColor),
  • цвет текста (TextColor),
  • цвет текстового эффекта (TextEffectColor)

Для изменения цветов можно использовать следующие команды:

IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).Fillcolor=0xFFFFFFFF;

IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).BorderColor=0xFFFFFFFF;

IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).TextColor=0xFFFFFFFF;

IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).TextEffectColor=0xFFFFFFFF;

  • Page_Name - Имя страницы на которой расположен выбранный элемент
  • Item_Name - Имя элемента, у которого надо изменить цвет
  • State_Number - Номер стэйта у которого надо изменить цвет
  • 0xFFFFFFFF - Цветовая схема в Hex формате


Формат цвета

В iRidiumScript цветовая схема имеет следующую структуру:

0x FF FF FF FF

  • FF - Оттенок красного (00 - FF)
  • FF - Оттенок зеленого (00 - FF)
  • FF - Оттенок синего (00 - FF)
  • FF - Прозрачность (00 - FF)


Пример:

//Команда для изменения цвета заливки фона
 IR.GetItem("Page 1").GetItem("Item 1").GetState(0).FillColor = 0xFFFF00FF;    
//Команда для изменения цвета бордюра
 IR.GetItem("Page 1").GetItem("Item 1").GetState(0).BorderColor = 0xFFFF00FF;    
//Команда для изменения цвета текста
 IR.GetItem("Page 1").GetItem("Item 1").GetState(0).TextColor = 0xFFFF00FF;    
//Команда для изменения цвета текстового эффекта
/*(в разработке)*/IR.GetItem("Page 1").GetItem("Item 1").GetState(0).TextEffectColor = 0xFFFFFFFF;    


Основные коды цветов

  • Красный цвет 0xFF0000FF - Красный
  • Оранжевый цвет 0xFF5A00FF - Оранжевый
  • Желтый цвет 0xFFFF00FF - Желтый
  • Зеленый цвет 0x00FF00FF - Зеленый
  • Голубой цвет 0x00FBFFFF - Голубой
  • Синий цвет 0x0000FFFF - Синий
  • Фиолетовый цвет 0xA000FFFF - Фиолетовый

↑ К оглавлению

Работа со звуками

Arrow download.png Пример: Работа со звуками


С помощью iRidiumScript вы можете

  • Проигрывать звуковые файлы
  • Останавливать проигрывание звукового файла


Проигрывание звука

Для проигрывания звукового файла используется команда

IR.PlaySound('File_Name');

  • File_Name - имя звукового файла
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
 IR.PlaySound('ANGELS_F.WAV'); //Команда для проигрывания звука
});


Остановка звука

Для остановки воспроизведения звукового файла используется команда

IR.StopSound('File_Name');

  • File_Name - имя звукового файла
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
 IR.StopSound('ANGELS_F.WAV'); //Команда для проигрывания звука
});

↑ К оглавлению

Работа с элементами

Arrow download.png Пример: Работа с элементами


С помощью iRidium API можно создать изменить, удалить элемент графического интерфейса.


IR.CreateItem

Для создание элемента используется команда

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

  • Тип_элемента - указываем тип элемента, который создаем;
  • Имя_элемента - задаем имя элемента;
  • Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;
  • Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
IR.AddListener(IR.EVENT_START,0, function()           //Событие, которое срабатывает при начале работы приложения
{
IR.CreateItem(IR.ITEM_BUTTON,"Button",30,40,800,150);    //Создание итема
});


IR.GetItem

Для изменения элемента используется команда

IR.GetItem("Страница_Размещения_Элемента").GetItem("Имя_Элемента")

  • Страница_Размещения_Элемента - страница с расположенным элемент
  • Имя_Элемента - имя элемента, который редактируем
IR.AddListener(IR.EVENT_START,0, function()   //Событие, которое срабатывает при начале работы приложения
{
IR.CreateItem(IR.ITEM_BUTTON,"Button");    //Создание итема

IR.GetItem("Page 1").GetItem("Button").Width = 500;  // Изменение ширины итема
 
IR.GetItem("Page 1").GetItem("Button").Height = 100; //Изменение высоты итема
 
IR.GetItem("Page 1").GetItem("Button").X = 0; //Изменение координаты Х у итема
 
IR.GetItem("Page 1").GetItem("Button").Y = 100; //Изменение координаты Y у итема
 
IR.GetItem("Page 1").GetItem("Button").GetState(0).Border = 5; //Изменение типа бордюра у итема
 
IR.GetItem("Page 1").GetItem("Button").GetState(0).Text = "This is new items"; //Изменение отображаемого текста на итема
 
IR.GetItem("Page 1").GetItem("Button").GetState(0).Opacity = 200; //Изменение прозрачности итема(0-255)
//Изменение отображаемой картинки на итеме
//(Для получения имени картинки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("Page 1").GetItem("Button").GetState(0).Image =)
IR.GetItem("Page 1").GetItem("Button").GetState(0).Image = "pict.jpg"; 
//Изменение отображаемой иконки на итеме
//(Для получения имени картинки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("Page 1").GetItem("Button").GetState(0).Icon =)
IR.GetItem("Page 1").GetItem("Button").GetState(0).Icon = "pict.jpg"; 

IR.GetItem("Page 1").GetItem("Button").GetState(0).Font = "Tohoma";    //Изменение шрифта текста[размер текста]

IR.GetItem("Page 1").GetItem("Button").GetState(0).TextEffect = 1;      //Добавление эфектов к шрифту
            
});


IR.DeleteItem

  • в разработке


ItemsCount

Для подсчета числа элементов на странице существует функция

IR.CurrentPage.ItemsCount

Она возвращает количество элементов на выбранной странице. Полученное число можно сохранить в переменную или отобразить на элементе:

IR.AddListener(IR.EVENT_START, 0, function() // Функция запускаемая при старте приложения
{
  // Получаем идентификатор элемента на котором высветим число элементов
  var ShowCount = IR.GetItem("Page 1").GetItem("Item 107");
     
  // Получаем число элементов и отображаем
  ShowCount.Text = IR.CurrentPage.ItemsCount;  
});


Также можно подсчитать количество элементов на любой другой доступной странице, заменив:

IR.CurrentPage на IR.GetItem("Имя_Страницы")

  • Имя_Страницы - имя страницы на которой будут подсчитываться элементы
IR.AddListener(IR.EVENT_START, 0, function() // Функция запускаемая при старте приложения
{
  // Получаем идентификатор элемента на котором высветим число элементов
  var ShowCount = IR.GetItem("Page 1").GetItem("Item 107");
     
  // Получаем число элементов и отображаем
  ShowCount.Text = IR.GetItem("Page 2").ItemsCount;  
});


EVENTS

Что бы сделать приложение интерактивным, существуют события:

  • EVENT_ITEM_PRESS - нажатие
IR.AddListener(IR.EVENT_START, 0, function()       //Событие, которое срабатывает при начале работы приложения
{
    var popup =  IR.CreateItem(IR.ITEM_POPUP,"POPUP",  150, 10, 200, 200);   //Создаем попап
    var button = IR.CreateItem(IR.ITEM_BUTTON, "POPUP_BUTTON", 10,  10);    //Создаем итем
    button.Text = "POPUP";
 
    IR.AddListener(IR.EVENT_ITEM_PRESS, button, function()            //Событие, которое срабатывает при нажатии на кнопку
    {
         IR.TogglePopup("POPUP");                              //Показать попап
    });
});


  • EVENT_ITEM_RELEASE - отпускание
IR.AddListener(IR.EVENT_START, 0, function()         //Событие, которое срабатывает при начале работы приложения
{
    var popup =  IR.CreateItem(IR.ITEM_POPUP,  "POPUP2",  150, 10, 200, 200);   //Создаем попап
    var button = IR.CreateItem(IR.ITEM_BUTTON, "POPUP_BUTTON2", 10,  10);  //Создаем итем
    button.Text = "POPUP2";
 
    IR.AddListener(IR.EVENT_ITEM_RELEASE, button, function()       //Событие, которое срабатывает при отпускании кнопки
    {
         IR.TogglePopup("POPUP2");                //показать попап                  
    });
});       


  • EVENT_ITEM_SELECT - выбор
  • EVENT_ITEM_CHANGE - изменение
  • EVENT_MOUSE_DOWN - нажатие кнопки мыши
IR.AddListener(IR.EVENT_MOUSE_DOWN, IR.GetItem("Page 1"), function()           //Событие, которое срабатывает при отпускании клавиши мыши
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value -4           //изменения параметра итема (Понижение значения на 4)
});
  • EVENT_MOUSE_UP - отпускание кнопки мыши
IR.AddListener(IR.EVENT_MOUSE_UP, IR.GetItem("Page 1"), function()         //Событие, которое срабатывает при нажатии на клавишу мыши
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4           //изменения параметра итема (Повышение значения на 4)
});
  • EVENT_MOUSE_MOVE - движение кнопки мыши
IR.AddListener(IR.EVENT_MOUSE_MOVE, IR.GetItem("Page 1"), function()    //Событие, которое срабатывает при движении мыши
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4         //изменения параметра итема (Повышение значения на 4)
});
  • EVENT_TOUCH_DOWN - нажатие пальца
IR.AddListener(IR.EVENT_TOUCH_DOWN, IR.GetItem("Page 1"), function()            //Событие, которое срабатывает при отпускании пальца
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value -4        //изменения параметра итема (Понижение значения на 4)
});
  • EVENT_TOUCH_UP - отпускание пальца
IR.AddListener(IR.EVENT_TOUCH_UP, IR.GetItem("Page 1"), function()              //Событие, которое срабатывает при нажатии пальца
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4     //изменения параметра итема (Повышение значения на 4)
});
  • EVENT_TOUCH_MOVE - движение пальца
IR.AddListener(IR.EVENT_TOUCH_MOVE, IR.GetItem("Page 1"), function()         //Событие, которое срабатывает при движении пальца
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4    //изменения параметра итема (Повышение значения на 4)
});


IR.AddListener

Для обработки событий используется слушатель:

IR.AddListener(Событие, Элемент, function(){Тело_Функции})

  • Событие - собыитие, которое будет обрабатыватсья слушателем
  • Элемент - Идентификатор элемента, или переменая хранящая идентификатор элемента
  • Тело_Функции - команды которые должны выполняться при срабатывании события


Пример обработки событий:

// Обработка нажатия для
IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Color_Picker").GetItem("Item 20"), function()
{
  ColorPiker();
});

// Обработка движения мыши
IR.AddListener(IR.EVENT_MOUSE_MOVE, IR.GetItem("Color_Picker").GetItem("Item 20"), function()
{
  ColorPiker()
});

// Обработка движения пальца
IR.AddListener(IR.EVENT_TOUCH_MOVE, IR.GetItem("Color_Picker").GetItem("Item 20"), function()
{
 ColorPiker()
});


StartActions

Для того чтобы обратится к макросу существует команда

IR.GetItem("Имя_Страницы").GetItem("Имя_итема").StartActions(Тип_события)

  • Имя_страницы - указывает команде к какой странице нужно обратиться
  • Имя_итема - указывает команде к какому итему нужно обратиться
  • Тип_события - событие, при котором срабатывает макрос (PRESS, RELEASE, SELECT, CHANGE, MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE, TOUCH_DOWN, TOUCH_UP, TOUCH_MOVE)
IR.AddListener(IR.EVENT_START,0,function()    //Событие, которое происходит по старту приложения
{ 
IR.GetItem("Page 1").GetItem("Item 1").StartActions(IR.EVENT_ITEM_PRESS);    //Обращение к макросу
});


GetState

Для того чтобы обратится к стейту существует следующая команда:

IR.GetItem("Имя_страницы").GetItem("Имя_Итема").GetState(Положение_стейта).Свойства;

  • Имя_страницы - указывает команде к какой странице нужно обратиться
  • Имя_Итема - указывает команде к какому итему нужно обратиться
  • Положение_стейта - указывает команде к какому стейту нужно обратиться (отсчет идет с 0)
  • Свойства - указываем свойства для изменения
IR.AddListener(IR.EVENT_START,0,function()    //Событие, которое происходит по старту приложения
{ 
IR.CreateItem(IR.ITEM_BUTTON,"Button")  //Создаем итем

IR.GetItem("Page 1").GetItem("Button").GetState(0).Opacity = 200; //Обращаемся к стейту 1 и изменяем прозрачность

IR.GetItem("Page 1").GetItem("Button").GetState(1).Opacity = 10;  //Обращаемся к стейту 2 и изменяем прозрачность

IR.GetItem("Page 1").GetItem("Button").Feedback = 4 //указываем какой способ смены стейтов использовать

});

↑ К оглавлению

Работа со страницами и попапами

Arrow download.png Пример: Работа со страницами и попапами


Существуют следующие операции для взаимодействия со страницами и окнами проекта (попапами):

  • Создание страниц и попапов
  • Изменение страниц и попапов
  • Удаление страниц и попапов
  • Подсчет количества страниц и попапов
  • Работа с элементами расположенными на страницах и попапах
  • Добавление действий при активации жеста или нажатия
  • Добавление действий при смене ориентации устройства
  • Поворот попапов


Создание попапа

Для создания попапа используется команда

IR.CreateItem(IR.ITEM_POPUP, Имя_Попапа,КоординатаX, КоординатаY, Ширина_попапа, Высота_попапа);

  • IR.ITEM_POPUP - указывает команде создавать элемент типа попап;
  • Имя_Попапа - указывается имя попапа, который будет создан;
  • КоординатаX, КоординатаY - начальная позиция попапа в рабочем поле;
  • Ширина_попапа, Высота_попапа - ширина и высота попапа.


Пример создания попапа при старте приложения:

IR.AddListener(IR.EVENT_START,0,function()  //Событие, которое срабатывает при начале работы приложения
{
    //Создание попапа: IR.CreateItem(IR.ITEM_POPUP, Имя_Попапа,КоординатаX,КоординатаY, Ширина_попапа, Высота_попапа);
    IR.CreateItem(IR.ITEM_POPUP, "lamps", 0, 0, 480, 100); 
    IR.ShowPopup("lamps"); //Открыть попап на текущей странице
});


Создание страницы

Для создания страницы используется команда:

IR.CreateItem(IR.ITEM_PAGE, Имя_страницы, Ширина_страницы, Высота_страницы);

  • IR.ITEM_PAGE - указывает команде создавать элемент типа страница;
  • Имя_страницы - указывается имя страницы, которая будет создана;
  • Ширина_страницы, Высота_страницы - ширина и высота страницы.


Пример создания страницы при старте приложения:

IR.AddListener(IR.EVENT_START,0,function()  //Событие, которое срабатывает при начале работы приложения
{
//Создание страницы: IR.CreateItem(IR.ITEM_PAGE, Имя_страницы, Ширина_страницы, Высота_страницы);
    IR.CreateItem(IR.ITEM_PAGE, "New Page", 480, 100); 
    IR.ShowPage("New Page");  //Открыть страницу
});


Удаление страницы

  • в разработке


Удаление попапа

  • в разработке


Изменение свойств страницы

Для изменения свойства страницы следует сначала обратиться к самой странице:

IR.GetItem("Имя_Страницы")

  • Имя_Страницы - указывает к какой странице нужно обратиться.

У страниц есть свойства, теперь к ним можно обратиться и присвоить требуемое значение:

IR.GetItem("Page 1").Width = 100;

  • Width - указывает что нужно обратиться к свойству "ширина страницы".


Пример изменения свойств страницы:

  IR.GetItem("New Page").Width = 100;  // Изменение ширины страницы
  
  IR.GetItem("New Page").Height = 100; //Изменение высоты страницы
  
  IR.GetItem("New Page").X = 100; //Изменение координаты Х у страницы
  
  IR.GetItem("New Page").Y = 100; //Изменение координаты Y у страницы
  
  IR.GetItem("New Page").GetState(0).Border = 5; //Изменение типа бордюра у страницы
  
  IR.GetItem("New Page").GetState(0).Text = "This is new page"; //Изменение отображаемого текста на странице
  
  IR.GetItem("New Page").GetState(0).Opacity = 200; //Изменение прозрачности страницы(0-255)
//Изменение отображаемой картинки на странице
//(Для получения имени картинки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("New Page").GetState(0).Image =)  
  IR.GetItem("New Page").GetState(0).Image = "pict.jpg"; 
//Изменение отображаемой иконки на странице
//(Для получения имени иконки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("New Page").GetState(0).Icon =)    
  IR.GetItem("New Page").GetState(0).Icon = "pict.jpg"; 


Изменение свойств попапа

Для изменения свойства попапа следует сначала обратиться к самому попапу:

IR.GetItem("Имя_Попапа")

  • Имя_Попапа - указывает команде к какому попапу нужно обратиться.


У попапа есть свойства, теперь к ним можно обратиться и присвоить требуемое значение:

IR.GetItem("Popup 1").Width = 100;

  • Width - указывает что нужно обратиться к свойству ширина у попапа.


Пример изменения свойств у попапа:

  IR.GetItem("lamps").Width = 100;  // Изменение ширины попапа
  
  IR.GetItem("lamps").Height = 100; //Изменение высоты попапа
  
  IR.GetItem("lamps").X = 100; //Изменение координаты Х у попапа
  
  IR.GetItem("lamps").Y = 100; //Изменение координаты Y у попапа
  
  IR.GetItem("lamps").GetState(0).Border = 5; //Изменение типа бордюра у попапа
  
  IR.GetItem("lamps").GetState(0).Text = "This is new page"; //Изменение отображаемого текста на попапе
  
  IR.GetItem("lamps").GetState(0).Opacity = 200; //Изменение прозрачности попапа(0-255)
  
  IR.GetItem("lamps").GetState(0).Image = "pict.jpg"; //Изменение отображаемой картинки на попапе
  
  IR.GetItem("lamps").GetState(0).Icon = "pict.jpg"; //Изменение отображаемой иконки на попапе


Получение количества страниц в проекте

Чтобы узнать сколько страниц существует в проекте используйте команду

IR.PagesCount.

Команда возвращает число, его можно к примеру сохранить в переменную:

IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
  var count = IR.PagesCount; //Команда для подсчета количества страниц в проекте
});


Получение количества попапов в проекте

Что бы узнать сколько попапов существует в проекте используйте команду

IR.PopupsCount.

Команда возвращает число, его можно к примеру сохранить в переменную:

IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
  var PopupsCount = IR.PopupsCount; //Команда для подсчета количества попапов в проекте
});


Работа с элементами на странице

Для изменения свойств элементов следует сначала обратится к странице на которой расположен элемент, следом обратится к элементу, далее обратится к его свойству и присвоить ему новое значение

IR.GetItem("Имя_Страницы").GetItem("Имя_Элемента").Свойство = Новое значение;

//В цикле перебираем все страницы в проекте (Цикл начинается с 1 так как страница с нулевым идентификатором это системная страница, которая не может быть изменена)
for (var i = 1; i < PagesCount; i++) 
  {
    var a = IR.GetPage(i);             //Приравниваем переменной идентификатор страницы
    
    if (a.Name == "Page 1")            //Если имя перебираемой страницы соответствует Page 1 
    {
    
       a.GetItem("Item 2").Width = 10; //Изменяем у её элемента Item 2 ширину
    
    } 
  }


Работа с элементами на попапе

Для изменения свойств элементов следует сначала обратится к попапу на которой расположен элемент, следом обратится к элементу, далее обратится к его свойству и присвоить ему новое значение

IR.GetItem("Имя_Попапа").GetItem("Имя_Элемента").Свойство = Новое значение;

for (var i = 0; i < PopupCount; i++) //В цикле перебираем все попапы в проекте
  {
    var a = IR.GetPage(i);             //Присваиваем переменной идентификатор попапа
    
    if (a.Name == "Popup 1")            //Если имя перебираемого попапа соответствует Popup 1 
    {
    
       a.GetItem("Item 2").Width = 10; //Изменяем у его элемента Item 2 ширину
    
    } 
  }


Нажатия на страницу и жесты производящиеся на страницах

см. раздел Gestures API

Работа с ориентацией устройства

Каждое устройство может принимать вертикальное и горизонтальное положения. Для получения текущего положения устройства, следует использовать слушателя:

IR.AddListener(IR.EVENT_ORIENTATION, 0, function(orientation)

- где в переменной orientation передается 0 или 1 (0 - горизонтальная, 1 - вертикальная)

IR.AddListener(IR.EVENT_ORIENTATION, 0, function(orientation) //Событие срабатывает при смене ориентации устройства
{
  IR.Log(orientation); //положение устройства(0 - горизонтальное, 1 - вертикальное)
  
});


Получение текущей страницы

Для получения страницы открытой в данный момент используется команда

IR.CurrentPage;

IR.AddListener(IR.EVENT_START, 0, function()  //Событие, которое срабатывает при начале работы приложения
{
  var current = IR.CurrentPage; //Команда записывает идентификатор текущей страницы
});


Поворот попапов

Для поворота попапа используется команда

IR.GetItem("Popup_Name").Angle = Value;

Value - угол поворота в градусах

IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
  IR.GetItem("Popup 1").Angle = 50; //Команда для поворота попапа на введенное число (в градусах)
});


Масштабирование попапов

Для масштабирования попапа используется команда

IR.GetItem("Popup_Name").ScaleX = Value; или IR.GetItem("Popup_Name").ScaleY = Value;

Value - Процент масштабирования

IR.AddListener(IR.EVENT_START, 0, function()  //Событие, которое срабатывает при начале работы приложения
{
  IR.GetItem("Popup 1").ScaleY = 0.5;  //Команда масштабирующая попап по координате Y на 50%
  IR.GetItem("Popup 1").ScaleX = 0.8;  //Команда масштабирующая попап по координате X на 80%
  IR.GetItem("Popup 1").ScaleY = 1.5;  //Команда масштабирующая попап по координате Y на 150%
  IR.GetItem("Popup 1").ScaleX = 1.8;  //Команда масштабирующая попап по координате X на 180%
});


Обращение к странице

Вы можете обратиться к любой странице по её имени или идентификатору страницы с помощью команды

IR.GetPage(Имя_Страницы_или_идентификатор);

IR.AddListener(IR.EVENT_START, 0, function()  //Событие, которое срабатывает при начале работы приложения
{
  var MyPage = IR.GetPage("Page 1"); //Обращение к странице по имени
  var MyPage = IR.GetPage(0); //Обращение к странице по идентификатору
});


Обращение к попапу

Вы можете обратиться к любому попапу по его имени или по идентификатору попапа с помощью команды

IR.GetPopup(Имя_Попапа_или_идентификатор);

IR.AddListener(IR.EVENT_START, 0, function()  //Событие, которое срабатывает при начале работы приложения
{
  var MyPopup = IR.GetPopup("Popup 1"); //Обращение к попапу по имени
  var MyPopup = IR.GetPopup(0); //Обращение к попапу по идентификатору
});

↑ К оглавлению

Работа с JSON

Arrow download.png Пример: Работа с JSON


В iRidiumScript вы можете создавать и редактировать JSON-объекты.

JSON-объект - это текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком.

Пример JSON-объекта:

  "firstName": "Иван",
  "lastName": "Иванов",
  "address": {
      "streetAddress": "Московское ш., 101, кв.101",
      "city": "Москва",
      "postalCode": 101101
  },
  "phoneNumbers": [
      "812 123-1234",
      "916 123-4567"
  ]

В iRidiumScript используются следующие команды для работы с JSON-объектом:

  • JSON.Parse(value); - инструкция для преобразования строки в JSON-объект
  • JSON.Stringify(value); - инструкция для преобразования JSON-объекта в строку
var text =  '{"firstName": "Иван","lastName": "Иванов","address": {"streetAddress": "Московское ш., 101, кв.101", "city": "Ленинград", "postalCode": 101101},"phoneNumbers": ["812 123-1234","916 123-4567"]}'
IR.AddListener(IR.EVENT_START,0,function() //Событие срабатывает при начале работы приложения
{
    IR.Log("text = "+text); //Вывод в лог исходного теста
    
    var JSONObject = JSON.Parse(text); //Конвертирование исходного текста в JSON-объект

    IR.Log("JSONObject = "+JSONObject.lastName); //Вывод в лог полученного JSON-объекта
    
    var TextFromJSON = JSON.Stringify(JSONObject); //Переконвертирование JSON-объекта в текстовую строку
    
    IR.Log("TextFromJSON = "+TextFromJSON); //Вывод в лог полученной текстовой строки
});

↑ К оглавлению

Работа с Xml

Arrow download.png Пример: Работа с Xml


В iRidumScript Вы можете создавать и редактировать xml-объекты, а так же обращаться к каждому полю объекта и манипулировать им. Для создания xml-объекта используется команда

xmlObject = new XML('<test atrib="123">text</test>');

  • xmlObject - переменная которой мы назначаем тип xml-объект и записываем в нее xml-структуру
  • <test atrib="123">text</test> - данные которые будут храниться в объекте как поля и значения


var DEVICE = IR.GetDevice("Weather"); //Определяем драйвер работы с погодой

var xml;       //переменная хранит xml-объект

//---------------------------------------------------
//Блок инициализации пользовательских переменных
//---------------------------------------------------
var City;     
var Region;   
var Country;  
var Temperature; 
var Distance;
var Pressure;
var Speed;
var Chill;
var Direction;
var SpeedNumber;
var Humidity;
var Visibility;
var Pressure;
var Rising;
var Sunrise;
var Sunset;

//---------------------------------------------------

IR.AddListener(IR.EVENT_RECEIVE_TEXT, DEVICE, function(text) //Событие срабатывает, когда от сервера приходят данные
{
  
  xml = new XML(text); //Преобразуем полученные от сервера данные в xml-объект
  
//---------------------------------------------------
//Запись xml-аттрибутов в соответствующие переменные
//---------------------------------------------------
  
  City = xml.rss.channel["yweather:location"]["@city"]; //Запись названия города в переменную
  
  Region = xml.rss.channel["yweather:location"]["@region"]; //Запись названия региона в переменную
  
  Country = xml.rss.channel["yweather:location"]["@country"]; //Запись названия страны в переменную
  
  Temperature = xml.rss.channel["yweather:units"]["@temperature"];//Запись вида отображения погоды в переменную
  
  Distance = xml.rss.channel["yweather:units"]["@distance"]; //Запись единиц измерения скорости в переменную
  
  Pressure = xml.rss.channel["yweather:units"]["@pressure"]; //Запись показателей давления в переменную
  
  Speed = xml.rss.channel["yweather:units"]["@speed"]; //Запись показателей скорости в переменную
  
  Chill = xml.rss.channel["yweather:wind"]["@chill"]; //Запись показателей температуры в переменную
  
  Direction = xml.rss.channel["yweather:wind"]["@direction"]; //Запись направления ветра в переменную
  
  SpeedNumber = xml.rss.channel["yweather:wind"]["@speed"]; //Запись скорости ветра в переменную
  
//---------------------------------------------------
//Вывод в лог полученных значений
//---------------------------------------------------
  
  IR.Log("City = "+City);
  
  IR.Log("Region = "+Region);
  
  IR.Log("Country = "+Country);
  
  IR.Log("Temperature = "+Temperature);
  
  IR.Log("Distance = "+Distance);
  
  IR.Log("Pressure = "+Pressure);
  
  IR.Log("Speed = "+Speed);
  
  IR.Log("Chill = "+Chill);
  
  IR.Log("Direction = "+Direction);
  
  IR.Log("SpeedNumber = "+SpeedNumber);

});

↑ К оглавлению

Использование списков

Arrow download.png Пример: Использование списков


Листы (инерционные списки) содержат в себе заданное (целое, положительное) целое элементов.


Типы листов:

  • List - использует один шаблон для всех своих элементов, все элементы одного типа, одновременно отображается несколько элементов.
  • Static List - элементы листа - попапы, все разные, единовременно отображается только один элемент листа, выравнивается по центру листа.


Создание листа

Процесс создания листа, можно разделить на три этапа:

  • Создание элемента типа list
  • Создание и прикрепления шаблона для листа - заранее созданного окна popup
  • Наполнение листа

Для создания элемента list используется команда

IR.CreateItem(IR.ITEM_LISTBOX, Имя_Листа, Left, Top, Width, Height)

  • IR.ITEM_LISTBOX - указывает команде создавать элемент типа list
  • Имя_Листа - имя создаваемого листа
  • Left - отступ от левого края страницы
  • Top - отступ от верхнего края страницы
  • Width - ширина элемента
  • Height - высота элемента


Пример создания элемента list при старте приложения:

IR.AddListener(IR.EVENT_START,0,function()  // Событие, которое срабатывает при начале работы приложения
{
      IR.CreateItem(IR.ITEM_LISTBOX,"Item 1",277,10,441,751);    // Создаем элемент типа list, он создастася на странице которая отобразилась при старте
});


Шаблон листа

Шаблон листа - это попап, который задает порядок, размещение и количество подэлементов для элемента листа.

Шаблон может быть создан в редакторе при помощи визуального размещения элементов, а так же из под скрипта. Как создать попап из под скрипта можно прочитать здесь.

Для прикрепления шаблона к листу используется команда

Имя_Листа.Template = "Имя_Попапа"

  • Имя_Листа - имя переменной содержащей идентификатор листа
  • Template - свойство листа отвечающее за шаблон
  • Имя_Попапа - имя попапа, который будет использоваться как шаблон


Пример прикрепления шаблона к элементу типа list при старте приложения:

IR.AddListener(IR.EVENT_START,0,function()  // Событие, которое срабатывает при начале работы приложения
{
      IR.CreateItem(IR.ITEM_LISTBOX,"Item 1",277,10,441,751);    // Создаем элемент типа list, он создастася на странице которая отобразилась при старте
    
      list = IR.GetItem("Page 1").GetItem("Item 1");     // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
       
      list.Template = "Popup 1";   // Прикрепляем шаблон к созданному листу
});


Направление листа

Направление элемента лист отвечает за то, как будет ориентирован лист:

  • Vertical - элементы листа прокручиваются друг за другом сверху вниз
  • Horizontal - элементы листа прокручиваются друг за другом слева направо


Наполнение листа

После того как лист создан и шаблон попапа выбран, можно начать наполнение листа.

Для наполнения листа используется команда

Имя_Листа.CreateItem(element, sub_element, {Свойство_1: Значение, .. ,Свойство_N: Значение});

  • Имя_Листа - имя переменной содержащей идентификатор листа
  • element - номер элемента листа начиная с единицы
  • sub_element - номер подэлемента элемента листа, начиная с нуля. Ноль - это сам исходных попап
  • Свойство_1, Свойство_N - любые доступные свойства подэлемента, к примеру .Width - ширина. Свойство можно указывать через запятую N-раз, N - число доступных свойств для подэлемента
  • Значение - само значение, которое будет принимать свойство, к примеру для свойства .Width (ширина) укажем значение 1024.


Пример заполнения листа при старте приложения:

IR.AddListener(IR.EVENT_START,0,function()  // Событие, которое срабатывает при начале работы приложения
{
     list = IR.GetItem("Page 1").GetItem("Item 1");// Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
     
     list.CreateItem(1, 1, {Text: "TV Bedroom"});  // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
     
     list.CreateItem(2, 1, {Text: "Projector"});   // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"                                           
     list.CreateItem(2, 2, {Image: 1});            // У 2-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 1
     
     list.CreateItem(3, 1, {Text: "TV Hall"});     // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall"
     list.CreateItem(3, 2, {Image: 2});            // У 3-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 2
});


Изменение свойств листа

Изменение листа осуществляется путем создания элемента листа заново, с указанием нового значения для изменяемого свойства.


Пример изменения листа по нажатию на кнопку:

IR.AddListener(IR.EVENT_START,0,function()  // Событие, которое срабатывает при начале работы приложения
{
     list = IR.GetItem("Page 1").GetItem("Item 1");     // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
     button = IR.GetItem("Page 1").GetItem("Item 2");   // Получаем идентификатор элемента типа button и сохраняем его в переменной с именем button.
     
     list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
     
     list.CreateItem(2, 1, {Text: "Projector"});  // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"                                           
     list.CreateItem(2, 2, {Image: 1});           // У 2-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 1
     
     list.CreateItem(3, 1, {Text: "TV Hall"});     // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall"
     list.CreateItem(3, 2, {Image: 2});           // У 3-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 2
     
     
     // Для примера изменения листа поменяем второй элемент и третий местами по нажатию на кнопку
     IR.AddListener(IR.EVENT_ITEM_PRESS, button, function()  // Собыите, которое срабатывает при нажатии на кнопку
     {
      list.CreateItem(2, 1, {Text: "TV Hall"});  // Заменяем значения свойств 2-го элемента на значения свойств 3-го                                           
      list.CreateItem(2, 2, {Image: 2});           
     
      list.CreateItem(3, 1, {Text: "Projector"});  // А тут заменяем значения свойств 3-го элемента на значения свойств 2-го
      list.CreateItem(3, 2, {Image: 1});           
     });
});


Очистка листа

Очистка листа удаляет все элементы листа, используется когда в содержимом листа больше нет необходимости.
Для очистки листа существует метод Имя_Листа.Clear(), где

  • Имя_Листа - имя переменной содержащей идентификатор листа.


Пример очистки листа по нажатию на кнопку:

IR.AddListener(IR.EVENT_START,0,function()  // Событие, которое срабатывает при начале работы приложения
{
     list = IR.GetItem("Page 1").GetItem("Item 1");     // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
     button = IR.GetItem("Page 1").GetItem("Item 2");   // Получаем идентификатор элемента типа button и сохраняем его в переменной с именем button.
     
     list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
     
     list.CreateItem(2, 1, {Text: "Projector"});  // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"                                           

     
     list.CreateItem(3, 1, {Text: "TV Hall"});     // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall" 
     
     // Для примера очистки листа - сделаем очистку по нажатию на кнопку:
     IR.AddListener(IR.EVENT_ITEM_PRESS, button, function()  // Собыите, которое срабатывает при нажатии на кнопку
     {
        list.Clear(); // Очистка листа
     });
});


Удаление элементов

Если требуется удалить один или несколько элементов листа, для этого используется метод

Имя_Листа.DeleteItem(element)

  • Имя_Листа - имя переменной содержащей идентификатор листа.
  • element - номер элемента листа начиная с единицы.


Пример удаления элементов листа по нажатию на кнопку:

IR.AddListener(IR.EVENT_START,0,function()  // Событие, которое срабатывает при начале работы приложения
{
     list = IR.GetItem("Page 1").GetItem("Item 1");     // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
     button = IR.GetItem("Page 1").GetItem("Item 2");   // Получаем идентификатор элемента типа button и сохраняем его в переменной с именем button.
     
     list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
     
     list.CreateItem(2, 1, {Text: "Projector"});  // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"                                           

     list.CreateItem(3, 1, {Text: "TV Hall"});     // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall" 
     
     // Удаление элементов листа сделаем по нажатию на кнопку
     IR.AddListener(IR.EVENT_ITEM_PRESS, button, function()  // Собыите, которое срабатывает при нажатии на кнопку
     {
        list.DeleteItem(3); // Удаляем третий элемент листа
        list.DeleteItem(2); // Удаляем второй элемент листа
     });
});


↑ К оглавлению

Использование токенов

Arrow download.png Пример: Использование токенов


Токены (Tokens) записывают информацию при закрытии приложения, чтобы при повторном открытии приложения, вы вновь могли ей воспользоваться. Например: при вводе пароля, можно записать его в токен, чтобы в дальнейшем не требовалось его вводить.


Типы команд для работы с токенами:

  • Чтение из токена
  • Запись в токен


Запись значения в токен

Для записи данных в токен используется команда

IR.SetVariable("Tokens,имя_токена",'значение передаваемое в токен')

  • имя_токена - указываем имя токена, в который будет производится запись
  • значение передаваемое в токен - указываем значение, которое запишется в токен
IR.AddListener(IR.EVENT_START,0,function()   //Событие, которое срабатывает при начале работы приложения
{
IR.SetVariable("Tokens.example",'300')   //Запись в токен заданного значения
});


Чтение данных из токенов

Для того чтобы считать токен используется команда

IR.GetVariable("Tokens,имя_токена")

  • имя_токена - указываем имя токена, в который будет производится запись
IR.AddListener(IR.EVENT_START,0,function()   //Событие, которое срабатывает при начале работы приложения
{
IR.GetVariable("Tokens.example")   //Чтение из данного токена
});

↑ К оглавлению