📄 report.~pas
字号:
//欢迎使用,成都 李泽伦
unit Report;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ReportControl, StdCtrls, Db, DBTables, Grids, DBGrids,printers, Buttons,
ExtCtrls, QuickRpt, DBCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
Button2: TButton;
Button3: TButton;
ReportRunTime1: TReportRunTime;
Button4: TButton;
Table1ACCT_NBR: TFloatField;
Table1SYMBOL: TStringField;
Table1SHARES: TFloatField;
Table1PUR_PRICE: TFloatField;
Table1PUR_DATE: TDateField;
Label1: TLabel;
Button5: TButton;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
procedure setept;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.DatabaseName:=ExtractFilepath(application.ExeName);
table1.open;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
With ReportRunTime1 Do
Begin
ReportRunTime1.ReportFile:=ExtractFilepath(application.ExeName)+'creport_demo1.ept';
table1.DisableControls;
EnableEdit:=true;
EditEpt:=True;//不充许用户编辑模板
SetDataSet('M',table1);
SetDataSet('D',table1);
PrintPreview(true); //true参数表示预览不显示非打印表格线
table1.EnableControls;
end;
end;
procedure Tform1.setept;
var sumfield,i,kk:integer;
begin
{ReportControl1.LoadFromFile(ExtractFilepath(application.ExeName)+'creport_demo1.ept'); //装入模版以做修改页面或纸张
kk:=ReportControl1.CountFcells(2);
for i:=0 to kk-1 do
ReportControl1.SetCallText(2,i,''); //有空后修改为一个总调用,如清第二行
kk:=ReportControl1.CountFcells(3); //则调用cleaFcell(2);
for i:=0 to kk-1 do
ReportControl1.SetCallText(3,i,'');
Sumfield:=table1.FieldCount;
for i:=0 to sumfield-1 do
ReportControl1.SetCallText(2,i,table1.fields[i].fieldname);
for i:=0 to sumfield-1 do
ReportControl1.SetCallText(3,i,'#Table1.'+table1.fields[i].FieldName);
ReportControl1.SaveToFile(ExtractFilepath(application.ExeName)+'creport_demo1.ept');
ReportControl1.ResetContent;//清除内层中的表格数据 }
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
With ReportRunTime1 Do
begin
//setept;//动态填写模版内容则要此行
ReportRunTime1.ReportFile:=ExtractFilepath(application.ExeName)+'creport_demo2.ept';//动态填写模版内容选creport_demo1.ept
table1.DisableControls;
EnableEdit:=true;
EditEpt:=true;
SetDataSet('Table1',table1);
Setvarvalue('jgtw','金额单位:元');
Setvarvalue('head','********************统计表');
Setvarvalue('name','单位:*********');
Print(false); //false 代表选择打印页,true则直接打印
table1.EnableControls;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
With ReportRunTime1 Do
Begin
ReportFile:=ExtractFilepath(application.ExeName)+'creport_demo2.ept';
table1.DisableControls;
EditEpt:=true; //充许用户编辑模板
EnableEdit:=True;
SetDataSet('M',table1);
SetDataSet('D',table1);
//Setvarvalue('jgtw','金额单位:元');
//Setvarvalue('head','********************统计表');
// Setvarvalue('name','单位:*********');
PrintPreview(true); //true参数表示预览不显示非打印表格线
table1.EnableControls;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
//QuickRep1.Printer.PaperWidth
// ShowMessage(IntToStr(QuickRep1.Printer.PaperWidth));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -