奇怪的打印乱码,急急急!!!!!(50分)

  • 主题发起人 主题发起人 tfnmao
  • 开始时间 开始时间
T

tfnmao

Unregistered / Unconfirmed
GUEST, unregistred user!
打印一个长字符串如果在第128位出现一个中文的话,
只要以后的中文中没有半角字符就会打出乱码。
这是否delphi的bug
 
另我测试后发现只要是在128倍数位出现的汉字就打印出乱码,是否delphi的bug
 
是不是你打印是自动换行了?造成汉字被截断。
我自己写代码控制一行打印32个全角字符,用copy(widestring,i,j)没有出现问题
~~~~~~~~~~~~
 
var
ftext:textfile;
tmpstr:String;
begin
AssignPrn(ftext);
rewrite(ftext);
tmpstr:=' 测试'
try
writeln(ftext,memo1.Text);
finally
closefile(ftext);
end;
end;
测试 未正常输出,乱码
 
其中'测试'出现在字符串的第128位
 
经测试也非换行的问题,通过调整纸线大小将上述字符打印在同一行时也出现乱码,
而且现象是128的整数倍位数只要出现中文就会打印乱码,
乱码在遇到中文字符串后第一个半角字符结束,
其它位无论半角全角都正常打印.
 
后退
顶部