Nil*_*ate 3 progress-4gl openedge
如何使用代码检查特定文件的存在.例如.def var a as character.a ="abc.p"
运行值(a).--->首先我要检查工作区中是否存在abc.p.
您可以使用SEARCH功能.直接来自在线手册:
SEARCH函数 搜索PROPATH环境变量中定义的目录和库以查找文件.SEARCH函数返回文件的完整路径名,除非在当前工作目录中找到它.如果SEARCH找不到该文件,则返回Unknown值(?).
句法
SEARCH ( opsys-file )
Run Code Online (Sandbox Code Playgroud)
OPSYS文件
一个字符表达式,其值是您要查找的文件的名称.名称可以包括完整或部分目录路径.如果opsys-file是常量字符串,则必须用引号("")将其括起来.opsys-file的值不得超过255个字符.
例:
DEFINE VARIABLE cPgm AS CHARACTER NO-UNDO.
cPgm = "test.p".
IF SEARCH(cPgm) <> ? THEN
RUN VALUE(cPgm).
Run Code Online (Sandbox Code Playgroud)
- 如果提供完全限定的路径名,SEARCH将检查文件是否存在.在这种情况下,SEARCH不会搜索PROPATH上的目录.
如果您不想使用propath,可以使用FILE-INFO系统句柄.
设置FILE-NAME后,您可以检查FILE-TYPE(如果存在).另请参阅FILE-INFO的Progress帮助.
FILE-INFO:FILE-NAME = a.
IF FILE-INFO:FILE-TYPE MATCHES "*F*"
THEN RUN VALUE(FILE-INFO:FULL-PATHNAME).
Run Code Online (Sandbox Code Playgroud)