Board logo

Subject: 一个小错误 [Print This Page]

Author: Redbreast    Time: 2008-10-20 14:12     Subject: 一个小错误

代码提示的一个小问题,环境:
d2007,CnWizards_0.8.9.452_Preview.exe
会丢掉一个3字,奇怪哦,经验证是吃掉了第一个字符,里面为空的时候会吃掉第一个]

[ 本帖最后由 Redbreast 于 2008-10-20 14:17 编辑 ]

Image Attachment: 未命名-2.jpg (2008-10-20 14:12, 17.34 K) / Download count 369
http://bbs.cnpack.org/attachment.php?aid=533


Author: Passion    Time: 2008-10-20 15:58

请问IDE是什么版本?
看起来好像是前面的字符串里头那个双字节字符引起的位置计算错误的问题。
Author: Redbreast    Time: 2008-10-21 08:44

11.0.2902.10471
Author: Redbreast    Time: 2008-10-23 10:47

454版本已经解决了这个问题
Author: Passion    Time: 2008-10-23 12:11

请问您测试的时候前面是否仍然用的还是那个双字节字符?
Author: Redbreast    Time: 2008-10-24 16:16

是滴,但是452和其前一个版本都有此问题,我还以为呢你们修改好的,难道没修改就好了?!

[ 本帖最后由 Redbreast 于 2008-10-24 16:18 编辑 ]
Author: Redbreast    Time: 2008-10-24 16:22

错了,还是没有好,测试的是的([])没问题,[[]]还是不对,后面的表现和前面的还不一样,呵呵,这样用的时候很晕,这些代码我都是卸载了cnwizad以后写的,否则就晕死了:)
s1 := Format('%.2d°',[DataRec[38]])+Format('%.2d′',[DataRec[39]])+Format('%.2d',[DataRec[40]])+Format('%.2d',[DataRec[41]]);
还是丢

[ 本帖最后由 Redbreast 于 2008-10-24 16:28 编辑 ]
Author: Passion    Time: 2008-10-24 17:23

唉是啊。问题就在于部分双字节字符在编辑器内只占一个字符位置,而我们都是以汉字占两个字节的方式来处理的,因此导致了错位。
即使能顺利区分占一个字节的双字节字符和占两个字节的双字节字符,还得考虑效率问题。
Author: Redbreast    Time: 2008-11-1 11:22

奇怪了,今天早上装了456最新版,对下面的代码,前两行有问题,后两行没问题,不知是啥原因啊
    s1 := Format('%.2d°',[DataRec[38]])
          +Format('%.2d′',[DataRec[39]])
          +Format('%.2d',[DataRec[40]])
          +Format('%.2d',[DataRec[41]]);
Author: Passion    Time: 2008-11-1 12:08

原因还是在于前两行的度与分俩字符是双字节字符。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0