| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5906 人关注过本帖
标题:求getdir()详解
只看楼主 加入收藏
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
结帖率:95.65%
收藏
已结贴  问题点数:20 回复次数:8 
求getdir()详解
网上找到的结果,不太明白.红字部分具体怎么用???

GETDIR([cDirectory [, cText [, cCaption [, nFlags [, lRootOnly]]]]])
参数
cDirectory
指定在“选择目录”对话框中初始显示的目录或文件夹。如果不指定 cDirectory,“选择目录”对话框打开时,将显示 Visual FoxPro 默认目录或文件夹。
cText
指定显示在对话框中目录列列上的文本。
cCaption
指定对话框的标题。默认为 "选择目录"。

nFlags     ????下面的选项只能用一种吗?是否能联合使用?

为对话框指定选项。nFlags 可以包含 0 或额外的值的组合。下表包括一些更常见的选项。详细信息, 参见 MSDN 中的 SHBrowseForFolder。 nFlag 值 描述
1   BIF_RETURNONLYFSDIRS   只返回文件系统目录 (物理位置)。如果用户选择的文件夹不是文件系统的一部分, 确定按钮是灰色的。  
2   BIF_DONTGOBELOWDOMAIN   不包括网络文件夹下面的域名级在 tree view 控件中 (例如, My Computer 和 My Networks).  
8   BIF_RETURNFSANCESTORS   只返回文件系统的祖先。如果用户选择了任何其它非文件系统的祖先,确定按钮是灰色的。  
16   BIF_EDITBOX   浏览对话框包括一个编辑控件让用户可以打入一个项的名称。Windows 98 及以上版本, 或 Internet Explorer 4.0 及以上 (假定选定了 shell integration 选项)可用。要求 4.71 版的 shell32.dll。
32   BIF_VALIDATE   验证 editbox 内容。如果使用了 editbox, 就需要验证用户输入的内容。如果用户在编辑框中输入了一个非法的名称, 取消按钮变成唯一可选。该标记在 BIF_EDITBOX 未指定时被忽略。
64   BIF_NEWDIALOGSTYLE   使用新的用户界面。设置该标记为用户提供一种较大的, 可调整大小的对话框。其它功能包括: 在对话框中的拖放能力, 重排序, 上下文相关菜单, 新建文件夹, 删除, 和其它上下文相关菜单命令。仅支持 Windows 2000 及以上。要求 5.00 版的 shell32.dll。
16384   BIF_BROWSEINCLUDEFILES   浏览器对话框将文件夹。Windows 98 及以上版本, 或 Internet Explorer 4.0 或以上 (假定选定了 shell integration 选项)可用。要求 4.71 版的 shell32.dll。

lRootOnly
指定只显示 cDirectory 及其子目录。该参数防止向上定位到要文件夹目录。如果没有指定 cDirectory, 就使用默认目录。
备注
getdir( ) 函数返回字符串,其内容为选定目录或文件夹的名称。

如果没有选择目录或文件夹(选择“取消”、按 ESC 键或从控件菜单上选择“关闭”),getdir( ) 函数将返回空字符串。

自 Visual FoxPro 7 开始, GETDIR() 支持两种不同的对话框。如果你提供少于三个参数, GETDIR() 返回早期版本的对话框。如果提供大于两个参数, Visual FoxPro 使用 Win32 API 中的 SHBrowseForFolder 例程来显示对话框。


[ 本帖最后由 muyubo 于 2011-6-14 15:34 编辑 ]
搜索更多相关主题的帖子: 对话框 文件夹 
2011-06-14 11:28
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:5 
我的看法不一定对,只作参考吧。对于这个函数,我个人认为,不必要探讨的太细。实际使用时,能达到目的就行了。比如 cdd=getdir('d:','请选一个目录') ,d:是默认查找的目录,汉字是注释。不超过30字节。谢谢。
2011-06-14 18:35
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏(1)
得分:10 
nFlags 可以包含 0 或额外的值的组合。”这句是最好的说明。所谓组合,将其值相加即可!

★★★★★为人民服务★★★★★
2011-06-14 21:17
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 2楼 qingfameng
谢谢答复.我是遇到麻烦了,我用选则的路径进行拷贝文件,结果选了c:\ d:\ e:\ 等盘上的目录都行,就是当选了"我的文档"  "桌面" 等这样的文件夹,程序就提示错误,想避免错误出现啊.
2011-06-15 06:17
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 3楼 cnfarer
谢谢指点,相加的效果不错.我从网上怎么也查不到你这样的解释.明白了.

lRootOnly  参数怎么用?

[ 本帖最后由 muyubo 于 2011-6-15 07:28 编辑 ]
2011-06-15 06:20
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:5 
建议参照帮助文件并在VFP系统中测试结果,这样就更容易掌握。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-06-15 09:04
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:0 
以下是引用muyubo在2011-6-15 06:17:48的发言:

谢谢答复.我是遇到麻烦了,我用选则的路径进行拷贝文件,结果选了c:\ d:\ e:\ 等盘上的目录都行,就是当选了"我的文档"  "桌面" 等这样的文件夹,程序就提示错误,想避免错误出现啊.
你的出错不是GETDIR()的缘故,是你后续语句的问题或者你用的6.0吧,以前我也经常遇到。
2011-12-18 18:44
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:0 
当选了"我的文档"  "桌面" 等这样的文件夹,程序就提示错误。。。。

这是因为返回的路径中含 有空格,在宏替换(&...)中就出错
2011-12-20 19:35
安心1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-3-5
收藏
得分:0 
https://www.
返回当前目录
2020-03-05 19:31
快速回复:求getdir()详解
数据加载中...
 
   



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

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