📄 uemployeecard.pas
字号:
unit UEmployeeCard;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, PrnDbgeh, RpDefine, RpRave, RpBase, RpFiler,
RpRender, RpRenderCanvas, RpRenderPreview, RpCon, RpConDS, StdCtrls,
Buttons, RpSystem, RpRenderPrinter, Menus, RpRenderRTF, RpRenderHTML,
RpRenderPDF;
type
TForm_EmployeeCard = class(TForm)
RvProject1:TRvProject;
RvDataSetConnection1:TRvDataSetConnection;
RvRenderPreview1:TRvRenderPreview;
RvNDRWriter1:TRvNDRWriter;
ScrollBox1:TScrollBox;
BTNextPage:TBitBtn;
BTPrvPage:TBitBtn;
BTPinterSet:TBitBtn;
BTPrinting:TBitBtn;
NowPage:TEdit;
LBPage:TLabel;
RvRenderPrinter1:TRvRenderPrinter;
BitBtn1:TBitBtn;
BitBtn2:TBitBtn;
BitBtn4:TBitBtn;
PrinterSetupDialog1:TPrinterSetupDialog;
BBOutToFile:TBitBtn;
Label1:TLabel;
PopupMenu1:TPopupMenu;
N1:TMenuItem;
N2:TMenuItem;
N3:TMenuItem;
N4:TMenuItem;
N5:TMenuItem;
N6:TMenuItem;
N7:TMenuItem;
N8:TMenuItem;
N9:TMenuItem;
N10:TMenuItem;
N11:TMenuItem;
HTML1:TMenuItem;
PDF1:TMenuItem;
RTF1:TMenuItem;
SaveDlg:TSaveDialog;
RvRenderPDF1:TRvRenderPDF;
RvRenderHTML1:TRvRenderHTML;
RvRenderRTF1:TRvRenderRTF;
BitBtn3: TBitBtn;
procedure FormShow(Sender:TObject);
procedure BTNextPageClick(Sender:TObject);
procedure BTPrvPageClick(Sender:TObject);
procedure BitBtn1Click(Sender:TObject);
procedure BitBtn2Click(Sender:TObject);
procedure BitBtn3Click(Sender:TObject);
procedure BTPrintingClick(Sender:TObject);
procedure BitBtn4Click(Sender:TObject);
procedure BTPinterSetClick(Sender:TObject);
procedure N1Click(Sender:TObject);
procedure N2Click(Sender:TObject);
procedure N4Click(Sender:TObject);
procedure N5Click(Sender:TObject);
procedure N6Click(Sender:TObject);
procedure HTML1Click(Sender:TObject);
procedure PDF1Click(Sender:TObject);
procedure RTF1Click(Sender:TObject);
procedure BBOutToFileClick(Sender: TObject);
private
{ Private declarations }
NDRStream:TMemoryStream;
public
{ Public declarations }
end;
var
Form_EmployeeCard:TForm_EmployeeCard;
implementation
uses Umain,UOutputFile;
{$R *.dfm}
procedure TForm_EmployeeCard.FormShow(Sender:TObject);
begin
rvproject1.Engine := RvNDRWriter1;
//设置RAVE文件的路径
RvNDRWriter1.FileName := Form_Main.AppPath + 'data\demo.ndr';
//建立内存流
NDRStream := TMemoryStream.Create;
//输出报表数据
RvProject1.Execute;
//将报表数据调入内存流中供预览
NDRStream.LoadFromFile(Form_main.AppPath + 'data\demo.ndr');
//预览相应的报表,使用的是相应的内存流。
RvRenderPreview1.Render(NDRStream);
rvrenderprinter1.NDRStream := NDRStream;
// ShowButton();
//直接跳转到当前指定的记录
RvRenderPreview1.RenderPage(form_main.ADOQDBGrid.RecNo);
NowPage.Text := inttostr(form_main.ADOQDBGrid.RecNo);
LBPage.Caption := inttostr(form_main.ADOQDBGrid.RecNo) + '/' +
inttostr(form_main.ADOQDBGrid.RecordCount);
end;
procedure TForm_EmployeeCard.BTNextPageClick(Sender:TObject);
begin
RvRenderPreview1.NextPage;
if strtoint(NowPage.Text) >= form_main.ADOQDBGrid.RecordCount then
NowPage.Text := '1'
else
NowPage.Text := inttostr(strtoint(NowPage.Text) + 1);
end;
procedure TForm_EmployeeCard.BTPrvPageClick(Sender:TObject);
begin
RvRenderPreview1.PrevPage;
if strtoint(NowPage.Text) <= 1 then
NowPage.Text := inttostr(form_main.ADOQDBGrid.RecordCount)
else
NowPage.Text := inttostr(strtoint(NowPage.Text) - 1);
end;
procedure TForm_EmployeeCard.BitBtn1Click(Sender:TObject);
begin
RvRenderPreview1.ZoomIn;
end;
procedure TForm_EmployeeCard.BitBtn2Click(Sender:TObject);
begin
RvRenderPreview1.ZoomOut;
end;
procedure TForm_EmployeeCard.BitBtn3Click(Sender:TObject);
begin
{
RvRenderPreview1.ZoomPageWidthFactor:=1;
RvRenderPreview1.ZoomPageFactor:=1;
}
end;
procedure TForm_EmployeeCard.BTPrintingClick(Sender:TObject);
begin
rvrenderprinter1.RenderPage(Form_Main.ADOQDBGrid.RecNo);
end;
procedure TForm_EmployeeCard.BitBtn4Click(Sender:TObject);
begin
rvrenderprinter1.Render(NDRStream);
end;
procedure TForm_EmployeeCard.BTPinterSetClick(Sender:TObject);
begin
PrinterSetupDialog1.Execute;
// RvRenderPreview1.
end;
procedure TForm_EmployeeCard.N1Click(Sender:TObject);
begin
BTPrvPageClick(sender);
end;
procedure TForm_EmployeeCard.N2Click(Sender:TObject);
begin
BTNextPageClick(Sender);
end;
procedure TForm_EmployeeCard.N4Click(Sender:TObject);
begin
BTPinterSetClick(Sender);
end;
procedure TForm_EmployeeCard.N5Click(Sender:TObject);
begin
BTPrintingClick(Sender);
end;
procedure TForm_EmployeeCard.N6Click(Sender:TObject);
begin
BitBtn4Click(Sender);
end;
procedure TForm_EmployeeCard.HTML1Click(Sender:TObject);
begin
try
saveDlg.InitialDir := Form_Main.AppPath;
saveDlg.Filter := '*.HTML|*.html|*.HTML|*.html';
Savedlg.DefaultExt := '.html';
if (savedlg.Execute = true) then
begin
RvRenderHTML1.OutputFileName := savedlg.FileName;
RvRenderHTML1.Render(NDRstream);
showMessage('保存成功!');
end;
except // wrap up
showMessage('保存失败!');
end; // try/finally
end;
procedure TForm_EmployeeCard.PDF1Click(Sender:TObject);
begin
try
saveDlg.InitialDir := Form_Main.AppPath;
saveDlg.Filter := '*.pdf|*.pdf';
Savedlg.DefaultExt := '.pdf';
if (savedlg.Execute = true) then
begin
RvRenderPDF1.OutputFileName := savedlg.FileName;
RvRenderPDF1.Render(NDRstream);
showMessage('保存成功!');
end;
except // wrap up
showMessage('保存失败!');
end; // try/finally
end;
procedure TForm_EmployeeCard.RTF1Click(Sender:TObject);
begin
try
saveDlg.InitialDir := Form_Main.AppPath;
saveDlg.Filter := 'rtf文件|*.rtf';
Savedlg.DefaultExt := '.rtf';
if (savedlg.Execute = true) then
begin
RvRenderrtf1.OutputFileName := savedlg.FileName;
RvRenderrtf1.Render(NDRstream);
showMessage('保存成功!');
end;
except // wrap up
showMessage('保存失败!');
end; // try/finally
end;
procedure TForm_EmployeeCard.BBOutToFileClick(Sender: TObject);
var i:integer;
begin
Form_OutputFile:=TForm_OutputFile.Create(self);
Form_OutputFile.ShowModal;
case strtoint(Form_OutputFile.Edit1.Text) of
1: HTML1Click(Sender);
2: PDF1Click(sender);
3: RTF1Click(sender);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -