(3)BeforePrint事件和OnPrint事件可提供打印前的预处理。 以下程序中,Qrimage画了一个“勾”,通过BeforePrint事件和OnPrint事件预处理当前记录的下一条记录,从而在产生报表时决定在当前记录的“高压”还是“低压”处打勾。Qrimage的enabled属性决定其是否显示和打印。 procedure
do1(s1:string); begin if
s1=高压then begin qr1.qrimage1.enabled:=true; qr1.qrimage2.enabled:=false; end elseif
s1=低压then begin qr1.qrimage1.enabled:=false; qr1.qrimage2.enabled:=true;
end else
begin qr1.qrimage1.enabled:=false; qr1.qrimage2.enabled:=false; end; end;
procedure
Tqr1.qr2BeforePrint(Sender:TQuickRep;varPrintReport:Boolean); begin query2.active:=true; query2.first; qrimage1.enabled:=false; qrimage2.enabled:=false; end;
procedure
Tqr2.QRDBText5Print(sender:TObject;varValue:String); begin do1(query2.fieldbyname(DianYa).asstring); if
not query2.eof
then query2.next; end;