关于Fast Report的Memo换行问题!(100分)

  • 主题发起人 主题发起人 唐佐平
  • 开始时间 开始时间

唐佐平

Unregistered / Unconfirmed
GUEST, unregistred user!
在报表中我设置Memo为“伸展+自动换行”,如果是英文内容没有问题,
但是如果内容为汉字,在有些时候会出现乱码(在行末和换行的行首显示“?”),
请问大家怎么解决?
 
设好一行为多少个字,然后到一行后加一个#13来试试看
 
没办法解决,我同样为此苦恼,
看最新的版本有没有解决,或者用汉化的ReportMachine
 
ReportMachine没有该问题
 
上个周末的时候,我试过+#13不行的。关注把。
 
主要改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;
 
还是一个FastReport的经典问题。
vmao说的对!
 
谢谢大家,问题已经解决!
 
后退
顶部