Матеріали курсу Людино-машинні інтерфейси
Функція WinFree закриває спливаюче вікно. Синтаксис:
WinFree()
Функція WinNew створює нове вікно з вказаним іменем сторінки.
WinNew (sPage)
де sPage – символьне ім’я сторінки. Наприклад, наступний код створює вікно зі сторінкою “Alarm”, вказівник на вікно записується в змінну Window.
Window=WinNew("Alarm");
Функція WinNew як правило використовується для створення спливаючих вікон або суперджинів. Альтернативою для відкриття спливаючих вікон може слугувати функція PagePopUp
, яка відкриває сторінку у місці розміщення курсору. Кожен новий виклик буде відкривати сторінку в цьому ж вікні. Синтаксис:
PagePopUp(sPage)
Для відкриття вікна у вказаній позиції та означення його поведінки використовується функція WinNewAt. Синтаксис:
WinNewAt(sPage, X, Y, Mode)
де sPage – назва або номер сторінки, що повинна відобразитися
X, Y – координати в пікселях
Mode – режим вікна: ціле число, що задається набором бітів. Деякі значення наведені нижче (інші див. в довідниковій системі);
1 – дочірня сторінка вікна, з якого було викликане; закривається при виклику функцій PageDisplay() або PageGoto().
2 – дочірнє вікно вікна, з якого було викликане; вікно закривається при виклику WinFree().
4 – не можна змінювати розмір, не має іконок максимізації і мінімізації;
8 – не має іконок, з товстими рамками та написом
16 – не має іконок і напису, з тонкими рамками
64 – завжди на передньому плані
128 – відкриття унікального вікна, не може відкриватися більше ніж один раз одночасно
Наприклад, наступний код викличе дочірнє вікно зі сторінкою “Popup” в позиції 100,200:
WinNewAt("Popup", 100, 200, 2)
Для виклику спливаючого вікна або суперджина з передачею параметрів в асоціації можна використати функцію AssWin
. Дана функція об’єднує дві функції Ass
– для підстановки асоціативних змінних, та WinNewAt
. Синтаксис функції:
AssWin(sPage, X, Y, Mode, sTag1, [sTag2..8])
sPage – ім’я спливаючої сторінки, або суперджина; необхідно не забувати, що у більшості випадків ім’я починається з “!”;
X, Y – координати (аналогічно як в WinNewAt);
Mode – режим вікна (аналогічно як в WinNewAt);
sTag1, [sTag2..8] - ім’я асоціативних змінних (до 8-ми), вказуються в лапках.
Наприклад, наступний код викличе суперджин “!MyGenie” з кординатами 100 та 200 та передачею в місце асоціацій трьох змінних “PV123”, “OP123” та “SP123”.
AssWin("!MyGenie", 100, 200, 1 + 8, "PV123", "OP123", "SP123");
Якщо необхідно відкрити вікно у місці курсору можна скористатися функцією AssPopUp. Синтаксис:
AssPopUp(sPage, sTag1, [sTag2..8])
Citect дає можливість при старті кожної підсистеми (серверів та клієнтів) запускати CiCode функцію. Яка саме функція буде запускатися задається параметрами. Наприклад, для старту клієнта це вказується в параметрі [Client]StartupCode. Функцію можна вказати в майстрі конфігурування комп’ютеру. Наприклад, на рис.Д4.6.1 стартовою функціє для клієнта є ClientStartup.
Рис.Д4.6.1 Вказівка на стартову функцію для різних підсистем через майстер конфігурування
Використовуючи функцію Login можна реєструвати в системі користувача з вказаним іменем та паролем. Синтаксис:
Login(sUserName, sPassword)
sUserName - ім’я користувача
sPassword - пароль
Наприклад, наступний код реєструє в системі користувача “FRED”, що має пароль “ABC”
Login("FRED","ABC");
Використовуючи цю функцю можна добавити повідомлення в журнал SOE.
SOEEventAdd(TimeStamp, Message, Tag)
TimeStamp - час фіксвання події
Message - повідомлення
Tag (необовязкове) - аларм тег, що асоціюється з подією. Якщо тег буде не вказано, подія буде асоційованою як системна.
SOEEventAdd(TimestampCurrent(), "Відкрита сторінка установки підігріву")