| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1363 人关注过本帖
标题:用API函数获取的文件夹名及路径,并放在变量mpath中,为什么mpath不能运算?
取消只看楼主 加入收藏
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
结帖率:95.65%
收藏
已结贴  问题点数:20 回复次数:5 
用API函数获取的文件夹名及路径,并放在变量mpath中,为什么mpath不能运算?
用API函数获取的文件夹名及路径,如"d:\新建文件夹"并放在变量mpath中,为什么mpath不能运算?
如:?mpath
提示找不到变量mpath
但copy file c:\*.dbf to &mpath
可以完成拷贝文件到d:\新建文件夹 内
 messagebox(allt(mpath)) 可以显示:d:\新建文件夹

如果写:
mpath=mpath+"\备份文件"
md &mpath
d:\新建文件夹下,没有建立 备份文件夹
copy file c:\*.dbf to &mpath
还是将文件拷贝到了d:\新建文件夹 内

请问怎样运算API函数获得的内存变量??
  
搜索更多相关主题的帖子: 新建文件夹 
2011-06-12 10:52
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
以下是引用hu9jj在2011-6-12 16:51:13的发言:

通过调试器或者用wait语句逐步检查mpath的类型和值,然后排查问题。
我用调试器排查了,
mpath=space(512) &&变量mpath预留512个空字符。
     =SHGetPathFromIDList(pidl,@mpath) &&如果成功,用户选择的路径名,将自动填入mpath变量中。
   CLEAR DLLS
     mpath=LEFT(mpath,50)
     mpath=ALLTRIM(mpath)+"\备份文件"  &&运算是对的,我选的是"d:\新建文件夹",运算结果是"d:\新建文件夹\备份文件"
   *IF !directory(mpath)
     md &mpath         问题就在这     &&d:\新建文件夹 存在,而备份文件夹不存在,系统提示d:\新建文件夹 已经存在
   *endif                                  而不建立d:\新建文件夹\备份文件 文件夹 为什么??
     copy file .\DATA\*.*  to  &mpath\*.*   &&将文件拷贝到所选文件夹下
     messagebox(allt(mpath))           &&显示用户选择的路径名。
2011-06-12 18:04
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 4楼 hu9jj
进入目录后,可以建立新目录了.
谢谢帮助,
不过,带路径的新目录应该也能建立吧.
2011-06-13 06:58
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 5楼 qingfameng
没有隐含文件,而且提示是新建文件夹已存在,而不是提示新建文件夹下的备份文件夹已存在.
2011-06-13 07:00
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 8楼 hu9jj
噢,那就明白了,谢谢!!
2011-06-13 08:56
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 10楼 qingfameng
是啊,我也这么认为,可是就是不执行,进入目录,可以执行.
我改了代码
dqlj=SYS(5)+SYS(2003)   &&获取程序工作目录
     mpath=space(512) &&变量mpath预留512个空字符。
     =SHGetPathFromIDList(pidl,@mpath) &&如果成功,用户选择的路径名,将自动填入mpath变量中。
   CLEAR DLLS
     *mpath=LEFT(mpath,50)  &&取左边字符串,后面的数字是长度
     mpath=ALLTRIM(mpath)   
     cd &mpath
   IF !directory("图书备份文件")
     MD 图书备份文件
   endif
     copy file &dqlj.\DATA\*.*  to  图书备份文件\.   &&将文件拷贝到所选文件夹下
     CD &dqlj
     messagebox(allt(mpath))           &&显示用户选择的路径名。

倒是能够执行,可是选了一些特殊目录,程序就出错,提示错误路径
图片附件: 游客没有浏览图片的权限,请 登录注册

能不能取消这些路径的显示啊?
2011-06-13 10:11
快速回复:用API函数获取的文件夹名及路径,并放在变量mpath中,为什么mpath不能运 ...
数据加载中...
 
   



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

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