Интерактивное графическое программное обеспечение PC-DMIS (Глава 22: Ветвление с использованием управления потоком), страница 10

Пример: Этот пример показывает, как значение переменной, используемой в качестве аргумента в подпрограмме, возвращается из подпрограммы: переменной V1 назначается значение 6: ASSIGN/ V1 = 6. Вызов подпрограммы передает V1 в качестве первого аргумента: CALL/SUB; MySub, V1. Подпрограмма определяется следующим образом. SUBROUTINE/MySub,A1 = 0. A1 – имя первого аргумента, так что при выполнении вызова, A1 будет иметь то же самое значение, что имела V1 во время вызова, 6. Подпрограмма содержит один оператор: ASSIGN/ A1 = A1 + 1. Это увеличивает значение A1 до 7. Подпрограмма завершается, END /SUBROUTINE. Ход выполнения возвращаетя к оператору, непосредственно следующему за вызовом подпрограммы. Поскольку выполнение возвращается назад, все переменные, которые были исплользованы как аргументы, в даном случае V1, обновляются до значения соответствующих переменных в подпрограмме, в данном случае A1. Таким образом, теперь V1 имеет значение 7. Значение было возвращено из подпрограммы.

Передача текстовых строк в подпрограмму

Для передачи текстовой строки, введите буквенно-цифровую строку в поле Value диалогового окна ArgumentEdit. См. "Создание новой подпрограмы" для более подробной информации. Убедитесь, ято буквенно-цифровые символы вставлены в двойных кавычках, например, "Pass this text1."

Передача имен геометрических элементов в подпрограмму

Имена геометрических элементов передаются в фигурных скобках, например; {F1} следует ввести в поле Value диалогового окна ArgumentEdit для вызова элемента, обозначенного как F1 в окне Edit.

Таким образом, при передаче имени геометрического элемента, подпрограмма имеет полный доступ к этому элементу. Подпрограмма может изменять любое теоретическое значение этого элемента. Например: если передается геометрический элемент F1, для установки теоретического значения X, используйте команду ASSIGN/F1.TX = 5 в окне Edit.

Создание новой подпрограммы

Для создания новой подпрограммы:

1.  Выберите из подменю ппункт Subroutine (подпрограмма). Этот пункт откроет диалоговое окно SubroutineCreation. Для информации об этом диалоговом окне, см. раздел "Описание диалогового окна Subroutine Creation".

Диалоговое окно Subroutine Creation

2.  Введите имя подпрограммы в поле Name.

3.  Щелкните по кнопке AddArg. Появится диалоговое окно ArgumentEdit. Для информации об этом диалоговом окне, см. раздел "Описание диалогового окна Argument Edit".

Диалоговоеокно Argument Edit

4.  Введите имя аргумента в поле Name (имя).

5.  Щелкните в поле Value (значение).

6.  Введите значение для аргумента в поле Value.

7.  Щелкните в поле Description (описание).

8.  Введите описание аргумента в поле Description(описание). Это описание появистя рядом с аргументом в окне Edit.

Кнопка Cancel отменит все изменения, примененные к аргументу и возвратит вас в диалоговое окно SubroutineCreation.

Примечание: Вы можете также удалить аргументы, используя кнопку DeleteArg в диалоговом окне SubroutineCreation (создание подпрограммы).

Описание диалогового окна Subroutine Creation

Следующие разделы описывают различные опции, доступные в диалоговом окне SubroutineCreation.

{bmct subcreat.shg}

<P><IMG BORDER=0 WIDTH=212 HEIGHT=266 SRC="images/subcreat.gif" USEMAP="#subcreat" ALT="subcreat">

<MAP NAME="subcreat">

<!-- 'JI(">proc","Cancel")' Macro Invisible  'Cancel' -->

<AREA SHAPE="RECT" ALT="Cancel" COORDS="125,228,199,253" HREF="cancel.htm">

<!-- 'JI(">proc","OK")' Macro Invisible  'OK' -->

<AREA SHAPE="RECT" ALT="OK" COORDS="42,229,119,252" HREF="ok.htm">

<!-- 'JI(">proc","DeleteArgumentfromSubroutine")' Macro Invisible  'Delete Argument from Subroutine' -->

<AREA SHAPE="RECT" ALT="Delete Argument from Subroutine" COORDS="124,199,200,222" HREF="deleteargumentfromsubroutine.htm">