1

我在执行 UniCommands 期间识别 UniObject 的错误时遇到问题。我在 UniObjects for Java 中看到了答案:如何在 UniCommand.exec() 中发生错误时获取响应字符串

但我不知道如何在 Universe 中创建子程序?

我看到了这个方法 CreateUniSubroutine 但它只有名称和参数#。

UniSubroutine sub = us1.CreateUniSubroutine("RUN.COMMAND", 2);

谢谢。

4

3 回答 3

1

在 UniVerse 中,您可以在程序内部和外部使用子程序。让我告诉你如何做一个简单的例子。

主要文件:

0001 *EXAMPLE SUBROUTINE
0002       CRT 'ENTER A NUMBER OR Q TO QUIT:'
0003       INPUT NUM
0004       BEGIN CASE
0005          CASE NUM = "Q"
0006             GOSUB ENDPRG
0007          CASE NUM > 0
0008             CALL ADD5(NUM)
0009       END CASE
0010 ENDPRG:
0011       CRT 'END OF PROGRAM'
0012       CRT
0013    END

子程序文件:

0001       SUBROUTINE ADD5(NUMBER)
0002       NUMBER+=5
0003       CRT NUMBER
0004       RETURN
0005    END

在第 6 行和第 8 行的主文件中,您可以看到子例程。我希望有所帮助;)

于 2015-10-06T15:47:59.960 回答
0

我通常只从本地 Universe 内部执行 Universe,但这里看起来是命令“CreateUniSubroutine”创建了 Universe 子例程的反射,而不是子例程本身。

我不确定您要做什么,但这似乎允许您利用现有的 Universe 代码而不是添加新逻辑。

于 2015-09-21T15:34:52.237 回答
0

在 Universe 中创建子例程。

  1. 您需要在您的 UniVerse 帐户中有一个文件类型为 19 的子程序源文件夹。它可以是本地的,也可以是来自其他 UniVerse 帐户的 qpoint。
  2. 使用任何文本编辑器(如记事本)来编辑您的子程序源代码并保存到上面的源文件夹中。
  3. TELNET 到您的 UniVerse 帐户并键入以下内容来基本子例程。

    BASIC source.folder subroutine.name

示例:如果源文件夹名称为 SOURCE,子程序文件名称为 RUN.COMMAND。命令将是

BASIC SOURCE RUN.COMMAND
  1. 在从 UniObject 调用之前,您可能需要对数据帐户中的子例程进行 CATALOG。
于 2016-05-25T08:30:58.863 回答