- •Лабораторная работа №1
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №2
- •1 Теоретические положения
- •2 Ход работы
- •3 Отчет
- •4 Контрольные вопросы
- •Лабораторная работа №3
- •1 Теоретические положения
- •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 Контрольные вопросы
2 Ход работы
1. Для архивных алармов организуем сортировку по группам и приоритетам, для этого необходимо воспользоваться объектом типа RadioButtomGroup, объекты расположить, так как показано на рисунок 40.
Рисунок 40. Расположение объектов в окне исторических алармов
Создайте в окне «alarm» объект типа RadioButtomGroup (кнопка Wizards, раздел Windows Controls) с помощью соответствующего мастера. Нажмите дважды на данный объект, появится окно RadioButtom Group Control. При этом InTouch сам присвоит этому объекту имя (поле Control Name). Необходимо ввести в поле Tagname имя какого-либо тэга типа Memory Integer, в который будет выводиться номер соответствующего переключателя из списка (если такой тэг не существует, то после нажатия ОК последует запрос на его ввод), и сконфигурировать объект, как показано на рисунок 41.
Рисунок 41. Конфигурация переключателя RadioButtomGroup
Затем сконфигурируем объект исторических алармов, в поле Alarm Group вместо значения $System укажем свою переменную «ChangeGroup», типа Group Var, которой будем присваивать названия групп «$System», «Group_1», «Group_2», в зависимости от значения переключателя RadioButtom.
Для присваивания названий групп в зависимости от значения переключателей RadioButtom, надо написать скрипт на изменение переменной CounterRadio_1.
Сценарий изменения данных (Data Change). Tagname – CounterRadio_1 |
IF CounterRadio_1 == 1 THEN ChangeGroup = $System; ENDIF; IF CounterRadio_1 == 2 THEN ChangeGroup = Group_1; ENDIF; IF CounterRadio_1 == 3 THEN ChangeGroup = Group_2; ENDIF; |
Сценарий уровня приложения (Application). Тип – On Startup |
{При старте присваиваем вывода алармов группы $System} ChangeGroup = $System; |
Для сортировки алармов по диапазону приоритетов, создайте аналогичным способом, используя объект типа RadioButtomGroup
2. Создать объект типа ListBox или ComboBox. Используя любой стандартный текстовый редактор, создать файл SPS1.TXT и занести в него несколько каких-либо фамилий.
С помощью кнопочного или оконного (On Show) сценария загрузить данный список в созданный объект (рисунок 42). Обеспечить вывод информации из списка в символьный тэг.
Рисунок 42. Окно регистрации пользователя
Создайте в рабочем окне объект типа ListBox (здесь и далее в учебном приложении предполагается использование только данного типа элементов Windows Controls, так как с элементами типа ComboBox можно работать по аналогичной схеме) с помощью соответствующего мастера списка (кнопка Wizards, раздел Windows Controls). Нажмите дважды на данный объект. Появится окно ListBox Control. При этом InTouch сам присвоит этому объекту имя (поле Control Name). Вам следует ввести в поле Tagname имя какого-либо тэга типа Memory Message, в который будет выводиться информация из списка (если такой тэг не существует, то после нажатия ОК последует запрос на его ввод). Далее в группе свойств отметьте Sort Items для автоматической сортировки по алфавиту выводимой информации. В заданной папке создайте файл SPS1.TXT следующего вида:
LISTBOX,4
Петров,0
Иванов,0
Сидоров,0
Комаров,0
Первая строка - служебная. В ней указывается тип объекта, в который может загружаться данный список (не следует путать тип с именем), далее через запятую указывается число строк в списке. Остальные строки должны заканчиваться комбинацией служебных символов «,0». Для загрузки списка в созданный объект используйте функцию wcLoadList. В качестве аргументов этой функции используйте имя созданного объекта (то, что записано в поле Control Name) и полный путь к файлу SPS.TXT.
Сценарий окна Registration. Тип – On Show |
wcLoadList ( "ListBox_1", "sps.txt" ); |
3. С помощью кнопки «Добавить новое имя» и поля ввода символьной информации дать возможность пользователю заносить в список новые имена (после каждого добавления список должен сохраняться в файле на диске).
Для автоматического занесения новых имен в список воспользуйтесь функцией wcAddltem, далее используйте функцию wcSaveList для обновления файла SPS.TXT.
Кнопочные сценарии. Тип – On Key Down |
Кнопка «Удалить из списка» |
wcDeleteSelection ( "ListBox_1" ); wcSaveList ( "ListBox_1", "sps.txt" ); |
4. Кнопка «Удалить из списка» должна обеспечить удаление выделенного имени из списка, а также из соответствующего файла.
Для выполнения данного пункта задания используйте функции wcDeleteSelection и wcSaveList.
Кнопочные сценарии. Тип – On Key Down |
Кнопка «Добавить новое имя» |
IF NewName<>"" THEN wcAddItem ( "ListBox_1", NewName ); wcSaveList ( "ListBox_1", "sps.txt" ); NewName=""; ENDIF; |
