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

📄 reportwin.pas

📁 功能强大的报表生成和管理工具
💻 PAS
字号:
unit reportWIN;

interface

uses Windows, Classes, Graphics, Forms, Controls, SysUtils,
  FileCtrl, StdCtrls, ExtCtrls, Buttons, Spin, ComCtrls, Dialogs, FR_RRect,
  FR_Chart, FR_BarC, FR_Shape, FR_ChBox, FR_Rich, FR_OLE, FR_DSet,
  FR_DBSet, FR_Class, dxCore, dxButton, FRD_Mngr, FR_FMemo, FR_htmlmemo,
  FR_SPLineChart, FR_DCtrl, FR_Desgn, FR_E_HTM, FR_E_CSV, FR_E_RTF,
  FR_E_TXT, FolderTree, IniFiles;

type
  TReportForm = class(TForm)
    FileEdit: TEdit;
    FileListBox1: TFileListBox;
    FilterComboBox1: TFilterComboBox;
    frReport1: TfrReport;
    frCompositeReport1: TfrCompositeReport;
    frDBDataSet1: TfrDBDataSet;
    frUserDataset1: TfrUserDataset;
    frOLEObject1: TfrOLEObject;
    frRichObject1: TfrRichObject;
    frCheckBoxObject1: TfrCheckBoxObject;
    frShapeObject1: TfrShapeObject;
    frBarCodeObject1: TfrBarCodeObject;
    frChartObject1: TfrChartObject;
    frRoundRectObject1: TfrRoundRectObject;
    frDesigner1: TfrDesigner;
    frDialogControls1: TfrDialogControls;
    frSPLineChartObject1: TfrSPLineChartObject;
    frHTMLMemoObject1: TfrHTMLMemoObject;
    frFramedMemoObject1: TfrFramedMemoObject;
    frDataStorage1: TfrDataStorage;
    FolderTree1: TFolderTree;
    Panel1: TPanel;
    dxButton2: TdxButton;
    dxButton4: TdxButton;
    dxButton1: TdxButton;
    dxButton3: TdxButton;
    dxButton5: TdxButton;
    dxButton6: TdxButton;
    procedure FileEditKeyPress(Sender: TObject; var Key: Char);
    procedure dxButton1Click(Sender: TObject);
    procedure dxButton2Click(Sender: TObject);
    procedure dxButton3Click(Sender: TObject);
    procedure FolderTree1Change(Sender: TObject; Node: TTreeNode);
    procedure dxButton4Click(Sender: TObject);
    procedure dxButton5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FileListBox1DblClick(Sender: TObject);
    procedure FileListBox1KeyPress(Sender: TObject; var Key: Char);
    procedure dxButton6Click(Sender: TObject);
  private
    FileExt: string[4];
  end;

var
  ReportForm: TReportForm;

implementation
uses Unit3, preview, ABOUT1;

{$R *.DFM}

procedure TReportForm.FileEditKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    FileListBox1.ApplyFilePath(FileEdit.Text);
    Key := #0;
  end;
end;

procedure TReportForm.dxButton1Click(Sender: TObject);
begin
  FileExt := AnsiUpperCase(ExtractFileExt(FileListBox1.Filename));
  if (FileExt = '.FRF') then
  begin
    frReport1.Preview := nil;
    frReport1.Clear;
    frReport1.LoadFromFile(FileEdit.text);
    frReport1.ShowReport;
  end;
  if (FileExt = '.FRP') then
  begin
    frReport1.Clear;
    frReport1.Pages.Add;
    frReport1.Preview := form3.frPreview1;
    frReport1.ShowReport;
    form3.frPreview1.LoadFile(FileEdit.text);
    form3.ShowModal;
  end;
end;

procedure TReportForm.dxButton2Click(Sender: TObject);
begin
  frReport1.Clear;
  frReport1.DesignReport;
end;

procedure TReportForm.dxButton3Click(Sender: TObject);
begin
  FileExt := AnsiUpperCase(ExtractFileExt(FileListBox1.Filename));
  if (FileExt = '.FRF') then
  begin
    frReport1.Clear;
    frReport1.LoadFromFile(FileEdit.text);
    frReport1.printReport(0, 0, 0);
  end;
  if (FileExt = '.FRP') then
  begin
    frReport1.Clear;
    frReport1.Pages.Add;
    frReport1.Preview := form3.frPreview1;
    frReport1.ShowReport;
    form3.frPreview1.LoadFile(FileEdit.text);
    form3.frPreview1.print;
  end;
end;

procedure TReportForm.FolderTree1Change(Sender: TObject; Node: TTreeNode);
begin
{$I-}
  FileListBox1.Directory := FolderTree1.Directory;
{$I+}
end;

procedure TReportForm.dxButton4Click(Sender: TObject);
begin
  FileExt := AnsiUpperCase(ExtractFileExt(FileListBox1.Filename));
  if (FileExt = '.FRF') then
  begin
    frReport1.Clear;
    frReport1.LoadFromFile(FileEdit.text);
    frReport1.DesignReport;
  end;
  if (FileExt = '.FRP') then
  begin
    frReport1.Clear;
    frReport1.Pages.Add;
    frReport1.Preview := form3.frPreview1;
    frReport1.ShowReport;
    form3.frPreview1.LoadFile(FileEdit.text);
    frReport1.FileName := FileEdit.text;
    form3.frPreview1.Edit;
//    form3.ShowModal;
  end;
end;

procedure TReportForm.dxButton5Click(Sender: TObject);
begin
  close;
end;

procedure TReportForm.FormClose(Sender: TObject; var Action: TCloseAction);
var iniFile: TIniFile;
begin
  Inifile := TIniFile.Create('报告管理器.ini');
  IniFile.writestring('最后目录', '目录', FolderTree1.Directory);
  inifile.Free;
end;

procedure TReportForm.FileListBox1DblClick(Sender: TObject);
begin
  FileExt := AnsiUpperCase(ExtractFileExt(FileListBox1.Filename));
  if (FileExt = '.FRF') then
  begin
    frReport1.Preview := nil;
    frReport1.Clear;
    frReport1.LoadFromFile(FileEdit.text);
    frReport1.ShowReport;
  end;
  if (FileExt = '.FRP') then
  begin
    frReport1.Clear;
    frReport1.Pages.Add;
    frReport1.Preview := form3.frPreview1;
    frReport1.ShowReport;
    form3.frPreview1.LoadFile(FileEdit.text);
    form3.ShowModal;
  end;
end;

procedure TReportForm.FileListBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    FileExt := AnsiUpperCase(ExtractFileExt(FileListBox1.Filename));
    if (FileExt = '.FRF') then
    begin
      frReport1.Preview := nil;
      frReport1.Clear;
      frReport1.LoadFromFile(FileEdit.text);
      frReport1.ShowReport;
    end;
    if (FileExt = '.FRP') then
    begin
      frReport1.Clear;
      frReport1.Pages.Add;
      frReport1.Preview := form3.frPreview1;
      frReport1.ShowReport;
      form3.frPreview1.LoadFile(FileEdit.text);
      form3.ShowModal;
    end;
  end;
end;

procedure TReportForm.dxButton6Click(Sender: TObject);
begin
  AboutBox1.ShowModal;
end;

end.

⌨️ 快捷键说明

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