| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3884 人关注过本帖
标题:VFP帮助文件中的一处错误
取消只看楼主 加入收藏
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
结帖率:96.88%
收藏
已结贴  问题点数:20 回复次数:2 
VFP帮助文件中的一处错误
近日,无意之间查阅VFP帮助文件,发现有一处错误与各位坛友讨论。以下截图来自于 VFP9 帮助文件中对 Select()函数的描述。
图片附件: 游客没有浏览图片的权限,请 登录注册

用红线标注出的语句大意是:如果将 SET COMPATIBLE 设置为 ON,则 SELECT()函数将返回未使用的最大工作区编号。

使用如下代码测试:

close tables all
set compatible on
? select()

按道理说,上述代码 ?select() 应该返回 32767 才对,可实际返回的结果是 1。

可见,在兼容模式下,select()函数返回的是“未使用的最小工作区编号”。

我还查阅了 VFP6的帮助文件,也存在同样的错误。不知道各位坛友怎么看?

[此贴子已经被作者于2016-2-4 11:20编辑过]

搜索更多相关主题的帖子: compatible tables 工作区 close 
2016-02-04 10:45
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
不可能是翻译错误。因为在帮助文档中 Select(1) 的说明是“return the highest-numbered unused work area”,而实际执行时,select(1)返回 32767。所以,还是帮助原文确实有错误。

泉城飞狐
2016-02-04 13:46
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:0 
感谢大家踊跃发言。现在我来证明一下 select()在帮助文件中的解释是错误的。

1. 帮助文件中对 select(1)的解释是“return the highest-numbered unused work area”。对 select()在兼容模式下运行时的解释是“returns the number of the unused work area with the highest number”。解释中都有“highest”和“unused work area”,但select(1)的返回值是 32767,这分明是“未使用的最大工作区编号”,但 select()返回的是 1(关闭所有表,并 SET COMPATIBLE ON),这分明又是“未使用的最小工作区编号”。因此,可以证明:帮助文档中必定有一处的描述是错误的。

2. 我们都知道:select 0 会切换到未使用的最小编号工作区(这是一个公理性常识,无需证明)。在帮助文件中对 select 0 的解释是“the lowest-numbered unused work area is activated”,注意:其中的“lowest”。

由以上两点,可以得出最终结论:帮助文件中对 select()的解释是错误的。

泉城飞狐
2016-02-05 12:22
快速回复:VFP帮助文件中的一处错误
数据加载中...
 
   



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

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