【问题标题】:Anyone know of Milsted rexx for windows? Open-rexx?有人知道 Windows 版的 Milsted rexx 吗?打开雷克斯?
【发布时间】:2014-03-01 03:28:47
【问题描述】:

CA 的自动化点产品具有嵌入式 rexx 解释器。在回到 CMS 上的原始版本之前,我使用过其他 Rexx 解释器。我正在尝试访问外部数据队列以允许 AP rexx 脚本调用并从其他语言的程序中获取数据。现在 CA 已经明确表示它不是 Object rexx 或 OORexx,而是“Milstead”(原文如此)rexx。我使用 Neil Milsted 的 Uni-Rexx(如果您正在阅读,那就是一个很好的 Neil),它实现了 rxqueue,它可以满足我的需要。

解析版本名称级别 说“rexx 是”名称“和”级别 说“rexx util is” RxFuncQuery("SysUtilVersion") 给出: rexx 是 REXX:Open-REXX:299:Open-REXX:ASCII:MultiThread:DynamicLink 和 4.00 2008 年 2 月 4 日

07/15/2011 08:27:19 rexx util 是 30

我的 google-fu 在这里让我失望了,我不断回到相同的网站。
那么有谁知道这个特定的 Rexx 以及我如何让它运行非 rexx 代码并取回输出?我真的不想在写入临时文件时受 I/O 限制。

【问题讨论】:

    标签: queue rexx


    【解决方案1】:

    如果您想要从外部程序(可执行文件)获取输出到 REXX,您可以使用 POPEN 函数将命令的标准输出重定向到外部数据队列。然后,您可以使用以下说明操作队列:

    • pull(解析拉取)- 从队列顶部拉取数据
    • push - 将数据添加到队列顶部
    • 队列 - 将数据添加到队列底部
    • queued - 返回队列中剩余的行数

    一个简单的例子:

    call popen ('dir /?')
    lines = QUEUED()
    
    say "Number of output lines:" lines
    do i = 1 to lines
       pull line
       say "Line #"||i||":" line
    end
    

    【讨论】:

    • 我从 1985 年就开始使用 rexx,之前从未偶然发现过 popen。这行得通,谢谢 jan
    【解决方案2】:

    具有错误诊断额外好处的更现代的方法是:

    cmd = 'dir /?'
    address COMMAND cmd with output stem cmdout. error stem cmderr.
    
    if cmderr.0 <> 0 then do  /* an error has occurred executing this command */   
      do i = 1 to cmderr.0
        say "Error text line" i": '"cmderr.i"'"
        end
      end
    else do i = 1 to cmdout.0   /* no error has occurred so just process the output */
      say "Line #"i":'"cmdout.i"'"
      end
    

    【讨论】:

    • 谢谢,我应该回来说我们终于得到管理层的同意,我们可以使用 OORexx。感谢 COMMAND 的地址 - 我喜欢。
    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多