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

📄 rp_pagesetup.pas

📁 亚惠快餐管理信息系统 包括亚惠快餐管理的各项功能
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit RP_PageSetup;

{
代码单元名称:通用报表打印工具页面设置窗口
从属软件:大连资金清算中心打码机管理信息系统
开发单位:大连理工大学计算机技术研究所软件工程研究室
时间:2001,1,30
}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, Tabnotbk, StdCtrls, PublicUnit, Spin, Grids, DBGrids, Db,
  ADODB, QuickRpt, Qrctrls, ExtCtrls, Printers, IniFiles, RP_USaveTemplateDlg,
  RP_USelectTemplate;

type
  TRP_fPageSetup = class(TForm)
    TabbedNotebook1: TTabbedNotebook;
    ReportNameFontDialog: TFontDialog;
    ReportTitleDeclareFontDialog: TFontDialog;
    ReportEndDeclareFontDialog: TFontDialog;
    ReportHeadFontDialog: TFontDialog;
    ReportBodyFontDialog: TFontDialog;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ReportOthersEdit: TEdit;
    ReportBuilderEdit: TEdit;
    ReportEndDeclareEdit: TEdit;
    ReportTitleDeclareEdit: TEdit;
    ReportNameEdit: TEdit;
    GroupBox3: TGroupBox;
    BtnTitle: TButton;
    BtnHeaderDescription: TButton;
    BtnHeader: TButton;
    BtnBody: TButton;
    BtnTail: TButton;
    GroupBox4: TGroupBox;
    Label6: TLabel;
    Label7: TLabel;
    ReportPageFootEdit: TEdit;
    ReportPageHeadEdit: TEdit;
    BtnEyeBrow: TButton;
    BtnFooter: TButton;
    ReportPageHeadFontDialog: TFontDialog;
    ReportPageFootFontDialog: TFontDialog;
    DataSource1: TDataSource;
    GroupBox7: TGroupBox;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    SpEReportPageTopMargin: TSpinEdit;
    SpEReportPageBottomMargin: TSpinEdit;
    SpEReportPageLeftMargin: TSpinEdit;
    SpEReportPageRightMargin: TSpinEdit;
    GroupBox9: TGroupBox;
    GroupBox10: TGroupBox;
    ChbHLine: TCheckBox;
    ChbSLine: TCheckBox;
    GroupBox11: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    SpEBodyHeaderRowHeight: TSpinEdit;
    SpEBodyRowHeight: TSpinEdit;
    GroupBox1: TGroupBox;
    ChbPrintDate: TCheckBox;
    ChbPrintPageNum: TCheckBox;
    RadioGroup1: TRadioGroup;
    GroupBox6: TGroupBox;
    PageLinesNumberSpinEdit: TSpinEdit;
    Label17: TLabel;
    PagefooterSpinEdit: TSpinEdit;
    RGPrint: TRadioGroup;
    OkButton: TButton;
    CancelButton: TButton;
    BtnPreview: TButton;
    BtnPrint: TButton;
    GroupBox5: TGroupBox;
    ChbTopFrameLine: TCheckBox;
    ChbRightFrameLine: TCheckBox;
    ChbLeftFrameLine: TCheckBox;
    ChbBottomFrameLine: TCheckBox;
    GroupBox8: TGroupBox;
    CboPageSize: TComboBox;
    ChbAddNo: TCheckBox;
    PageDesignDBGrid: TDBGrid;
    procedure BtnTitleClick(Sender: TObject);
    procedure BtnHeaderDescriptionClick(Sender: TObject);
    procedure BtnHeaderClick(Sender: TObject);
    procedure BtnBodyClick(Sender: TObject);
    procedure BtnTailClick(Sender: TObject);
    procedure OKButtonClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BtnEyeBrowClick(Sender: TObject);
    procedure BtnFooterClick(Sender: TObject);
    procedure PageLinesNumberSpinEditChange(Sender: TObject);
    procedure SpEBodyRowHeightChange(Sender: TObject);
    procedure PageDesignDBGridDblClick(Sender: TObject);
    procedure RGPrintClick(Sender: TObject);
    procedure BtnPreviewClick(Sender: TObject);
    procedure BtnPrintClick(Sender: TObject);
    procedure ReportNameEditExit(Sender: TObject);
    procedure ReportTitleDeclareEditExit(Sender: TObject);
    procedure ReportEndDeclareEditExit(Sender: TObject);
    procedure ReportBuilderEditExit(Sender: TObject);
    procedure ReportOthersEditExit(Sender: TObject);
    procedure ChbHLineClick(Sender: TObject);
    procedure ChbSLineClick(Sender: TObject);
    procedure SpEBodyHeaderRowHeightChange(Sender: TObject);
    procedure ReportPageHeadEditExit(Sender: TObject);
    procedure ReportPageFootEditExit(Sender: TObject);
    procedure ChbPrintDateClick(Sender: TObject);
    procedure ChbPrintPageNumClick(Sender: TObject);
    procedure SpEReportPageTopMarginChange(Sender: TObject);
    procedure SpEReportPageBottomMarginChange(Sender: TObject);
    procedure SpEReportPageLeftMarginChange(Sender: TObject);
    procedure SpEReportPageRightMarginChange(Sender: TObject);
    procedure PageDesignDBGridMouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure PageDesignDBGridColumnMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
    DBGridFieldIDS, DBGridFieldNames: TStrings;
    APageDesign: TPageDesign;
    procedure GetPageDesign;
    procedure SetPageDesign;
    procedure CreateTemplate;
    procedure CreateInstance;
    procedure ResetADOQueryClause(FieldsID, FieldsName: TStrings);
    //    CPrintPreviewADOQuery:TADOQuery;
  end;

implementation

{$R *.DFM}

procedure TRP_fPageSetup.FormCreate(Sender: TObject);
begin
  DBGridFieldIDS := TStringList.Create;
  DBGridFieldNames := TStringList.Create;
end;

procedure TRP_fPageSetup.FormShow(Sender: TObject);
var
  Report: TQuickRep;
begin
  Report := TQuickRep.Create(Application);
  SetPageDesignColsWidth(APageDesign, PageDesignDBGrid);
  GetPageDesign;
  //    CboPageSize.Items.Assign();
end;
{----------------------------------------------------------------------------}

procedure TRP_fPageSetup.BtnEyeBrowClick(Sender: TObject);
begin
  if ReportPageHeadFontDialog.Execute then
  begin
    ReportPageHeadFontDialog.Tag := 1;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.BtnTitleClick(Sender: TObject);
begin
  if ReportNameFontDialog.Execute then
  begin
    ReportNameFontDialog.Tag := 1;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.BtnHeaderDescriptionClick(Sender: TObject);
begin
  if ReportTitleDeclareFontDialog.Execute then
  begin
    ReportTitleDeclareFontDialog.Tag := 1;
    ;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.BtnHeaderClick(Sender: TObject);
begin
  if ReportHeadFontDialog.Execute then
  begin
    ReportHeadFontDialog.Tag := 1;
    ;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.BtnBodyClick(Sender: TObject);
begin
  if ReportBodyFontDialog.Execute then
  begin
    ReportBodyFontDialog.Tag := 1;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.BtnTailClick(Sender: TObject);
begin
  if ReportEndDeclareFontDialog.Execute then
  begin
    ReportEndDeclareFontDialog.Tag := 1;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.BtnFooterClick(Sender: TObject);
begin
  if ReportPageFootFontDialog.Execute then
  begin
    ReportPageFootFontDialog.Tag := 1;
    //   SetPageDesign ;
  end;
end;

procedure TRP_fPageSetup.OKButtonClick(Sender: TObject);
begin
  SetPageDesign;
end;

procedure TRP_fPageSetup.PageLinesNumberSpinEditChange(Sender: TObject);
var
  QReport: TQuickRep;
  FooterHeight: integer;
begin
  QReport := TQuickRep.Create(Application);
  if RGPrint.ItemIndex = 0 then
    QReport.Page.Orientation := poPortrait
  else
    QReport.Page.Orientation := poLandscape;
  FooterHeight := QReport.Height - 140 - SpEBodyHeaderRowHeight.Value -
    SpEReportPageTopMargin.Value - SpEReportPageBottomMargin.Value -
    SpEBodyRowHeight.Value * PageLinesNumberSpinEdit.Value;
  if FooterHeight < 30 then
  begin
    PageLinesNumberSpinEdit.Value := PageLinesNumberSpinEdit.Value - 1;
    QReport.Free;
    Exit;
  end;
  FooterHeight := QReport.Height - 140 - SpEBodyHeaderRowHeight.Value -
    SpEReportPageTopMargin.Value - SpEReportPageBottomMargin.Value -
    SpEBodyRowHeight.Value * PageLinesNumberSpinEdit.Value;
  PagefooterSpinEdit.Value := FooterHeight;
  QReport.Free;
  //  SetPageDesign ;
end;

procedure TRP_fPageSetup.SpEBodyRowHeightChange(Sender: TObject);
var
  QReport: TQuickRep;
begin
  QReport := TQuickRep.Create(Application);
  if RGPrint.ItemIndex = 0 then
    QReport.Page.Orientation := poPortrait
  else
    QReport.Page.Orientation := poLandscape;
  PageLinesNumberSpinEdit.Value := (QReport.Height - SpEBodyHeaderRowHeight.Value
    - SpEReportPageTopMargin.Value - SpEReportPageBottomMargin.Value - 180) div
    SpEBodyRowHeight.Value;
  QReport.Free;
  //  SetPageDesign ;
end;

procedure TRP_fPageSetup.PageDesignDBGridDblClick(Sender: TObject);
var
  sc: integer;
begin
  sc := PageDesignDBGrid.SelectedIndex;
  if ((sc < 0) or (sc >= PageDesignDBGrid.DataSource.DataSet.FieldCount)) then
    Exit;
  with RadioGroup1 do
    {spring 2001-9-13}
    case ItemIndex of
      0:
        begin
          PageDesignDBGrid.Columns[sc].Title.Alignment := taLeftJustify;
          PageDesignDBGrid.Columns[sc].Alignment := taLeftJustify;
          PageDesignDBGrid.Fields[sc].Alignment := taLeftJustify;
        end;
      1:
        begin
          PageDesignDBGrid.Columns[sc].Title.Alignment := taCenter;
          PageDesignDBGrid.Columns[sc].Alignment := taCenter;
          PageDesignDBGrid.Fields[sc].Alignment := taCenter;
        end;
      2:
        begin
          PageDesignDBGrid.Columns[sc].Title.Alignment := taRightJustify;
          PageDesignDBGrid.Columns[sc].Alignment := taRightJustify;
          PageDesignDBGrid.Fields[sc].Alignment := taRightJustify;
        end;
    end;
  //  SetPageDesign ;
  {-spring 2001-9-13}
  {  case ItemIndex of
      0:  PageDesignDBGrid.Columns[sc].Alignment:=taLeftJustify;
      1:  PageDesignDBGrid.Columns[sc].Alignment:=taCenter;
      2:  PageDesignDBGrid.Columns[sc].Alignment:=taRightJustify;
    end;}
end;

procedure TRP_fPageSetup.RGPrintClick(Sender: TObject);
var
  QReport: TQuickRep;
begin
  QReport := TQuickRep.Create(Application);
  if RGPrint.ItemIndex = 0 then
    QReport.Page.Orientation := poPortrait
  else
    QReport.Page.Orientation := poLandscape;
  PageLinesNumberSpinEdit.Value := (QReport.Height - SpEBodyHeaderRowHeight.Value
    - SpEReportPageTopMargin.Value - SpEReportPageBottomMargin.Value - 180) div
    SpEBodyRowHeight.Value;
  QReport.Free;
  //  SetPageDesign ;
end;

procedure TRP_fPageSetup.BtnPreviewClick(Sender: TObject);
begin
  SetPageDesign;
  PreViewReportFile(APageDesign);
end;

procedure TRP_fPageSetup.BtnPrintClick(Sender: TObject);
begin
  PrintReportFile(APageDesign);
end;

procedure TRP_fPageSetup.ReportNameEditExit(Sender: TObject);
begin
  //  if ReportNameEdit.Modified then SetPageDesign ;
end;

procedure TRP_fPageSetup.ReportTitleDeclareEditExit(Sender: TObject);
begin
  //    if ReportTitleDeclareEdit.Modified then SetPageDesign ;
end;

procedure TRP_fPageSetup.ReportEndDeclareEditExit(Sender: TObject);
begin
  //    if ReportEndDeclareEdit.Modified then  SetPageDesign ;
end;

procedure TRP_fPageSetup.ReportBuilderEditExit(Sender: TObject);
begin
  //    if ReportBuilderEdit.Modified then SetPageDesign ;
end;

⌨️ 快捷键说明

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