Методические указания по заданию. 1. Создайте кнопку с анимационной связью Action

 

1. Создайте кнопку с анимационной связью Action. В Action для запуска (активизации) заданной книги MS Excel используйте функции: InfoAppActive, ActivateApp (эти функции можно использовать в сочетании с функцией InfoAppTitle), StartApp. Для StartApp следует указать не только путь к файлу EXCEL.EXE, но также и путь к рабочей книге. Для организации записи служебной информации в специальный файл используйте функции: InfoFile, StringFromTime, FileWriteMessage, Text (или StringFromIntg).

Анимационная связь Action для кнопки MS Excel
{активизация (запуск) рабочей книги - Study.xls} IF InfoAppActive( InfoAppTitle( "Excel" )) == 1 THEN ActivateApp InfoAppTitle( "Excel"); ELSE StartApp "c:\progra~1\micros~2\office\excel d:\user\intouch\study.xls"; ENDIF; {запись служебной информации a infostudy.txt} DIM Str AS MESSAGE; Str = StringFromTime(InfoFile("d:\user\intouch \study.xls", 3, $Year ), 3); FileWriteMessage("d:\user\intouch\infostudy.txt ", -1, Str +", ",0 ); Str = Text(InfoFile("d:\user\intouch\study.xls ", 2, $Year), "#" ); FileWriteMessage("d:\user\intouch\infostudy.txt ", -1, Str,1 );

2. Откройте рабочую книгу MS Excel. В любых выбранных вами ячейках введите формулы для связи с заданными тэгами учебного приложения InTouch. Например: «=View|Tagname!'Level_1'». Проверьте соответствие полученных результатов значениям тэгов в InTouch.

Для организации записи данных в таблицу MS Excel по запросу используйте функцию WWPoke. При этом, после ввода строки адрес ввода следующей строки должен увеличиваться на единицу.

3. Отведите в рабочей книге MS Excel ячейку под плановый объем выпускаемой продукции (например, R7C2) и запишите в нее какое-либо число. В учебном приложении InTouch для указанного показателя введите аналоговый тэг типа I/O. Адреса ввода для данного тэга в InTouch: Application Name - Excel, Topic Name - [Study.xls]Sheet1, Item - R7C2 (здесь предполагается, что данные находятся на листе Sheet1 в книге Study).

 


Задание 8. Мастера группы Windows Controls.

 

Цель работы:

 

Изучение объектов типа RadioButtomGroup, ListBox, ComboBox группы Windows Controls. Работа с библиотекой функций InTouch. Использование циклов FOR-NEXT в сценариях InTouch.

 

Теоретические положения

 

Сложные мастера группы Windows Controls.

 

Управляющие элементы группы Windows Controls применяются в приложениях InTouch для отображения текста, сбора вводимой пользователем информации или вывода вариантов выбора для оператора при выполнении приложения. Представленные в InTouch объекты ти­па ListBox, ComboBox являются сложными мастерами. В отличие от обычных мастеров, для указанных объектов разработаны спе­циальные системные функции, которые могут использоваться в Quick-сценариях InTouch. Мастер управляющего элемента окна должен иметь имя (можно использовать имя, задаваемое по умол­чанию) для идентификации данного объекта Windows Controls. InTouch использует имя элемента для выполнения какого-либо действия с данным объектом в соответствующих функциях сценария. Имя элемента не увеличивает число используемых приложением тэгов и должно быть уникальным для каждого управляющего элемента. Использование тэгов, хотя и не обяза­тельно, является ключевым для эффективной работы управляю­щего элемента. Например, выбор пункта из списка не имеет ни­какого смысла, если этот пункт не привязан к определенному тэ­гу и поэтому не передается автоматически в InTouch.

 

Организация циклов в Quick-сценариях InTouch.

 

Цикл FOR-NEXT используется для выполнения определенных операторов сценария многократно за один прогон сценария. Формат цикла FOR-NEXT следующий:

FOR АналоговыйТэг = НачалъноеВыражение ТО КонечноеВыражение

[STEP ВыражениеИзменения}

... операторы ...

[IF (ЛогическоеВыражение} THEN ЕХIT FOR; ENDIF;]

... операторы ...

NEXT;

Следует обратить внимание на оператор EXIT FOR. Этот опе­ратор используется для принудительного выхода из цикла. При­менять оператор EXIT FOR имеет смысл только в логической конструкции типа:

IF (ЛогическоеВыражение) THEN (Операторы) ENDIF;».

При этом «ЛогическоеВыражение» принимает значение «истина» в том случае, когда выполнение операторов внутри цикла больше не требуется. Циклы FOR-NEXT прерывают все другие операции InTouch. При выполнении приложения не происходит никакого перемещения данных в программу Window Viewer или из нее, не обновляются никакие связи анимации и не выполняются никакие другие сценарии, включая асинхронные Quick-функции. Однако, если циклы FOR-NEXT используются внутри асинхронных Quick-функций, они не останавливают выполнение других опера­ций. По умолчанию циклы FOR-NEXT должны завершить работу в течение 5 секунд. Это ограничение встроено в подсистему цик­лов FOR-NEXT ради безопасности. Однако данное ограничение можно изменить, добавив, например, следующий ключ в файл INTOUCH.INI, находящийся в каталоге приложения: LoopTimeout = 20, где: 20 - число секунд до преждевременного завершения цикла.

 

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

 

1. Для архивных алармов организуем сортировку по группам и приоритетам, для этого необходимо воспользоваться объектом типа RadioButtomGroup, объекты расположить, так как показано на рис.74.

Рис.74. Расположение объектов в окне исторических алармов.

2. Создать объект типа ListBox или ComboBox в окне регистрации ползователя. Используя лю­бой стандартный текстовый редактор, создать файл SPS1.TXT и занести в него несколько каких-либо фамилий.

С помощью кнопочного или оконного (On Show) сценария загрузить данный список в созданный объект (рис.75). Обес­печить вывод информации из списка в символьный тэг.

Рис.75. Окно регистрации пользователя

3. С помощью кнопки «Добавить новое имя» и поля ввода символьной информации дать возможность пользователю заносить в список новые имена (после каждого добавления список должен сохраняться в файле на диске).

4. Кнопка «Удалить из списка» должна обеспечить удаление выделенного имени из списка, а также из соответствующе­го файла.