【发布时间】:2014-01-03 18:16:25
【问题描述】:
如何使用代码检查特定文件是否存在。 例如。 def var a 作为字符。 a = "abc.p"
运行值(a)。 ---> 首先我想检查工作区中是否存在 abc.p。
【问题讨论】:
标签: progress-4gl openedge
如何使用代码检查特定文件是否存在。 例如。 def var a 作为字符。 a = "abc.p"
运行值(a)。 ---> 首先我想检查工作区中是否存在 abc.p。
【问题讨论】:
标签: progress-4gl openedge
您可以使用搜索功能。直接来自在线手册:
搜索功能 在 PROPATH 环境变量中定义的目录和库中搜索文件。 SEARCH 函数返回文件的完整路径名,除非它在您当前的工作目录中找到。如果 SEARCH 未找到该文件,则返回未知值 (?)。
语法
SEARCH ( opsys-file )
opsys 文件
一个字符表达式,其值为您要查找的文件的名称。该名称可以包含完整或部分目录路径。如果 opsys-file 是常量字符串,则必须将其括在引号 (" ") 中。 opsys-file 的值不能超过 255 个字符。
例子:
DEFINE VARIABLE cPgm AS CHARACTER NO-UNDO.
cPgm = "test.p".
IF SEARCH(cPgm) <> ? THEN
RUN VALUE(cPgm).
- 如果您提供完全限定的路径名,SEARCH 会检查文件是否存在。在这种情况下,SEARCH 不会搜索 PROPATH 上的目录。
【讨论】:
如果不想使用 propath,可以使用 FILE-INFO 系统句柄。
设置 FILE-NAME 后,可以检查 FILE-TYPE 是否存在。另请参阅 FILE-INFO 的进度帮助。
FILE-INFO:FILE-NAME = a.
IF FILE-INFO:FILE-TYPE MATCHES "*F*"
THEN RUN VALUE(FILE-INFO:FULL-PATHNAME).
【讨论】: