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

📄 rp_pagesetup.pas

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

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

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

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

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

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

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

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

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

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

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

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

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

procedure TRP_fPageSetup.PageDesignDBGridMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  //    SetPageDesign ;
end;

procedure TRP_fPageSetup.PageDesignDBGridColumnMoved(Sender: TObject;
  FromIndex, ToIndex: Integer);
begin
  GetFieldsName(DBGridFieldIDS, DBGridFieldNames, PageDesignDBGrid);
  ResetADOQueryClause(DBGridFieldIDS, DBGridFieldNames);
  APageDesign.ReportBodyColsWidth.Move(FromIndex, ToIndex);
end;

{-------------------------------------------------------------------------------}

procedure TRP_fPageSetup.SetPageDesign;
var
  i: integer;
  SumColWidth: integer;
begin
  if APageDesign.CPrintPreviewADOQuery = nil then
    Exit;
  with APageDesign do
  begin
    ReportName := ReportNameEdit.Text;
    ReportTitleDeclare := ReportTitleDeclareEdit.Text;
    ReportEndDeclare := ReportEndDeclareEdit.Text;
    ReportBuilder := ReportBuilderEdit.Text;
    ReportOthers := ReportOthersEdit.Text;
    ReportPageHead := ReportPageHeadEdit.Text;
    ReportPageFoot := ReportPageFootEdit.Text;
    TopFrameLine := ChbTopFrameLine.Checked;
    BottomFrameLine := ChbBottomFrameLine.Checked;
    LeftFrameLine := ChbLeftFrameLine.Checked;
    RightFrameLine := ChbRightFrameLine.Checked;
    AddHGrid := ChbHLine.Checked;
    AddSGrid := ChbSLine.Checked;
    AddNo := ChbAddNo.Checked;
    ReportPageNumber := ChbPrintPageNum.Checked;
    ReportPrintDate := ChbPrintDate.Checked;
    ReportBodyHeadRowHeight := SpEBodyHeaderRowHeight.Value;
    ReportBodyRowHeight := SpEBodyRowHeight.Value;
    ReportPageFootHeight := PagefooterSpinEdit.Value;
    if RGPrint.ItemIndex = 0 then
      ReportOrientation := Vertical
    else
      ReportOrientation := Horizand;
    PageLinesNumber := PageLinesNumberSpinEdit.Value;
    ReportBodyColsWidth.Clear;
    SetLength(ReportBodyAlignment, CPrintPreviewADOQuery.FieldCount);
    SumColWidth := 0;
    for i := 0 to CPrintPreviewADOQuery.FieldCount - 1 do
    begin
      SumColWidth := SumColWidth + PageDesignDBGrid.Columns[i].Width;
      ReportBodyColsWidth.Add(IntToStr(PageDesignDBGrid.Columns[i].Width));
      ReportBodyAlignment[i] := PageDesignDBGrid.Columns[i].Title.Alignment;
    end;
    ReportPageTopMargin := SpEReportPageTopMargin.Value;
    ReportPageBottomMargin := SpEReportPageBottomMargin.Value;
    ReportPageLeftMargin := SpEReportPageLeftMargin.Value;
    ReportPageRightMargin := SpEReportPageRightMargin.Value;
    if ReportNameFontDialog.Tag = 1 then
      ReportNameFont.Assign(ReportNameFontDialog.Font);
    if ReportTitleDeclareFontDialog.Tag = 1 then
      ReportTitleDeclareFont.Assign(ReportTitleDeclareFontDialog.Font);
    if ReportHeadFontDialog.Tag = 1 then
      ReportHeadFont.Assign(ReportHeadFontDialog.Font);
    if ReportBodyFontDialog.Tag = 1 then
      ReportBodyFont.Assign(ReportBodyFontDialog.Font);
    if ReportEndDeclareFontDialog.Tag = 1 then
      ReportEndDeclareFont.Assign(ReportEndDeclareFontDialog.Font);
    if ReportPageHeadFontDialog.Tag = 1 then
      ReportPageHeadFont.Assign(ReportPageHeadFontDialog.Font);
    if ReportPageFootFontDialog.Tag = 1 then
      ReportPageFootFont.Assign(ReportPageFootFontDialog.Font);
  end;
  //  ResetADOQueryClause(DBGridFieldIDS,DBGridFieldNames);
  GetFieldsName(DBGridFieldIDS, DBGridFieldNames, PageDesignDBGrid);
end;

procedure TRP_fPageSetup.CreateTemplate;
var
  i: integer;
  TempIni: TIniFile;
begin
  if APageDesign.CPrintPreviewADOQuery = nil then
    Exit;
  SetPageDesign;
  TempIni := TIniFile.Create('');
  with TempIni, APageDesign do
  begin
    WriteString('RDescription', 'ReportName', ReportName);
    WriteString('RDescription', 'ReportTitleDeclare', ReportTitleDeclare);
    WriteString('RDescription', 'ReportEndDeclare', ReportEndDeclare);
    WriteString('RDescription', 'ReportBuilder', ReportBuilder);
    WriteString('RDescription', 'ReportOthers', ReportOthers);
    WriteString('RHeadFoot', 'ReportPageHead', ReportPageHead);
    WriteString('RHeadFoot', 'ReportPageFoot', ReportPageFoot);
    WriteBool('RFrameLine', 'AddHGrid', AddHGrid);
    WriteBool('RFrameLine', 'AddSGrid', AddSGrid);
    WriteBool('RPageNoDate', 'ReportPageNumber', ReportPageNumber);
    WriteBool('RPageNoDate', 'ReportPrintDate', ReportPrintDate);
    WriteInteger('RHeight', 'ReportBodyHeadRowHeight', ReportBodyHeadRowHeight);
    WriteInteger('RHeight', 'ReportBodyRowHeight', ReportBodyRowHeight);
    WriteInteger('RHeight', 'ReportPageFootHeight', ReportPageFootHeight);
    WriteInteger('ROrientation', 'ReportOrientation', Ord(ReportOrientation));
    WriteInteger('RPageLineNumber', 'PageLinesNumber', PageLinesNumber);
    for i := 0 to ReportBodyColsWidth.Count - 1 do
      WriteString('RColWidth', 'Col' + IntToStr(i), ReportBodyColsWidth[i]);
    for i := 0 to ReportBodyColsWidth.Count - 1 do
      WriteInteger('RColAlignment', 'ColAlignment' + IntToStr(i),
        Ord(ReportBodyAlignment[i]));
    WriteInteger('RMargin', 'Top', ReportPageTopMargin);
    WriteInteger('RMargin', 'Bottom', ReportPageBottomMargin);
    WriteInteger('RMargin', 'Left', ReportPageLeftMargin);
    WriteInteger('RMargin', 'Right', ReportPageRightMargin);
    WriteString('RFont', 'ReportNameFontName', ReportNameFont.Name);
    WriteInteger('RFont', 'ReportNameFontSize', ReportNameFont.Size);
    WriteString('RFont', 'ReportTitleDeclareFontName',
      ReportTitleDeclareFont.Name);
    WriteInteger('RFont', 'ReportTitleDeclareFontSize',
      ReportTitleDeclareFont.Size);
    WriteString('RFont', 'ReportHeadFontName', ReportHeadFont.Name);
    WriteInteger('RFont', 'ReportHeadFontSize', ReportHeadFont.Size);
    WriteString('RFont', 'ReportBodyFontName', ReportBodyFont.Name);
    WriteInteger('RFont', 'ReportBodyFontSize', ReportBodyFont.Size);
    WriteString('RFont', 'ReportEndDeclareFontName', ReportEndDeclareFont.Name);
    WriteInteger('RFont', 'ReportEndDeclareFontSize',
      ReportEndDeclareFont.Size);
    WriteString('RFont', 'ReportPageHeadFontName', ReportPageHeadFont.Name);
    WriteInteger('RFont', 'ReportPageHeadFontSize', ReportPageHeadFont.Size);
    WriteString('RFont', 'ReportPageFootFontName', ReportPageFootFont.Name);
    WriteInteger('RFont', 'ReportPageFootFontSize', ReportPageFootFont.Size);
  end;
end;

procedure TRP_fPageSetup.CreateInstance;
var
  i: integer;
  TempIni: TIniFile;
  OrientationOrd: integer;
  AlignmentOrd: integer;
begin
  if APageDesign.CPrintPreviewADOQuery = nil then
    Exit;
  TempIni := TIniFile.Create('');
  with TempIni, APageDesign do
  begin
    ReadString('RDescription', 'ReportName', ReportName);
    ReadString('RDescription', 'ReportTitleDeclare', ReportTitleDeclare);
    ReadString('RDescription', 'ReportEndDeclare', ReportEndDeclare);
    ReadString('RDescription', 'ReportBuilder', ReportBuilder);
    ReadString('RDescription', 'ReportOthers', ReportOthers);
    ReadString('RHeadFoot', 'ReportPageHead', ReportPageHead);
    ReadString('RHeadFoot', 'ReportPageFoot', ReportPageFoot);
    ReadBool('RFrameLine', 'AddHGrid', AddHGrid);
    ReadBool('RFrameLine', 'AddSGrid', AddSGrid);
    ReadBool('RPageNoDate', 'ReportPageNumber', ReportPageNumber);
    ReadBool('RPageNoDate', 'ReportPrintDate', ReportPrintDate);
    ReadInteger('RHeight', 'ReportBodyHeadRowHeight', ReportBodyHeadRowHeight);
    ReadInteger('RHeight', 'ReportBodyRowHeight', ReportBodyRowHeight);
    ReadInteger('RHeight', 'ReportPageFootHeight', ReportPageFootHeight);

    ReadInteger('ROrientation', 'ReportOrientation', OrientationOrd);
    ReportOrientation := TPagePrintOrientation(OrientationOrd);
    ReadInteger('RPageLineNumber', 'PageLinesNumber', PageLinesNumber);
    for i := 0 to ReportBodyColsWidth.Count - 1 do
      ReadString('RColWidth', 'Col' + IntToStr(i), ReportBodyColsWidth[i]);
    for i := 0 to ReportBodyColsWidth.Count - 1 do
    begin
      ReadInteger('RColAlignment', 'ColAlignment' + IntToStr(i), AlignmentOrd);
      ReportBodyAlignment[i] := TAlignment(AlignmentOrd);
    end;
    ReadInteger('RMargin', 'Top', ReportPageTopMargin);
    ReadInteger('RMargin', 'Bottom', ReportPageBottomMargin);
    ReadInteger('RMargin', 'Left', ReportPageLeftMargin);
    ReadInteger('RMargin', 'Right', ReportPageRightMargin);
    ReadString('RFont', 'ReportNameFontName', ReportNameFont.Name);
    ReadInteger('RFont', 'ReportNameFontSize', ReportNameFont.Size);
    ReadString('RFont', 'ReportTitleDeclareFontName',
      ReportTitleDeclareFont.Name);
    ReadInteger('RFont', 'ReportTitleDeclareFontSize',
      ReportTitleDeclareFont.Size);
    ReadString('RFont', 'ReportHeadFontName', ReportHeadFont.Name);
    ReadInteger('RFont', 'ReportHeadFontSize', ReportHeadFont.Size);
    ReadString('RFont', 'ReportBodyFontName', ReportBodyFont.Name);
    ReadInteger('RFont', 'ReportBodyFontSize', ReportBodyFont.Size);
    ReadString('RFont', 'ReportEndDeclareFontName', ReportEndDeclareFont.Name);
    ReadInteger('RFont', 'ReportEndDeclareFontSize', ReportEndDeclareFont.Size);
    ReadString('RFont', 'ReportPageHeadFontName', ReportPageHeadFont.Name);
    ReadInteger('RFont', 'ReportPageHeadFontSize', ReportPageHeadFont.Size);
    ReadString('RFont', 'ReportPageFootFontName', ReportPageFootFont.Name);
    ReadInteger('RFont', 'ReportPageFootFontSize', ReportPageFootFont.Size);
  end;
end;

procedure TRP_fPageSetup.GetPageDesign;
var
  i: integer;
begin
  Screen.Cursor := crHourGlass;
  TabbedNotebook1.PageIndex := 0;
  with APageDesign do
  begin
    ReportNameEdit.Text := ReportName;
    ReportTitleDeclareEdit.Text := ReportTitleDeclare;
    ReportEndDeclareEdit.Text := ReportEndDeclare;
    ReportBuilderEdit.Text := ReportBuilder;
    ReportOthersEdit.Text := ReportOthers;
    ReportPageHeadEdit.Text := ReportPageHead;
    ReportPageFootEdit.Text := ReportPageFoot;
    ChbTopFrameLine.Checked := TopFrameLine;
    ChbBottomFrameLine.Checked := BottomFrameLine;
    ChbLeftFrameLine.Checked := LeftFrameLine;
    ChbRightFrameLine.Checked := RightFrameLine;
    ChbHLine.Checked := AddHGrid;
    ChbSLine.Checked := AddSGrid;
    ChbAddNo.Checked := AddNo;
    ChbPrintPageNum.Checked := ReportPageNumber;
    ChbPrintDate.Checked := ReportPrintDate;
    SpEBodyHeaderRowHeight.Value := ReportBodyHeadRowHeight;
    SpEBodyRowHeight.Value := ReportBodyRowHeight;
    PagefooterSpinEdit.Value := ReportPageFootHeight;
    PageLinesNumberSpinEdit.Value := PageLinesNumber;
    SpEReportPageTopMargin.Value := ReportPageTopMargin;
    SpEReportPageBottomMargin.Value := ReportPageBottomMargin;
    SpEReportPageLeftMargin.Value := ReportPageLeftMargin;
    SpEReportPageRightMargin.Value := ReportPageRightMargin;
    ReportNameFontDialog.Font.Assign(ReportNameFont);
    ReportTitleDeclareFontDialog.Font.Assign(ReportTitleDeclareFont);
    ReportHeadFontDialog.Font.Assign(ReportHeadFont);
    ReportBodyFontDialog.Font.Assign(ReportBodyFont);
    ReportEndDeclareFontDialog.Font.Assign(ReportEndDeclareFont);
    ReportPageHeadFontDialog.Font.Assign(ReportPageHeadFont);
    ReportPageFootFontDialog.Font.Assign(ReportPageFootFont);
    if ReportOrientation = Horizand then
      RGPrint.ItemIndex := 1
    else
      RGPrint.ItemIndex := 0;
    if not OpenReportFileDataSource(CServerName, CDataBaseName, CTableName,
      CSQLFileName, CSqlString, CPrintPreviewADOQuery) then
    begin
      Screen.Cursor := crDefault;
      ShowMessage('因无法打开数据源,所以您无法设置报表列宽!');
      Exit;
    end;
    {spring 2001=9-13}
    DataSource1.Dataset := CPrintPreviewADOQuery;
    CPrintPreviewADOQuery.First;
    for i := 0 to ReportBodyColsWidth.Count - 1 do
      PageDesignDBGrid.Columns[i].Width := StrToInt(ReportBodyColsWidth[i]);
    for i := 0 to Length(reportbodyAlignment) - 1 do
    begin
      PageDesignDBGrid.Columns[i].Title.Alignment := ReportBodyAlignment[i];
      PageDesignDBGrid.Columns[i].Alignment := ReportBodyAlignment[i];
      PageDesignDBGrid.Fields[i].Alignment := ReportBodyAlignment[i];
    end;
  end;
  for i := 0 to PageDesignDBGrid.FieldCount - 1 do
  begin
    if PageDesignDBGrid.Columns[i].Width > (PageDesignDBGrid.Width div 5) * 2
      then
      PageDesignDBGrid.Columns[i].Width := (PageDesignDBGrid.Width div 5) * 2;
  end;
  //spring 2001-9-17
  GetFieldsName(DBGridFieldIDS, DBGridFieldNames, PageDesignDBGrid);
  Screen.Cursor := crDefault;
end;

procedure TRP_fPageSetup.ResetADOQueryClause(FieldsID, FieldsName: TStrings);
var
  SelectClause: string;
  OtherClause: string;
  i: integer;
  ColumnID: string;
begin
  OtherClause := GetOtherClauseWithoutSelect(APageDesign.CPrintPreviewADOQuery);
  for i := 0 to PageDesignDBGrid.Columns.Count - 2 do
  begin
    ColumnID := IntToStr(PageDesignDBGrid.Columns[i].ID);
    SelectClause := SelectClause + FieldsName[FieldsID.IndexOf(ColumnID)] + ',';
  end;
  ColumnID := IntToStr(PageDesignDBGrid.Columns[i].ID);
  SelectClause := 'select ' + SelectClause +
    FieldsName[FieldsID.IndexOf(ColumnID)];
  with APageDesign.CPrintPreviewADOQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add(SelectClause);
    SQL.Add(OtherClause);
    Open;
  end;
end;

end.

⌨️ 快捷键说明

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