iii. Поместите An1 и An2 за территорию, ограниченную пунктиром. Они не нужны нам на нашем супер-джинне, однако, мы не удалим их, чтобы случайно не создать новый объект с такими же двумя номерами точек анимации.
iv. Перейдите к свойствам супер-джинна, выбрав меню File | Properties. В свойствах Appearance поменяйте View Area на:
Ширина (Width) |
140 |
Высота (Height) |
140 |
v. Нажмите OK.
vi. Создайте три кнопки со следующими свойствами:
Appearance (General) Text/Symbol |
Input (Touch) Execute Command |
Access (General) Tool Tip |
|
OPEN |
?DIGITAL 1?=1 |
OPEN Button |
|
CLOSE |
?DIGITAL 1?=0 |
CLOSE Button |
|
icons.clos2 |
WinFree(); |
Close Window |
|
ПРИМЕЧАНИЕ: Упомянутый супер-джинн имеет только одну подстановку (между вопросительными знаками: ?type number?) для дискретной переменной, который используется в нескольких местах супер-джинна.
ü Советы: Общие типы данных, использующие подстановки супер-джинна, - это STRING, DIGITAL, REAL and INT. Для других типов данных Citect type оставляется пустым и назначается только позиция подстановки.
vii. Создайте два символа, используя инструмент Symbol Set . Установите свойства как показано ниже:
Object |
ON symbol when |
Symbols |
|
OPEN light |
?DIGITAL 1?=1 |
OFF |
lights.light_4_black |
ON |
lights.light_4_green |
||
CLOSE light |
?DIGITAL 1?=0 |
OFF |
lights.light_4_black |
ON |
lights.light_4_green |
viii. Нажмите кнопку Save и сохраните супер-джинн с именем !Valve в библиотеке training вашего проекта.
ПРИМЕЧАНИЯ: Установка восклицательного знака (!) в начале имени страницы обозначает, что страница не может быть выбрана во время исполнения из списка страниц при вызове функции Select Page.
2. Создайте джинн с названием “valvecontrol” (контроль вентиля), с кнопкой, вызывающей супер-джинн “!valve”.
i. Нажмите в редакторе кнопку New
ii. Нажмите кнопку Genie , и появится следующее диалоговое окно:
Появится бланк страницы со значком привязки (Genie Locater Point):
iii. Создайте кнопки со следующими свойствами рядом со значком привязки:
Text |
%Valve:%^nValve |
Input (Touch) Up Command |
AssWin("!Valve","%OriginX:%","%OriginY:%",513,"%Valve:%_VALVE") |
Tool Tip |
OPEN/CLOSE %Valve:% |
ü Советы:
Просмотрите раздел помощи по AssWin() для ознакомления с параметрами, которые могут передаваться данной функции.
iv. Перейдите к свойствам Access (General) для кнопок. Деактивируйте пометку No privilege restrictions (нет ограничений по привилегиям) и впечатайте %PRIVILEGE% в поле Privilege level. Мы будем использовать это свойство в главе по защите.
v. Выберите из меню Edit | Attach Super Genies…. Появится следующее диалоговое окно:
vi. Нажмите Add для выбора вашего супер-джинна !Valve из библиотеки training:
vii. Диалоговое окно присоединений супер-джинна будет выглядеть так:
Нажмите OK.
viii. Нажмите Save и сохраните джинн с именем ValveControl в библиотеке training вашего проекта.
3. Разместите джинн ValveControl на странице Production рядом с Mash Valve и Brewed Wort Valve. Заполните поле джинна как показано (пока оставьте поле PRIVILEGE):
Object |
Valve: |
OriginX: |
OriginY: |
Mash Valve |
MASH |
290 |
320 |
Brewed Wort Valve |
BW |
490 |
260 |
4. Скомпилируйте и запустите проект. Протестируйте ваши изменения.
5. Закройте проект. :
Discuss super genies.
Emphasise that super genies are used at runtime – whereas genies are used when drawing pages.
Explain that super genies are usually attached to genies.
Demonstrate pasting a super genies by following the steps.
Run up the project and click on the super genie.
Get the students to do the exercise and run their projects.
Demonstrate how to create a super genies.
Explain about passing tags – don’t worry about explaining arrays or constants
(constants will be discovered in the advanced exercise).
Get the students to do the exercise & run their projects.
Solution to advanced exercise:
AssPopUp(“!StrStp”,”%TAG%”);
Wintitle(“Valve Control”);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.