哈哈,想出来了,高兴!!!
方法好象苯了些,不过能完成任务。
大家有好的方法或建议请继续贴出来,
我暂时不结束问题,我过几天分给大家分数。进者都有分。
谢谢大家的关心。
代码正在写,思路是这样的:
因为是档案报表类的,故格式是固定的,宽度是固定的,不是动态的,所以建立几个
TQRLabel 控件(并没有动态生成,当然,动态生成更好。)举个例子:
假设数据最大宽度为 5,那么先在 QuickRep 可视状态下放 5个TQRLabel 控件,这5
个控件要放在TQRBand 中,Caption:='';再放一个TQRDBText 控件,与字段关联。
接下来事件:
(本例 qrl.. 为TQRLabel 控件。)
procedure TForm1.QRDBText1Print(sender: TObject; var Value: String);
var
i:integer;
begin
qrl1.Caption :='';
qrl2.Caption :='';
qrl3.Caption :='';
qrl4.Caption :='';
qrl5.Caption :='';
case i of
1:begin
qrl1.Caption :=Copy(Value,1,1);
qrl1.left:=...;//值为通过打印机调试后具体的值;
end;
2:begin
qrl1.Caption :=Copy(Value,1,1);
qrl2.Caption :=Copy(Value,2,1);
qrl1.left:=....;
qrl2.left:=....;
end;
.....
5:begin
qrl1.Caption :=Copy(Value,1,1);
qrl2.Caption :=Copy(Value,2,1);
....
qrl5.Caption :=Copy(Value,3,1);
....
end;
end;
value:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
QuickRep1.Preview;
end;
以上只是初步算法,望能给有被此类问题困惑的朋友以提示。
谢谢 like 的化整为零。
有好招的请通知我。
e-mail:
slxiaodong@163.com
正在完成代码........