我有这样一段代码:
#########################
SET TALK OFF
LOCAL lcSys16, lcProgram
lcSys16 = SYS(16) &&查询当前运行程序名
lcprogram = LEFT(lcsys16, RAT("", lcsys16,2)) &&获取当前工作目录
SET path TO &lcprogram &&设置工作路径
*SET DEFAULT TO &lcprogram &&设置默认工作目录
DO FORM form\form1.scx
READ events
######################
在执行到 SET DEFAULT TO &lcprogram 时系统报错“无效的路径或文件名!”
---------------------------------------------------------------
当变量lcprogram中包括有空格等字符时,会出错,所以改为:
SET DEFAULT TO "&lcprogram"
---------------------------------------------------------------
*设置默认路径可用以下三种方法:
*方法一:
PUBLIC LCNowpath
LCNowpath=SYS(5)+SYS(2003)+""
set default to "&LCNowpath" &&设置默认工作目录
*方法二:
PUBLIC LCSys16,LCNowpath
LCSys16=SYS(16) &&获取当前程序所在的全路径,包括当前运行程序名。
LCNowpath=LEFT(LCsys16,RAT("",LCSys16,1)) &&获取当前运行程序所在工作目录。
set default to "&LCNowpath" &&设置默认工作目录
*方法三:(指定程序名)
PUBLIC LCNowpath
prgname="你的程序名.exe"
prglen=len(prgname)
allname=allt(sys(16))
alllen=len(allname)
LCNowpath=substr(allname,1,alllen-prglen)
set default to "&LCNowpath" &&设置默认工作目录
--------------------------------------------------------------------
除了上面的SET DEFAULT TO "&lcprogram" 这种方式外,还有一种方式是使用名称表达式:
SET DEFAULT TO (lcprogram)