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

📄 depreu.pas

📁 学生学籍管理系统 数据库连接: 1、请在Sql server中附加数据库 2、在ODBC中进行设置 3、在delphi中连接该数据库
💻 PAS
字号:
{=============
预览实现窗口
作者:罗德江
时间:2001-9-11
地点:广州
=============}
unit dePreU;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, QuickRpt, QRPrntr, ImgList, ComCtrls, ToolWin, Printers,
  DeSelPageU, QRExport;

type
  TfrmDePreview = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    tbFirst: TToolButton;
    tbPriv: TToolButton;
    ImageList1: TImageList;
    tbNext: TToolButton;
    tbLast: TToolButton;
    ToolButton5: TToolButton;
    tbWidth: TToolButton;
    TbAll: TToolButton;
    tbZoom: TToolButton;
    ToolButton9: TToolButton;
    tbPrint: TToolButton;
    tbCurrent: TToolButton;
    ToolButton12: TToolButton;
    tbClose: TToolButton;
    sbText: TStatusBar;
    tbSetup: TToolButton;
    Panel1: TPanel;
    qvMain: TQRPreview;
    tbSel: TToolButton;
    SaveAs: TToolButton;
    sdSaveAs: TSaveDialog;
    ToolButton1: TToolButton;
    procedure qvMainPageAvailable(Sender: TObject; PageNum: Integer);
    procedure tbCloseClick(Sender: TObject);
    procedure tbSetupClick(Sender: TObject);
    procedure tbFirstClick(Sender: TObject);
    procedure tbPrivClick(Sender: TObject);
    procedure tbNextClick(Sender: TObject);
    procedure tbLastClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tbWidthClick(Sender: TObject);
    procedure TbAllClick(Sender: TObject);
    procedure tbZoomClick(Sender: TObject);
    procedure qvMainMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure tbPrintClick(Sender: TObject);
    procedure tbCurrentClick(Sender: TObject);
    procedure tbSelClick(Sender: TObject);
    procedure SaveAsClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure SetPageNum;
  end;

var
  frmDePreview: TfrmDePreview;

implementation

{$R *.DFM}

procedure TfrmDePreview.SetPageNum;
begin
  sbText.Panels[8].Text := inttostr(qvMain.QRPrinter.PageCount);
  sbText.Panels[6].Text := inttostr(qvMain.PageNumber);
  sbText.Panels[4].Text := inttostr(qvMain.Zoom)+' %';
  if qvMain.QRPrinter.Orientation = poPortrait then
    sbText.Panels[2].Text := '纵放'
  else
    sbText.Panels[2].Text := '横放';
end;

procedure TfrmDePreview.qvMainPageAvailable(Sender: TObject;
  PageNum: Integer);
begin
  qvMain.PageNumber := 1;
  SetPageNum;
end;

procedure TfrmDePreview.tbCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmDePreview.tbSetupClick(Sender: TObject);
begin
  qvMain.QRPrinter.PrintSetup;
  qvMain.QRPrinter.Orientation := Printer.Orientation;
  qvMain.UpdateZoom;
  SetPageNum;
end;

procedure TfrmDePreview.tbFirstClick(Sender: TObject);
begin
  qvMain.PageNumber := 1;
  SetPageNum;
end;

procedure TfrmDePreview.tbPrivClick(Sender: TObject);
begin
  if qvMain.PageNumber > 1 then
    qvMain.PageNumber := qvMain.PageNumber - 1;
  SetPageNum;
end;

procedure TfrmDePreview.tbNextClick(Sender: TObject);
begin
  if qvMain.PageNumber <
    qvMain.QRPrinter.PageCount then
    qvMain.PageNumber := qvMain.PageNumber + 1;
  SetPageNum;
end;

procedure TfrmDePreview.tbLastClick(Sender: TObject);
begin
  qvMain.PageNumber :=
    qvMain.QRPrinter.PageCount;
  SetPageNum;
end;

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

procedure TfrmDePreview.tbWidthClick(Sender: TObject);
begin
  qvMain.ZoomToWidth;
  SetPageNum;
end;

procedure TfrmDePreview.TbAllClick(Sender: TObject);
begin
  qvMain.ZoomToFit;
  SetPageNum;
end;

procedure TfrmDePreview.tbZoomClick(Sender: TObject);
begin
  qvMain.zoom := 100;
  SetPageNum;
end;

procedure TfrmDePreview.qvMainMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if (button = mbleft) then
     qvMain.zoom := qvMain.zoom + 10
  else
     if qvMain.zoom > 10 then
        qvMain.zoom := qvMain.zoom - 10;
  SetPageNum;
end;

procedure TfrmDePreview.FormShow(Sender: TObject);
begin
  qvMain.PageNumber := 1;
  SetPageNum;
end;

procedure TfrmDePreview.tbPrintClick(Sender: TObject);
begin
  qvMain.QRPrinter.FirstPage := 1;
  qvMain.QRPrinter.LastPage  := qvMain.QRPrinter.PageCount;
  qvMain.QRPrinter.Print;
end;

procedure TfrmDePreview.tbCurrentClick(Sender: TObject);
begin
  qvMain.QRPrinter.FirstPage := qvMain.PageNumber;
  qvMain.QRPrinter.LastPage  := qvMain.PageNumber;
  qvMain.QRPrinter.Print;
end;

procedure TfrmDePreview.tbSelClick(Sender: TObject);
begin
  frmSelPage := TfrmSelPage.Create(application);
  frmSelPage.seBegin.MaxValue  := qvMain.QRPrinter.PageCount;
  frmSelPage.seEnd.MaxValue    := qvMain.QRPrinter.PageCount;
  frmSelPage.seBegin.Value     := qvMain.PageNumber;
  frmSelPage.seEnd.Value       := qvMain.QRPrinter.PageCount;
  frmSelPage.seBegin.MaxLength := Length(inttostr(qvMain.QRPrinter.PageCount));
  frmSelPage.seEnd.MaxLength   := Length(inttostr(qvMain.QRPrinter.PageCount));
  frmSelPage.ShowModal;
  if frmSelPage.ModalResult = mrOK then
  begin
    frmSelPage.Hide;
    qvMain.QRPrinter.FirstPage := frmSelPage.seBegin.Value;
    qvMain.QRPrinter.LastPage  := frmSelPage.seEnd.Value;
    qvMain.QRPrinter.Copies    := frmSelPage.seCopy.Value;
    qvMain.QRPrinter.Print;
  end;
  frmSelPage.free;
end;

procedure TfrmDePreview.SaveAsClick(Sender: TObject);
begin
  if self.sdSaveAs.Execute then
  begin
{
    if uppercase(extractFileExt(SdSaveAs.FileName)) = '.XLS' then
      self.qvMain.QRPrinter.ExportToFilter(TQRXLSFilter.Create(SdSaveAs.FileName));
}
    if (uppercase(extractFileExt(SdSaveAs.FileName)) = '.RTF') then
      self.qvMain.QRPrinter.ExportToFilter(TQRCommaSeparatedFilter.Create(SdSaveAs.FileName));
    if uppercase(extractFileExt(SdSaveAs.FileName)) = '.HTML' then
      self.qvMain.QRPrinter.ExportToFilter(TQRHTMLDocumentFilter.Create(SdSaveAs.FileName));
    if uppercase(extractFileExt(SdSaveAs.FileName)) = '.CSV' then
      self.qvMain.QRPrinter.ExportToFilter(TQRCommaSeparatedFilter.Create(SdSaveAs.FileName));
    if uppercase(extractFileExt(SdSaveAs.FileName)) = '.TXT' then
      self.qvMain.QRPrinter.ExportToFilter(TQRAsciiExportFilter.Create(SdSaveAs.FileName));
  end;

{

  with SaveDialog1 do
  begin
    if Execute then
    begin
      frmFormLetter.QuickRep1.ExportToFilter(TQRCommaSeparatedFilter.Create(FileName));


Other filters:
HTML: TQRHTMLDocumentFilter
ASCII: TQRAsciiExportFilter
CSV: TQRCommaSeparatedFilter

In Professional Version:
RTF: TQRRTFExportFilter
WMF: TQRWMFExportFilter
Excel: TQRXLSFilter
}

end;


end.

⌨️ 快捷键说明

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