Fastreport3中文换行乱码问题 ( 积分: 200 )

  • 主题发起人 主题发起人 ddgboy
  • 开始时间 开始时间
D

ddgboy

Unregistered / Unconfirmed
GUEST, unregistred user!
Fastreport3在Win98中打印自动换行后的中文字后出现乱码,而在Win2000中则没有。不知道哪位高手知道解决在98中乱码的问题,急!200分相送!
 
Fastreport3在Win98中打印自动换行后的中文字后出现乱码,而在Win2000中则没有。不知道哪位高手知道解决在98中乱码的问题,急!200分相送!
 
在设计时把FastReport 的Memo,字体设为GB3212
 
就用鳄鱼先生的方法吧.:)
 
主要改fr_class.pas中的wrapline过程,其中有一段:
else
if s[last] = ' ' then
OutLine(Copy(s, beg, last - beg)) else
OutLine(Copy(s, beg, last - beg + 1));//造成乱码的根本原因
改为
else
if s[last] = ' ' then
OutLine(Copy(s, beg, last - beg)) else
if ByteType(s,last) = mbLeadByte then
//判断是否是汉字字节
OutLine(Copy(s, beg, last - beg ))
else
OutLine(Copy(s, beg, last - beg + 1));
后面的
LoopPos := cur;
beg := last + 1;
last := beg;
要改为:
LoopPos := cur;
if ByteType(s,last) = mbLeadByte then

begin
beg := last ;
last := beg;
end
else
begin
beg := last + 1;
last := beg;
end;
参照http://tian.yeah.net的 fastreport2.41c
 
我想也是换行导致汉字被分割的原因
 
后退
顶部