關於涵數ATC的應用

KAMCHIHAU 2011-01-23 05:12:09
stris="月中有大件事了~9000"
messagebox(str(atc("~",stris)))
它反回15,應該很正常的,在第15的位置



stris="年中有大件事了~9000"
messagebox(str(atc("~",stris)))
它反回2, 怎樣看都不會在第二的位置就出現~這個符號吧,

難道一些中文字如個年字就有問題,
誰碰到過差不多的問題,除了ATC來定位,還有沒有別的涵數呢...


...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
aabiao 2011-01-25
  • 打赏
  • 举报
回复
看你发的是繁体的,你是不用用的不是简体中文系统呀?
如果简体中文系统Windows,编码是GBK,这些字都是普通的GB汉字,一个汉字的两个字节的编码都是大于160的,里面的汉字的第二字节不会包含~的编码的(返回2说明是“年”的第二字节)。但如果是GBK扩充的字,如繁体字,那么第二字节是有可能小于128的,有可能会与ASCII字符一样,这样查找出来的就不对了。
所以在中文系统中,建议不要用atc,改用atcc,它把中文当完整的字查找,不会拆开。
taohua300 2011-01-24
  • 打赏
  • 举报
回复
Windows XP SP3 + VFP 9.0 SP2 7423 没有问题
panpende 2011-01-24
  • 打赏
  • 举报
回复
stris="月中有大件事了~9000"
?str(atc("~",stris))
15
stris="年中有大件事了~9000"
?str(atc("~",stris))
15
看来ATC()函数没有问题
十豆三 2011-01-24
  • 打赏
  • 举报
回复
Windows XP SP3 + VFP 6.0 8167 也没有问题
十豆三 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 taohua300 的回复:]
Windows XP SP3 + VFP 9.0 SP2 7423 没有问题
[/Quote]

同样
KAMCHIHAU 2011-01-23
  • 打赏
  • 举报
回复
stris="月中有大件事了:9000"
messagebox(str(atc(":",stris)))
不用~作條件,倒用:作條件,這樣又會反回正常,但不知為何,如大家有時間可以測試一下
。。。。。謝。。。。。。

2,727

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧