M
mouse_1425
Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠,请帮帮小妹!为着在delphi中实现打印换行功能,我采用了某些字段用QRLabel表示,并编出如下代码(当中也解决了遇到奇数个数字/字母时候出现乱码的情况):
function stringenter(ss:string;icount:integer):string;
//ss表示原字符串,icount表示想在第几个字符换行,最好将icount设为偶数
var i,iEven:integer;//i表示循环变量,iEven表示含有多少个小于128的字符
begin
result:='';
while (icount<=length(ss)) do //字符串总个数是否大于iCount
begin
iEven:=0;
for i:=1 to icount do
if ord(ss)<128 then iEven:=iEven+1;
if ord(ss[icount])>127 then
begin
if (iEven mod 2)=0 then //在iCount个字符前面有偶数个小于128字符
begin
result:=result+copy(ss,1,icount)+#13;
delete(ss,1,icount);
end
else //在iCount个字符前面有奇数个小于128字符
begin
result:=result+copy(ss,1,icount-1)+#13;
delete(ss,1,icount-1);
end;
end
else
begin
result:=result+copy(ss,1,icount)+#13;
delete(ss,1,icount);
end;
end;
if length(ss)<>0 then
result:=result+copy(ss,1,length(ss));
end;
现在当一切都已经基本搞好的时候,领导却提出新的要求:这些QRLabel打印出来的字段没错是可以换行,但行与行之间的距离却太密了,要求把行距拉大!我试过在上述的程序中的“+#13”后面再多加上一个“+#13”,结果行距是可以拉大了,只是足足拉大了一行,又太大, 请问:QRLabel的属性里面有没有直接设置行距的属性啊?还是要在QRLabel的什么事件中设置什么代码才可以实现适当拉大行距的功能啊?还是直接在我的上述程序中再加上某些代码就可以直接拉大行距啊?(我曾经想过能不能在上述代码中定义什么top:=top+某数 来定义行距,但由于一页要打印的记录数不为1而为10,所以总觉得不妥)
请各位大侠帮帮我,教我如何设置好这些QRLabel的行距!!不胜感激!
function stringenter(ss:string;icount:integer):string;
//ss表示原字符串,icount表示想在第几个字符换行,最好将icount设为偶数
var i,iEven:integer;//i表示循环变量,iEven表示含有多少个小于128的字符
begin
result:='';
while (icount<=length(ss)) do //字符串总个数是否大于iCount
begin
iEven:=0;
for i:=1 to icount do
if ord(ss)<128 then iEven:=iEven+1;
if ord(ss[icount])>127 then
begin
if (iEven mod 2)=0 then //在iCount个字符前面有偶数个小于128字符
begin
result:=result+copy(ss,1,icount)+#13;
delete(ss,1,icount);
end
else //在iCount个字符前面有奇数个小于128字符
begin
result:=result+copy(ss,1,icount-1)+#13;
delete(ss,1,icount-1);
end;
end
else
begin
result:=result+copy(ss,1,icount)+#13;
delete(ss,1,icount);
end;
end;
if length(ss)<>0 then
result:=result+copy(ss,1,length(ss));
end;
现在当一切都已经基本搞好的时候,领导却提出新的要求:这些QRLabel打印出来的字段没错是可以换行,但行与行之间的距离却太密了,要求把行距拉大!我试过在上述的程序中的“+#13”后面再多加上一个“+#13”,结果行距是可以拉大了,只是足足拉大了一行,又太大, 请问:QRLabel的属性里面有没有直接设置行距的属性啊?还是要在QRLabel的什么事件中设置什么代码才可以实现适当拉大行距的功能啊?还是直接在我的上述程序中再加上某些代码就可以直接拉大行距啊?(我曾经想过能不能在上述代码中定义什么top:=top+某数 来定义行距,但由于一页要打印的记录数不为1而为10,所以总觉得不妥)
请各位大侠帮帮我,教我如何设置好这些QRLabel的行距!!不胜感激!