CnPack Forum


 
Subject: 发现BUG。。。。。关于 括号匹配的问题;
inbreak
灌水处处长
Rank: 4



UID 42073
Digest Posts 0
Credits 206
Posts 60
点点分 206
Reading Access 10
Registered 2009-3-27
Status Offline
Post at 2009-6-7 22:44  Profile | P.M. 
发现BUG。。。。。关于 括号匹配的问题;

第一幅图是正常的时候的样子。


第二幅图是鼠标焦点进去代码中的样子。


Image Attachment: 1.JPG (2009-6-7 22:44, 5.07 K)



Image Attachment: 2.JPG (2009-6-7 22:44, 6.04 K)

Top
inbreak
灌水处处长
Rank: 4



UID 42073
Digest Posts 0
Credits 206
Posts 60
点点分 206
Reading Access 10
Registered 2009-3-27
Status Offline
Post at 2009-6-7 22:47  Profile | P.M. 
我把鼠标焦点放在这段代码的后面时,就变成这样子了。

如果关掉 专家 的括号匹配 功能。就没有此问题。


为此我下载最新版的 专家。。问题,依然是这样。


Image Attachment: 3.JPG (2009-6-7 22:47, 5.99 K)

Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6804
Posts 3577
点点分 6804
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2009-6-7 23:22  Profile | Blog | P.M. 
请问您的DELPHI版本?是否D2009?
Top
inbreak
灌水处处长
Rank: 4



UID 42073
Digest Posts 0
Credits 206
Posts 60
点点分 206
Reading Access 10
Registered 2009-3-27
Status Offline
Post at 2009-6-8 08:30  Profile | P.M. 
D2007
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6804
Posts 3577
点点分 6804
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2009-6-8 12:19  Profile | Blog | P.M. 
这个问题是由于字符串中的d和%之间的那个字符(可能是全角星号?)引起的,一般我们绘制括号前计算括号的位置的时候,会将字符串中的双字节字符当作两个字符宽度处理,然而有些特殊字符比如楼主图中的那个,还有部分外文字符等,自身是双字节,但绘制只占一个字符宽度,这就导致了我们计算出来的位置的偏差。
如果逐个字符去判断,又难免会影响性能,不太好处理。
Top
inbreak
灌水处处长
Rank: 4



UID 42073
Digest Posts 0
Credits 206
Posts 60
点点分 206
Reading Access 10
Registered 2009-3-27
Status Offline
Post at 2009-6-8 15:31  Profile | P.M. 
发现了。

凡是我的 format 语句中 有 × (全角) 就会出现问题。。。换成 * 就没有问题。

但是为什么 format 语句里面有 中文不会出现呢?
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6804
Posts 3577
点点分 6804
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2009-6-8 18:23  Profile | Blog | P.M. 
因为“中”这全角字符确实是占两个字符的宽度,而全角的星号在编辑器这字体中只占一个字符的宽度。
Top
 




All times are GMT++8, the time now is 2024-9-8 07:45

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.006971 second(s), 8 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP