Access
Accessible = Access ( Path [ , Mode ] )
如果
Path 指定的文件权限符合指定的
Mode 模式,该函数返回
TRUE。
Mode 的值可以是下列几种:
以上这些模式标志可以用
OR操作进行组合使用。
-
gb.Read
是忽略 Mode 参数时的缺省行为。
对于目录,可执行标志意味着这个目录可以被浏览。
示例
Print Access(User.Home, gb.Write OR gb.Exec)
Dim sPath As String = "/tmp"
Print sPath; " RW "; Access(sPath, gb.Read Or gb.Write)
Print sPath; " R "; Access(sPath, gb.Read)
Print sPath; " W "; Access(sPath, gb.Write)
Print sPath; " "; Access(sPath)
/tmp RW True
/tmp R True
/tmp W True
/tmp True
工程目录下所有文件(包括在工程目录下创建的任何子目录)被视为只读而忽略其真实的模式设置,甚至被设置为许可模式
777
(对拥有者、组成员和任何人都是全权读写)的文件,(即:
Access("img/myImage.png")
将不再返回
gb.Write
)。
原因是:在生成可执行文件时,所有的工程文件会被放入可执行文件,所以在运行时不能被修改。
可以在当前用户(即:运行Gambas程序的用户)主目录下使用临时文件或者创建特殊目录(点文件)。
PRINT Access("data/img/myImage.png", gb.Write)
False ' 甚至是在执行后面这条命令以后: chmod 777 "PathToMyProject/img/myImage.png"
参见