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

📄 ureppreview.pas

📁 小型库存管理,希望有帮助,小型库存管理,希望有帮助
💻 PAS
字号:
unit uRepPreview;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms,
  Dialogs, ExtCtrls, Buttons, QRPrntr, ComCtrls,StdCtrls,QuickRpt,QRCtrls,QRExport,
  ToolWin, ImgList;

type
  TfrmRepPreview = class(TForm)
    stbar: TStatusBar;
    QRPreview: TQRPreview;
    SaveDialog1: TSaveDialog;
    ToolBar6: TToolBar;
    btnWholePage: TToolButton;
    btnNormalPage: TToolButton;
    btnRatePage: TToolButton;
    btnFirst: TToolButton;
    btnprive: TToolButton;
    btnNext: TToolButton;
    btnend: TToolButton;
    btnPrint: TToolButton;
    btnPrintView: TToolButton;
    btnClose: TToolButton;
    btnTxt: TToolButton;
    ToolButton12: TToolButton;
    ImageList1: TImageList;
    idtPageNo: TEdit;
    UpDown: TUpDown;
    idtZoom: TComboBox;
    procedure QRPreviewPageAvailable(Sender: TObject; PageNum: Integer);
    procedure idtZoomChange(Sender: TObject);
    procedure idtPageNoChange(Sender: TObject);
    procedure idtPageNoKeyPress(Sender: TObject; var Key: Char);
    procedure idtZoomKeyPress(Sender: TObject; var Key: Char);
    procedure btnWholePageClick(Sender: TObject);
    procedure btnNormalPageClick(Sender: TObject);
    procedure btnRatePageClick(Sender: TObject);
    procedure btnFirstClick(Sender: TObject);
    procedure btnpriveClick(Sender: TObject);
    procedure btnNextClick(Sender: TObject);
    procedure btnendClick(Sender: TObject);
    procedure btnPrintClick(Sender: TObject);
    procedure btnPrintViewClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure btnTxtClick(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    pagecount :integer  ;
    procedure nave(PageNum: integer);
    procedure saveRep(TypeIndex:integer);
  public
    { Public declarations }
  end;

var
  frmRepPreview: TfrmRepPreview;

implementation

{$R *.dfm}
{按钮控制}
procedure TfrmRepPreview.nave(PageNum: integer);
begin
  btnfirst.Enabled:=NOT(PageNum=1);
  btnprive.Enabled:=NOT(PageNum=1);
  btnnext.Enabled:=NOT(PageNum=pagecount);
  btnend.Enabled:=NOT(PageNum=pagecount);
end;

{保存函数}
procedure TfrmRepPreview.saveRep(TypeIndex:integer);
var
  defae:array[1..8] of string;
  aHTMLFilt :TQRHTMLDocumentFilter;
begin
  defae[1]:='QRP';defae[2]:='TXT';defae[3]:='CSV';
  defae[4]:='HTM';defae[5]:='PDF';defae[6]:='WMF';
  defae[7]:='RTF';defae[8]:='XLS';
 if SaveDialog1.Execute then
  begin
   //1..TXT;2.CSV;3.XLS;4.RTF;5.HTML
   SaveDialog1.FileName :=ChangeFileExt(SaveDialog1.FileName,'.'+defae[TypeIndex]);
   case TypeIndex of
    1: QRPreview.QRPrinter.Save(SaveDialog1.FileName);
    2: QRPreview.QRPrinter.ExportToFilter(TQRAsciiExportFilter.Create(SaveDialog1.FileName));
    3: QRPreview.QRPrinter.ExportToFilter(TQRCommaSeparatedFilter.Create(SaveDialog1.FileName));
    4: begin aHTMLFilt:=TQRHTMLDocumentFilter.Create(SaveDialog1.FileName);
        QRPreview.QRPrinter.ExportToFilter(aHTMLFilt);
        aHTMLFilt.free;
       end;
    end;//case
end;//if
end ;

procedure TfrmRepPreview.QRPreviewPageAvailable(Sender: TObject;
  PageNum: Integer);
begin
 pagecount:=QRPreview.QRPrinter.PageCount;
 UpDown.Max :=pagecount;
 UpDown.Min :=1;
end;

procedure TfrmRepPreview.idtZoomChange(Sender: TObject);
var
 i:integer;
 strZoom :string ;
begin //显示比例
 strZoom :=trim(idtZoom.Text);
 if strZoom='' then exit ;
 i :=pos('%',strZoom);
 if i>0 then i :=StrToInt(copy(strZoom,0,i-1))
  else i :=StrToInt(strZoom);
 QRPreview.Zoom:=i;
end;

procedure TfrmRepPreview.idtPageNoChange(Sender: TObject);
var pnum,code :integer;
begin //显示页码
  val(trim(idtPageNo.Text),pnum,code);
  if QRPreview.QRPrinter=nil then exit  ;
  if (pnum>0) and (pnum<=QRPreview.QRPrinter.PageCount) then
   begin
    QRPreview.PageNumber:=pnum;
   end;//if
   nave(QRPreview.PageNumber); 
end;

procedure TfrmRepPreview.idtPageNoKeyPress(Sender: TObject; var Key: Char);
begin
 if not(key in ['0'..'9']) AND (KEY <> #8) then
  begin
    key := #0;
  end;
end;

procedure TfrmRepPreview.idtZoomKeyPress(Sender: TObject; var Key: Char);
begin
 if not(key in ['0'..'9','%']) AND (KEY <> #8) then
  begin
    key := #0;
  end;
end;

procedure TfrmRepPreview.btnWholePageClick(Sender: TObject);
begin //整页显示
  QRPreview.ZoomToFit;
end;

procedure TfrmRepPreview.btnNormalPageClick(Sender: TObject);
begin //原页大小
  QRPreview.Zoom:=100;
end;

procedure TfrmRepPreview.btnRatePageClick(Sender: TObject);
begin  //按页宽显示
  QRPreview.ZoomToWidth;
end;

procedure TfrmRepPreview.btnFirstClick(Sender: TObject);
begin //首页
  QRPreview.PageNumber:=1;
  nave(QRPreview.PageNumber);
end;

procedure TfrmRepPreview.btnpriveClick(Sender: TObject);
begin //上一页
 if QRPreview.PageNumber>1 then
  begin
   QRPreview.PageNumber:=QRPreview.PageNumber-1;
  end;//if
 nave(QRPreview.PageNumber);
end;

procedure TfrmRepPreview.btnNextClick(Sender: TObject);
begin //下一页
 if QRPreview.PageNumber<QRPreview.QRPrinter.PageCount then
  begin
   QRPreview.PageNumber:=QRPreview.PageNumber+1;
  end;//if
  nave(QRPreview.PageNumber);
end;

procedure TfrmRepPreview.btnendClick(Sender: TObject);
begin //未页
  QRPreview.PageNumber:={QRPreview.QRPrinter.}PageCount;
  nave(QRPreview.PageNumber);
end;

procedure TfrmRepPreview.btnPrintClick(Sender: TObject);
begin
  QRPreview.QRPrinter.Print; //打印
end;

procedure TfrmRepPreview.btnPrintViewClick(Sender: TObject);
begin
  QRPreview.QRPrinter.PrintSetup; //打印设置
end;

procedure TfrmRepPreview.btnCloseClick(Sender: TObject);
begin
  close ;
end;

procedure TfrmRepPreview.btnTxtClick(Sender: TObject);
begin  // Txt
 saveRep(2);
end;

procedure TfrmRepPreview.ToolButton12Click(Sender: TObject);
begin  //Excle
  saveRep(3);
end;

procedure TfrmRepPreview.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  action :=caFree ; 
end;

procedure TfrmRepPreview.FormCreate(Sender: TObject);
begin
  idtZoom.ItemIndex :=2 ;
end;

end.

⌨️ 快捷键说明

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