最近碰到一个非常奇怪的问题,说出来与大家参考!!!!!

Awang_126 2004-04-22 08:10:06
mid()函数相信大家都用到过它,可我最近却碰到了一个非常奇怪的问题,它的说明是:
mid(string,start{,length}),但当string中含有中文字的时候,length的值是指字((一个中文字或一个西文字母)的个数还是指字符串的字节数(一个中文字占两个字节,一个西文字符占一个字节)呢?
为了检验一下,我在测试窗口的open事件中加下面的语句做了测试:
messagebox("test",mid("这是一个测试"),1,1)
直接在编程环境中运行的结果是显示为:"这",说明这时length是表示字的个数;可是但我把测试程序做成可执行文件后,再运行,结果却显示是乱码,经检验发现实际上这时mid()函数中的length却又变成表示要提取的字节的个数了。
还发现,mid()函数在win2k下和在winxp下执行的结果不同。

这些应该都是pb8的bug吧,说出来和大家共享!
:)
欢迎大家指出pb8中bug,参与者都可得分!!
:)
...全文
63 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Awang_126 2004-04-26
  • 打赏
  • 举报
回复
还有吗?
yewenlin 2004-04-23
  • 打赏
  • 举报
回复
PB就是问题多,我真是有点怕他了。
唉!可是他又真的很好用,又舍不得它,更舍不得CSDNPB版块的兄弟们。
hongxiuxie 2004-04-23
  • 打赏
  • 举报
回复
现在有mid, midw, len, lenw, 等成对的函数了,注意选择使用
xyzliuin 2004-04-23
  • 打赏
  • 举报
回复
pb8的bug,升级就没问题了
coppe800 2004-04-23
  • 打赏
  • 举报
回复
绝对PB8的BUG,早先在65下做的金额大写函数放到80里怎么也通不过。后来测试发现,len()它认中文为一个长度.mid()时长度就出去了。变态的很,真难用,好容易才改好的程序。
fulongbiao 2004-04-23
  • 打赏
  • 举报
回复
pb8的bug,升级就没问题
guojing590 2004-04-23
  • 打赏
  • 举报
回复
偶还没用到这种问题
wuhanjuan 2004-04-23
  • 打赏
  • 举报
回复
我也见过这样的问题
zysys 2004-04-22
  • 打赏
  • 举报
回复
ha ha 是这样的,在PB9中没有这样的问题
反复徘徊 2004-04-22
  • 打赏
  • 举报
回复
又学到啦一招
TGWall 2004-04-22
  • 打赏
  • 举报
回复
BUG
klbt 2004-04-22
  • 打赏
  • 举报
回复
pb8.0确实在计算含有汉字的字符串数量时有错误,PB8.01就已经纠正了这个bug,不过还是建议升级到pb8.03/pb8.04
艳阳天11 2004-04-22
  • 打赏
  • 举报
回复
lzheng2001(1加1=0)说得对
lzheng2001 2004-04-22
  • 打赏
  • 举报
回复
升级到PB803后你就会发现多了MIDW,LENW,LEFTW,RIGHTW,等一系列以W结尾的函数,这些函数就是你所说的把汉字当成一个字符! 而MID()等把汉字当成2个字符!
Awang_126 2004-04-22
  • 打赏
  • 举报
回复
上面的程序是在pb8中编写的

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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