⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookrpfrm.pas

📁 基于Interbase的图书管理系统
💻 PAS
字号:
unit bookrpfrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ChildFrm, QRCtrls, QuickRpt, ExtCtrls, Buttons, StdCtrls,QRPrntr,
  Menus;

type
  TbookrpForm = class(TChildForm)
    Panel1: TPanel;
    Splitter1: TSplitter;
    pnlpreview: TPanel;
    QRbook: TQuickRep;
    PageFooterBand1: TQRBand;
    QRSysData1: TQRSysData;
    QRLabel4: TQRLabel;
    PageHeaderBand1: TQRBand;
    QRLabel1: TQRLabel;
    DetailBand1: TQRBand;
    QRShape3: TQRShape;
    QRShape6: TQRShape;
    QRShape7: TQRShape;
    QRShape8: TQRShape;
    QRDBbookid: TQRDBText;
    QRDBbookname: TQRDBText;
    QRDBperson: TQRDBText;
    QRDBpublic: TQRDBText;
    ColumnHeaderBand1: TQRBand;
    QRShape1: TQRShape;
    QRShape2: TQRShape;
    QRShape4: TQRShape;
    QRShape5: TQRShape;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    BitBtn1: TBitBtn;
    QRShape9: TQRShape;
    QRLabel2: TQRLabel;
    QRDBnumber: TQRDBText;
    QRLabel3: TQRLabel;
    QRSysData2: TQRSysData;
    QRbookext: TQuickRep;
    BitBtn2: TBitBtn;
    QRShape11: TQRShape;
    QRLabel12: TQRLabel;
    QRLabel13: TQRLabel;
    QRDB2: TQRDBText;
    QRLabel14: TQRLabel;
    QRLabel15: TQRLabel;
    QRLabel16: TQRLabel;
    QRLabel17: TQRLabel;
    QRDB3: TQRDBText;
    QRDB4: TQRDBText;
    QRDB5: TQRDBText;
    QRDB6: TQRDBText;
    QRLabel18: TQRLabel;
    QRDBR1: TQRDBRichText;
    QRLabel11: TQRLabel;
    QRShape12: TQRShape;
    QRShape13: TQRShape;
    QRbooktype: TQRLabel;
    qrbandBook: TQRBand;
    BitBtn3: TBitBtn;
    Image1: TImage;
    Label1: TLabel;
    QRPbook: TQuickRep;
    ColumnHeaderBand2: TQRBand;
    DetailBand2: TQRBand;
    PageHeaderBand2: TQRBand;
    QRShape14: TQRShape;
    QRShape15: TQRShape;
    QRShape16: TQRShape;
    QRShape17: TQRShape;
    QRShape18: TQRShape;
    QRShape19: TQRShape;
    QRLabel19: TQRLabel;
    QRLabel20: TQRLabel;
    QRLabel21: TQRLabel;
    QBbookid: TQRDBText;
    QBbookname: TQRDBText;
    QBbookperson: TQRDBText;
    PageFooterBand2: TQRBand;
    QRLabel22: TQRLabel;
    QSDpage: TQRSysData;
    QRLabel23: TQRLabel;
    QRSysData3: TQRSysData;
    QRShape20: TQRShape;
    QRShape21: TQRShape;
    QRShape22: TQRShape;
    QRDBprice: TQRDBText;
    QRLabel9: TQRLabel;
    QRShape10: TQRShape;
    QRShape26: TQRShape;
    QRLabel10: TQRLabel;
    QRDBnumberr: TQRDBText;
    QRShape23: TQRShape;
    QRShape24: TQRShape;
    QRShape25: TQRShape;
    QRShape27: TQRShape;
    QRLabel24: TQRLabel;
    QRLabel25: TQRLabel;
    QRDBpublish: TQRDBText;
    QRDBpreson: TQRDBText;
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure QRbookPreview(Sender: TObject);
    procedure QRDBbooknamePrint(sender: TObject; var Value: String);
    procedure BitBtn2Click(Sender: TObject);
    procedure QRbookextPreview(Sender: TObject);
    procedure qrbandBookBeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    procedure QRDB3Print(sender: TObject; var Value: String);
    procedure QRDB6Print(sender: TObject; var Value: String);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure QRPbookPreview(Sender: TObject);
    procedure QSDpagePrint(sender: TObject; var Value: String);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure QBbooknamePrint(sender: TObject; var Value: String);
    procedure QRSysData2Print(sender: TObject; var Value: String);
    procedure QRbookextAfterPreview(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  bookrpForm: TbookrpForm;

implementation
uses dmfrm, qrbookfrm, printbookfrm;
{$R *.dfm}

procedure TbookrpForm.FormDestroy(Sender: TObject);
begin
  inherited;
 bookrpForm:=nil;
end;

procedure TbookrpForm.FormShow(Sender: TObject);
begin
  inherited;
dmbook.closebook;
dmbook.closebooktypedb;
dmbook.openbook;
dmbook.openbooktypedb;
end;

procedure TbookrpForm.BitBtn1Click(Sender: TObject);
begin
  inherited;
qrbookform.QRPreview.QRPrinter:=nil;
QRbookForm.ToolBar1.Enabled:=false;
qrbookform.firstNavbutton;
if QRbookForm.ToolBar1.Enabled=false then QRbookForm.ToolBar1.Enabled:=true;
   QRbook.Preview;
end;

procedure TbookrpForm.QRbookPreview(Sender: TObject);
begin
  inherited;
qrbookform.QRPreview.QRPrinter:=TQRPrinter(sender);
end;

procedure TbookrpForm.QRDBbooknamePrint(sender: TObject;
  var Value: String);
begin
  inherited;
Value:='《'+dmbook.Qrybook['book_name']+'》';
end;

procedure TbookrpForm.BitBtn2Click(Sender: TObject);
var
 tt:integer;
begin
  inherited;
 qrbookform.QRPreview.QRPrinter:=nil;
 QRbookForm.ToolBar1.Enabled:=false;
 qrbookform.firstNavbutton;
  if not assigned(printbookForm) then
   printbookForm:=TprintbookForm.Create(Application);
 try
 tt:=printbookForm.ShowModal;
 finally
  printbookForm.Free;
  printbookForm:=nil;
 end;
  if tt=1 then begin
  if QRbookForm.ToolBar1.Enabled=false then QRbookForm.ToolBar1.Enabled:=true;
   QRbookext.Preview;
      end;
 if tt=2 then Qrbookext.Print;
end;

procedure TbookrpForm.QRbookextPreview(Sender: TObject);
begin
  inherited;
  try
  qrbookform.QRPreview.QRPrinter:=TQRPrinter(sender);
  except
  end;
end;

procedure TbookrpForm.qrbandBookBeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
var
tempindex:integer;
tempbook:string;
begin
  inherited;
 try
  tempindex:=pos('-',dmbook.Qrybook['book_id'])-1;
  tempbook:=copy(dmbook.Qrybook['book_id'],1,tempindex);
  if dmbook.Qrysmalltype.Locate('book_type',tempbook,[]) then
  begin
    QRbooktype.Caption:=dmbook.Qrysmalltype['book_smallname'];
  end;
 PrintBand:=true;
 except
  PrintBand:=false;
 end;
end;

procedure TbookrpForm.QRDB3Print(sender: TObject; var Value: String);
begin
  inherited;
 Value:='《'+Value+'》';
end;

procedure TbookrpForm.QRDB6Print(sender: TObject; var Value: String);
begin
  inherited;
 if copy(Value,7,1)='-' then
 Value:=copy(Value,1,4)+'年'+copy(Value,6,1)+'月'
 else Value:=copy(Value,1,4)+'年'+copy(Value,6,2)+'月';
end;

procedure TbookrpForm.FormCreate(Sender: TObject);
begin
  inherited;
  if not assigned(QRbookForm) then
  QRbookForm:=TQrbookForm.Create(self,pnlpreview);
  QRbookForm.Show;
  QRbook.Visible:=false;
  QRbookext.Visible:=false;
  QRPbook.Visible:=false;
end;

procedure TbookrpForm.BitBtn3Click(Sender: TObject);
begin
  inherited;
 qrbookform.QRPreview.QRPrinter:=nil;
 QRbookForm.ToolBar1.Enabled:=false;
 qrbookform.firstNavbutton;
if QRbookForm.ToolBar1.Enabled=false then QRbookForm.ToolBar1.Enabled:=true;
  QRPbook.Preview;
end;

procedure TbookrpForm.QRPbookPreview(Sender: TObject);
begin
  inherited;
qrbookform.QRPreview.QRPrinter:=TQRPrinter(sender);
end;

procedure TbookrpForm.QSDpagePrint(sender: TObject; var Value: String);
begin
  inherited;
  Value:='('+Value+')';
end;

procedure TbookrpForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  inherited;
qrbookform.free;
qrbookform:=nil;
CanClose:=true;
end;

procedure TbookrpForm.QBbooknamePrint(sender: TObject; var Value: String);
begin
  inherited;
  Value:='《'+Value+'》';
end;

procedure TbookrpForm.QRSysData2Print(sender: TObject; var Value: String);
begin
  inherited;
Value:='第 '+Value+' 页';
end;

procedure TbookrpForm.QRbookextAfterPreview(Sender: TObject);
begin
  inherited;
  try
  dmbook.closebook;
  dmbook.openbook;
  except
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -