限制目录浏览

问题描述:

我的进度11.6应用程序使用系统DIALOG GET-FILE命令允许用户选择一个文件:限制目录浏览

DEFINE VARIABLE cFilename AS CHARACTER NO-UNDO. 
DEFINE VARIABLE lResult AS LOGICAL NO-UNDO. 

SYSTEM-DIALOG GET-FILE 
    cFilename 
    FILTERS "Text Files (*.txt)" "*.txt", 
      "All Files (*.*)" "*.*" 
    DEFAULT-EXTENSION ".txt" 
    MUST-EXIST 
    RETURN-TO-START-DIR 
    TITLE "Select File" 
    USE-FILENAME 
    UPDATE lResult. 

问题是用户可以浏览到Windows文件系统的任何地方。有没有办法限制导航,也许只能让他们进入开始目录但不能超越?

就文档中的安全性而言,系统对话框(及其选项get-file或get-dir)没有提及。我相信在这种情况下,您必须通过操作系统权限来限制访问权限,或者编写自己的权限。

系统对话框使用操作系统对话框。设置安全性应该在操作系统上完成。 通过在操作系统级别执行此操作,安全性适用于用户有权访问的所有应用程序。

如果您的应用程序需要某个目录中的文件,则应在对话框返回后验证lResult。