处理qrlabel的onprint 事件:
const
MAXLEN=40;
var
i_ins,i,j:integer;
begin
i_ins:=0;
j:=length(value) div MAXLEN;
for i:=1 to jdo
begin
if Windows.IsDBCSLeadByte(byte(value[i*MAXLEN-1+i_ins])) and Windows.IsDBCSLeadByte(byte(value[i*MAXLEN+i_ins])) then
begin
insert(#13,value,i*MAXLEN+1+i_ins);
inc(i_ins);
end
else
begin
insert(#13,value,i*MAXLEN+i_ins);
inc(i_ins);
end;
end;
以上代码有点问题,当一行中出现奇数个非汉字字符时会计算错误,你可以自己改一下。