- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
漫谈Foxpro中字符串的相等(Talking about the equality of string in Foxpro)
漫谈Foxpro中字符串的相等(Talking about the equality of string in Foxpro)
漫谈Foxpro中字符串的“相等”
[返回]
在Foxpro中,当判断两个字符串是否相等时,可以使用比较操作符“==”和“=”。
当两个字符串用“==”进行比较时,操作符两边的字符串必须含有完全相同的字符(包括空格),才认为是相等的(.T.),否则为不相等(.F.)。
当两个字符串用“=”进行比较时,其结果可能与预期的不完全相同。例如判断:ab=a,其结果在不同的环境下,可能是.T.也可能是.F.。如果两个字符串的长度相同,比较时从左到右逐个字符进行,如对应的字符有不相等的,则其比较结果为不相等(.F.),如一直到结尾对应的字符都相等则其比较结果为相等(.T.);如果两个字符串的长度不同,则在不同的命令中取决于不同的环境设置。本文着重探讨长度不同的两个字符串在不同的命令中用“=”进行比较的结果。
一、一般命令中的字符串的比较
在一般命令中,两个长度不相同的字符串用“=”的比较结果取决于EXACT的设置值(ON/OFF)。当EXACT的设置值为OFF(默认值)时,只要等号右端字符串的所有字符和左端相应的字符相等,其结果就为相等(.T.)。所以,这时字符串的比较与两个字符串所位于等号的左右位置有关。当EXACT的设置值为ON时,则忽略两个字符串结尾的空格,而在较短的一个的右边加上足够的空格,以使二者的长度相等,并且每个相应的字符都相等其结果才相等(.T.)。
下表说明EXACT的设置值如何影响字符串的比较。
比较
EXACT OFF
EXACT ON
abc = abc
.T.
.T.
ab = abc
.F.
.F.
abc = ab
.T.
.F.
abc = ab+space(1)
.F.
.F.
ab = ab+space(1)
.F.
.T.
ab+space(1) = ab
.T.
.T.
= ab
.F.
.F.
ab =
.T.
.F.
ab = spac(1)
.F.
.F.
space(2)=
.T.
.T.
= space(2)
.F.
.T.
TRIM(space(2)) =
.T.
.T.
= TRIM(space(2))
.T.
.T.
在实际使用中要注意以下几个问题:
(1)表中字符型字段参与比较时,字符型字段的长度等于字段定义的长度,其尾部如有空缺是用空格填充的。在实际应用中,这一情况很容易被忽略而造成失误。
我们以下述产品表(ChanPin)为例说明。
ChanPin表的结构为:
字段
字段名
类型
宽度
小数位
1
DM
字符型
6
否
2
MC
字符型
20
否
表中记录为:
记录号
DM
MC
1
1321
21”电视机(万台)
2
1325
25”电视机(万台)
3
1329
29”电视机(万台)
4
13
电视机(万台)
执行如下命令:
set exact off
go top
?DM==1321, DM==1321 , len(DM), DM=1321, 1321=DM
结果显示
.F. .T. 6 .T. .F.
set exact on
?DM==1321, DM==1321 , len(DM), DM=1321, 1321=DM
结果显示
.F. .T. 6 .T. .T.
可以看到,记录1的DM其值为1321 (13后面有2个空格),而不是1321。
(2)表中字符型字段索引后,在使用SEEK命令搜索时,如果搜索字符串的长度大于索引关键字的长度,FOUND()结果肯定为.F.,这一点与LOCATE不同。
仍以上述产品表为例,在DM字段上建立索引,下表为在不同的情况下,FOUND()的值:
EXAC OFF
EXAC ON
seek spac(0)
.T.
.F.
seek spac(1)
.F.
.F.
seek 13
.T.
.T.
seek 13+spac(1)
.T.
.T.
seek 13+spac(4)
.T.
.T.
seek 13+spac(8)
.F.
.F.
Locate for dm=13+spac(8)
.F.
.T.
在复合索引
您可能关注的文档
- 铝箔油墨之应用特性及案例分析(Application characteristics and case analysis of aluminum foil ink).doc
- 陕西师范大学大学生必读书目成绩考核办法(Methods for assessing the required readings of college students of Shaanxi Normal University).doc
- 雀巢在中国的成功经营(Nestle's successful operation in China).doc
- 量价精细解盘--通达信主图源码(Volume and price -- the main map source by fine Jiepan).doc
- 雷人的企业文化(The corporate culture of Lei ren).doc
- 雷克萨斯国产化迷局(Lexus localizationcomplex).doc
- 雷润民的资料(Lei Runmin's information).doc
- 隆尧工业突破实施意见(Opinions on the implementation of industrial breakthroughs in Longyao).doc
- 雷达测速器(Radar speedometer).doc
- 陌陌我们跟微信不是一个东西《商界评论》 2012年11月23日 作者王力(Unfamiliar Street we are not something with WeChat, business review, November 23, 2012, author Wang Li).doc
- 漫谈化学竞赛(Talking about chemistry competition).doc
- 漫谈上海学唱歌(Talking about singing in Shanghai).doc
- 漫谈中国山水画的审美境界(A brief talk on the aesthetic realm of Chinese landscape painting).doc
- 漫谈中小企业成长中的团队激励(On team motivation in the growth of small and medium enterprises).doc
- 漫谈兼容内核之六二进制映像的类型识别(Talking about six of compatible kernel the type recognition of binary image).doc
- 漫谈太极拳的松静意(Talking about the meaning of Taijiquan).doc
- 漫谈学习词汇 葛传椝(Talking about vocabulary learning Ge Chuangui).doc
- 漫谈如何正确使用网络入侵检测系统(Discussion on how to use network intrusion detection system correctly).doc
- 漫谈对接和出舱(Talking about docking and leaving cabin).doc
- 漫谈小学想象作文教学(On imaginative composition teaching in primary school).doc
文档评论(0)