procedure autochangerow(wide: integer;var value: string);
var
temparr:array of string;
widelen,i,j:integer;
s:widestring;
begin
j:=1;
s:=value;
widelen:=length(s);
setlength(temparr,j);
temparr[0]:='';
for i:=1 to widelen do
begin
if length(temparr[j-1])+length(s[i])>wide then
begin
j:=j+1;
setlength(temparr,j);
temparr[j-1]:=s[i];
end
else
temparr[j-1]:=temparr[j-1]+s[i];
end;
s:='';
for i:=0 to length(temparr)-2 do
s:=s+temparr[i]+chr(13);
value:=s+temparr[length(temparr)-1];
temparr:=nil;
end;
在QRDBText的ONPRINT事件中写如下代码;
autochangerow(39,value);
函数中WIDE参数为一行长度,汉字不会乱码