【问题标题】:Progress 4GL: Regarding OUTPUT TO statement进展 4GL:关于 OUTPUT TO 语句
【发布时间】:2020-11-18 14:59:08
【问题描述】:

如果我不提供目录路径会怎样?文件导出到哪里?

DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
cPath = STRING(MTIME) + "_user.out".

OUTPUT TO VALUE (cPath).
MESSAGE "In side a file".
OUTPUT CLOSE.

【问题讨论】:

    标签: openedge progress-4gl


    【解决方案1】:

    您可以使用 FILE-INFO 来查找:

    DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
    cPath = STRING(MTIME) + "_user.out".
    
    OUTPUT TO VALUE (cPath).
    MESSAGE "In side a file".
    OUTPUT CLOSE.
    
    file-info:file-name = "./" + cPath.
    message cPath file-info:full-pathname.
    

    顺便说一句 - 如果您希望使用 MTIME() 为文件名添加前缀会产生一个唯一的文件名,那么您可能会感到失望。同时运行的多个进程可能会发生冲突。或者您可能会从崩溃的会话中留下旧的陈旧文件。

    【讨论】:

    • 这适用于 Windows。 linux客户端工作目录呢?
    • 我不明白你在问什么。上面的代码可以很好地确定 Windows 或 Linux 的工作目录。
    • 当我在 linux 中执行上面的代码时,它会找到用户工作目录而不是客户端工作目录。这是为什么呢?
    • 请定义您所说的“客户”和“用户”是什么意思,以及为什么您认为它们在这种情况下是不同的术语。或者,也许您可​​以解释您希望看到返回的其他工作目录。
    【解决方案2】:

    文件被导出到您客户的工作目录。这通常是您启动客户端进程(_progres、prowin、prowin32)时所在的目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      相关资源
      最近更新 更多