- •Лабораторная работа №1
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №2
- •1 Теоретические положения
- •4 Контрольные вопросы
- •Лабораторная работа №3
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №4
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №5
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №6
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №7
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №8
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №9
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа № 10
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
3 Отчет
Отчет должен содержать:
- тема;
- цель;
- ход работы;
- вывод.
4 Контрольные вопросы
1. Что такое тэг?
2. Какие типы переменных используется в InTouch?
3. Где осуществляется выбор переменной?
4. Что вы знаете о супертэгах?
5. Как можно удалить тэг?
6. Как установить динамические свойства объекта?
Лабораторная работа №4
Тема: Скрипты в InTouch.
Цель работы: Получение начальных навыков работы с языком сценариев InTouch. Изучение особенностей программирования Quick-Function.
1 Теоретические положения
Типы скриптов Scripts.
Скрипты в InTouch - это программные фрагменты, активизируемые по событиям (по нажатию клавиши, кнопки, открытию окна, изменению значения переменной и т. д.). Порядок выполнения скриптов зависит от приложения.
В InTouch различают несколько типов скриптов:
Application Scripts (скрипты уровня приложения) относятся ко всему приложению и используются для запуска других приложений, имитации технологических процессов, вычисления значений переменных и т.д. Существует три типа сценариев приложения:
On Startup - выполняется однократно при запуске приложения.
While Running - выполняется непрерывно с заданной частотой, пока приложение выполняется.
On Shutdown - выполняется однократно при завершении работы приложения.
Когда выбирается сценарий While Running, становится активным поле Every 0 Milliseconds. В этом поле нужно ввести время в миллисекундах, через которое сценарий будет выполняться повторно.
Window Scripts (скрипты уровня окна) связываются с конкретным окном. Существует три типа таких сценариев:
On Show - выполняется однократно при открытии окна.
While Showing - выполняется непрерывно через заданный интервал, пока окно открыто.
On Hide - выполняется однократно при сворачивании окна.
Key Scripts (клавишные скрипты) привязываются к какой-либо клавише или комбинации клавиш клавиатуры. Это может быть полезным при создании каких-либо глобальных для всего приложения функций (возврат в главное окно, окончание сеанса работы с приложением и т. д.). Существует три типа сценариев клавиши:
On Key Down - выполняется один раз при первом нажатии клавиши.
While Down - выполняется непрерывно с заданным интервалом, пока нажата клавиша.
On Key Up - выполняется один раз при отпускании клавиши.
Touch Pushbutton Action Scripts (скрипты, запускаемые кнопками) очень похожи на клавишные скрипты и связываются с объектами, которые будут использоваться в качестве исполнительных кнопок. Эти скрипты запускаются при каждом нажатии на объект-кнопку.
Condition Scripts (скрипты по изменению логического выражения) связываются с логической переменной или выражением, которое будет принимать значения либо "истина", либо "ложь". Логические скрипты могут содержать в себе и аналоговые переменные.
Существует четыре типа сценария условия:
On True - выполняется однократно, когда условие становится истинным.
On False - выполняется однократно, когда условие становится ложным.
While True - выполняется непрерывно, пока условие остается истинным.
While False - выполняется непрерывно, пока условие остается ложным.
Data Change Scripts (скрипты по изменению данных) связываются либо с переменной, либо с полем переменной. Эти скрипты исполняются только один раз, когда значение переменной либо поля меняется на величину, превышающую значение допуска, заданного в словаре переменных.
ActiveX Event (скрипты событий ActiveX) предназначены для поддержки механизма реакции на события в ActiveX - объектах. С каждым событием может быть связан один скрипт типа ActiveX Event, запускающийся в WindowViewer во время исполнения приложения.
Quick Function - скрипты, которые могут вызываться из других скриптов и использоваться в выражениях при определении динамических свойств объектов.
Диалоги редактора, открываемые при создании скриптов различных типов, имеют небольшие отличия. Вызов диалога редактора скриптов в окне WindowMaker осуществляется командой Special/Scripts с последующим выбором типа создаваемого или редактируемого скрипта. Для этого можно также воспользоваться окном Application Explorer, выбрав папку Scripts. На рисунке 18 приведен диалог Application Scripts (скрипты уровня приложения).
Рисунок 18. Редактор скриптов Application Scripts (уровень приложения)
Редактор скриптов InTouch поддерживает два типа скриптов: простые и сложные. Простые скрипты - это скрипты, содержащие операторы присваивания, сравнения, простые математические функции и т. д. Сложные скрипты позволяют выполнять различные логические операции типа IF - THEN - ELSE, а также могут включать циклы типа FOR - NEXT.
Справа, в поле Functions, размещены клавиши вызова списков различных групп встроенных функций. Доступ к спискам встроенных функций возможен также командой Insert/Functions с последующим выбором группы функций.
Встроенные функции
В пакете InTouch имеется набор встроенных функций, которые могут быть связаны с командами или использованы в скриптах для выполнения самых различных задач.
Все встроенные функции разбиты на четыре группы:
String... - для обработки различных символьных строк и переменных;
Math... - математические функции;
System... - системные функции;
Misc... - функции для работы с алармами распределенных систем, трендами, печатью и др.
Вызов списка функций группы осуществляется нажатием соответствующей клавиши.
Использование Ouick-функций.
QuickFunctions хранятся в том приложении, в котором были созданы. Вызывая Quick-функции из других сценариев или выражений, вы можете создать сценарий один раз и использовать его повторно сколько угодно раз. Повторное использование этих сценариев снижает трудозатраты разработчика, поскольку отпадает необходимость в дублировании кода, не нужно копировать его и вставлять в другие сценарии. Повторяемый код хранится в одном сценарии и в одном месте, позволяя тем самым обновлять все экземпляры сценария за один сеанс редактирования. Quick-функции могут быть определены как асинхронные, т.е. при выполнении приложения они будут работать в фоновом режиме, не мешая основному процессу WindowViewer. Это позволяет WindowViewer выполнять особенно длительные операции, например, запросы к базе данных SQL, раздельно от основного хода программы. В качестве имен аргументов Quick-функций нельзя использовать имена тэгов. Имена тэгов имеют более высокий приоритет, чем такие же имена аргументов, и потому сценарий будет выполняться некорректно. Имя аргумента не влияет на счетчик использования тэгов, поскольку рассматривается системой как локальная переменная. При вызове Quick-функции в поле Expression должен содержаться оператор CALL вызова функций, каждая из которых, в свою очередь, должна иметь в качестве последнего оператора RETURN для возврата результата в вызывающее выражение. Когда встречается RETURN, выполнение Quick-функции немедленно прерывается. Возвращаемые данные могут быть дискретного, целого и действительного типа.
