| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5127 人关注过本帖
标题:Invalid path or file name!求解!
只看楼主 加入收藏
Bunny008
Rank: 1
等 级:新手上路
帖 子:185
专家分:6
注 册:2011-7-27
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:21 
Invalid path or file name!求解!
PUBLIC pathDBF
PUBLIC pathPrg
PUBLIC Pw


pathDBF="F:\abc\Database\"
pathPrg="c:\Delete\program\"

SET PATH TO pathPrg
SET PROCEDURE TO (pathPrg + "programs\Proc_Lib.prg")
SET DEFAULT TO (pathDBF+"mis.dbf")

为什么总是说“Invalid path or file name"呢?mis.dbf在“F:\abc\Database\mis.dbf”啊。。

搜索更多相关主题的帖子: programs PUBLIC file 
2011-11-30 03:40
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:4 
PUBLIC pathDBF
PUBLIC pathPrg
PUBLIC Pw


pathDBF="F:\abc\Database\"
pathPrg="c:\Delete\program\"

SET PATH TO pathPrg
SET PROCEDURE TO (pathPrg + "programs\Proc_Lib.prg")
SET DEFAULT TO (pathDBF)


相互学习,互相交流,共同提高。
2011-11-30 08:39
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:4 
回复 2楼 qjbzjp
借用此地问个类似的问题
public paths
paths=allt(sys(16))
paths=left(paths,rat( "\",paths)-1)
SET  default To &paths
连编以后运行exe程序报错:无效的路径或文件

把上述代码最后一句改为
set path to &paths
就好了
想请问一下 set defa to 和 set path to 两者的区别
2011-11-30 10:27
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
在帮助文件中,说得很清楚:
“在 Visual FoxPro 中,SET DEFAULT 将默认目录设置为指定的目录。
Visual FoxPro 在默认的 Visual FoxPro 目录或文件夹中搜索文件。默认的目录或文件夹就是启动 Visual FoxPro 的目录或文件夹。不过,可以在启动程序或 Visual FoxPro 配置文件中指定一个不同的默认目录或文件夹。如果 Visual FoxPro 不能在默认的目录或文件夹中找到文件,Visual FoxPro 接着搜寻 Visual FoxPro 路径(如果指定的话)。要指定 Visual FoxPro 路径,可使用 SET PATH。”

简言之:先找SET DEFAULT 指定的目录,再找SET PATH to 指定的目录。

相互学习,互相交流,共同提高。
2011-11-30 10:50
yttv8
Rank: 1
等 级:新手上路
帖 子:32
专家分:4
注 册:2011-11-25
收藏
得分:0 
以下是引用qjbzjp在2011-11-30 10:50:33的发言:

在帮助文件中,说得很清楚:
“在 Visual FoxPro 中,SET DEFAULT 将默认目录设置为指定的目录。
Visual FoxPro 在默认的 Visual FoxPro 目录或文件夹中搜索文件。默认的目录或文件夹就是启动 Visual FoxPro 的目录或文件夹。不过,可以在启动程序或 Visual FoxPro 配置文件中指定一个不同的默认目录或文件夹。如果 Visual FoxPro 不能在默认的目录或文件夹中找到文件,Visual FoxPro 接着搜寻 Visual FoxPro 路径(如果指定的话)。要指定 Visual FoxPro 路径,可使用 SET PATH。”

简言之:先找SET DEFAULT 指定的目录,再找SET PATH to 指定的目录。

老大你真太猛了,太好了!
我基本明白了,可为啥set defa to 后连编运行exe程序报错:无效的路径或文件(点“忽略”后还可以正常运行程序,无其它问题),而改为set path to后却没任何问题呢?
难道有什么东西是在运行代码set defa to之前就运行(这几句代码在我的program的开头),导致找不到路径么?
2011-11-30 11:04
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
可能是SYS(16)的问题。
我一般是用“SET PAHT TO SYS(5)+SYS(2003)”来得到相对路径。

相互学习,互相交流,共同提高。
2011-11-30 19:12
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
回复5楼:
public paths
paths=allt(sys(16))
paths=left(paths,rat( "\",paths)-1)
*加一条命令,看看得到的路径是否正确:
MESSAGEBOX(paths)

相互学习,互相交流,共同提高。
2011-11-30 19:58
Bunny008
Rank: 1
等 级:新手上路
帖 子:185
专家分:6
注 册:2011-7-27
收藏
得分:0 
回复 2楼 qjbzjp
直接去pathDBF就出现更多错误,好像把这一句去掉就好了。。。
2011-12-01 00:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
回复 8楼 Bunny008
好像?你知道自己这句SET DEFAULT TO (pathDBF+"mis.dbf")是什么意思吗?把默认路径指向文件mis.dbf!除非你真有一个叫这名字的文件夹,否则不报错才怪。查错、改错,要知道真正的原因,不能乱改了事。只求错误信息消失是没有解决问题的,新的、更多地问题马上就跟着来。

授人以渔,不授人以鱼。
2011-12-01 01:05
Bunny008
Rank: 1
等 级:新手上路
帖 子:185
专家分:6
注 册:2011-7-27
收藏
得分:0 
回复 9楼 TonyDeng
真有mis.dbf在“F:\abc\Database”下面。。set default to 不是use table 和opendatabase时候用的路径吗?
这句SET DEFAULT TO (pathDBF+"mis.dbf")去掉后,打开表的时候用USE (pathDBF + "mis")就没有出现错误了。。这是什么原因。。
2011-12-01 01:18
快速回复:Invalid path or file name!求解!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024224 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved