You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

918 lines
26 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

unit u_sys_frprint;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
dxExEdtr, ppDB, ppProd, ppClass, ppReport, bsDialogs, bsSkinShellCtrls,
ppDsgnDB, ppRelatv, ppDBPipe, DB, ADODB, ppComm, ppEndUsr,
BusinessSkinForm, StdCtrls, Mask, bsSkinBoxCtrls, bsdbctrls, bsSkinCtrls,
dxTL, dxDBCtrl, dxDBGrid, dxCntner, dxDBTLCl, dxGrClms, DBCtrls, XPMenu,
Menus, TXComp, ExtDlgs, ImgList, IdFTP,IdFTPCommon, frxChBox, frxOLE,
frxDCtrl, frxCross, frxClass, frxADOComponents, frxRich, frxExportCSV,
frxExportImage, frxExportMail, frxGZip, frxCrypt, frxDesgn, frxExportODF,
frxExportPDF, frxExportXML, frxExportXLS, frxExportHTML, frxExportText,
frxExportRTF, frxDBSet, Grids, DBGrids,inifiles;
type
Tfrm_sys_frprint = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
dxDBGrid1: TdxDBGrid;
dxDBGrid1Column1: TdxDBGridMaskColumn;
bsSkinPanel3: TbsSkinPanel;
t_sys_report: TADOQuery;
t_sys_report1: TDataSource;
bsSkinInputDialog1: TbsSkinInputDialog;
bsSkinDBEdit1: TbsSkinDBEdit;
dxDBGrid1Column2: TdxDBGridCheckColumn;
bsSkinPanel1: TbsSkinPanel;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Button5: TButton;
PopupMenu1: TPopupMenu;
XPMenu1: TXPMenu;
N1: TMenuItem;
N2: TMenuItem;
EXCEL1: TMenuItem;
N3: TMenuItem;
WORD1: TMenuItem;
N4: TMenuItem;
PDF1: TMenuItem;
N5: TMenuItem;
RTF1: TMenuItem;
ImageList: TImageList;
OpenDialog1: TOpenDialog;
t_sys_report_employee: TADOQuery;
bsSkinPanel2: TbsSkinPanel;
bsSkinButton12: TbsSkinButton;
bsSkinPanel4: TbsSkinPanel;
bsSkinButton6: TbsSkinButton;
bsSkinButton8: TbsSkinButton;
bsSkinButton7: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
bsSkinButton4: TbsSkinButton;
bsSkinButton9: TbsSkinButton;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton10: TbsSkinButton;
bsSkinButton11: TbsSkinButton;
bsSkinButton5: TbsSkinButton;
t_sys_report_lei: TADOQuery;
t_sys_reportfile: TADOQuery;
t_sys_reportfile1: TDataSource;
frxBMPExport1: TfrxBMPExport;
frxJPEGExport1: TfrxJPEGExport;
frxTIFFExport1: TfrxTIFFExport;
frxRTFExport1: TfrxRTFExport;
frxSimpleTextExport1: TfrxSimpleTextExport;
frxHTMLExport1: TfrxHTMLExport;
frxXLSExport1: TfrxXLSExport;
frxPDFExport1: TfrxPDFExport;
frxODSExport1: TfrxODSExport;
frxODTExport1: TfrxODTExport;
frxDesigner1: TfrxDesigner;
frxCrypt1: TfrxCrypt;
frxGZipCompressor1: TfrxGZipCompressor;
frxMailExport1: TfrxMailExport;
frxGIFExport1: TfrxGIFExport;
frxCSVExport1: TfrxCSVExport;
frxRichObject1: TfrxRichObject;
frxReport1: TfrxReport;
frxADOComponents1: TfrxADOComponents;
frxCrossObject1: TfrxCrossObject;
frxDialogControls1: TfrxDialogControls;
frxOLEObject1: TfrxOLEObject;
frxCheckBoxObject1: TfrxCheckBoxObject;
one_table_1: TfrxDBDataset;
one_table_2: TfrxDBDataset;
one_table_3: TfrxDBDataset;
one_table_4: TfrxDBDataset;
all_table_4: TfrxDBDataset;
all_table_3: TfrxDBDataset;
all_table_2: TfrxDBDataset;
all_table_1: TfrxDBDataset;
all_table_7: TfrxDBDataset;
all_table_5: TfrxDBDataset;
all_table_6: TfrxDBDataset;
print_head: TfrxDBDataset;
load_employee: TfrxDBDataset;
t_sys_cust: TADOQuery;
t_sys_cust1: TDataSource;
load_cust: TfrxDBDataset;
SaveDialog1: TSaveDialog;
ds_sys_reporthead1: TDataSource;
t_sys_reporthead: TADOQuery;
all_table_8: TfrxDBDataset;
bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
procedure bsSkinButton8Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton5Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure bsSkinButton4Click(Sender: TObject);
procedure bsSkinButton9Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bsSkinButton7Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure EXCEL1Click(Sender: TObject);
procedure WORD1Click(Sender: TObject);
procedure PDF1Click(Sender: TObject);
procedure RTF1Click(Sender: TObject);
procedure bsSkinButton10Click(Sender: TObject);
procedure t_sys_reportAfterPost(DataSet: TDataSet);
procedure bsSkinButton12Click(Sender: TObject);
procedure t_sys_reportAfterOpen(DataSet: TDataSet);
procedure t_sys_reportBeforeClose(DataSet: TDataSet);
procedure t_sys_reportfileAfterInsert(DataSet: TDataSet);
procedure t_sys_reportfileAfterPost(DataSet: TDataSet);
function frxDesigner1SaveReport(Report: TfrxReport;
SaveAs: Boolean): Boolean;
function frxReport1UserFunction(const MethodName: String;
var Params: Variant): Variant;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_sys_frprint: Tfrm_sys_frprint;
implementation
uses u_main, u_data_share,
my_sys_function;
{$R *.dfm}
procedure Tfrm_sys_frprint.bsSkinButton8Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
exit;
end;
if t_sys_reportfile.fieldbyname('report').IsNull then begin
showmessage('û<><C3BB>ҪԤ<D2AA><D4A4><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.PrepareReport;
frxReport1.Print;
except
showmessage('<27><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_report.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_report['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_report['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
end;
end;
procedure Tfrm_sys_frprint.bsSkinButton2Click(Sender: TObject);
var
book1:Tbookmark;
str:string;
begin
try
t_sys_report.DisableControls;
book1:=t_sys_report.GetBookmark;
str:=t_sys_report.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring;
t_sys_report.First;
while not t_sys_report.eof do
begin
if t_sys_report.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring=str then
begin
t_sys_report.edit;
t_sys_report['<27>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>']:=1;
t_sys_report.post;
end
else
begin
t_sys_report.edit;
t_sys_report['<27>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>']:=0;
t_sys_report.post;
end;
t_sys_report.next;
end;
finally
t_sys_report.GotoBookmark(book1);
t_sys_report.EnableControls;
end;
end;
procedure Tfrm_sys_frprint.bsSkinButton5Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_sys_frprint.bsSkinButton3Click(Sender: TObject);
begin
if t_sys_report.IsEmpty then begin
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select top 0 * from t_sys_report ');
t_sys_reportfile.Open;
end else begin
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
end;
t_sys_reportfile.Insert;
t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=bsSkinInputDialog1.InputBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>',t_sys_reportfile.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring);
t_sys_reportfile.post;
{
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_reportfile.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_reportfile['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
end;
}
frxReport1.DesignReport;
end;
procedure Tfrm_sys_frprint.bsSkinButton4Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<><C3BB>Ҫ<EFBFBD><D2AA><EFBFBD>Ƶĸ<C6B5>ʽ<EFBFBD><CABD>');
exit;
end;
try
if not t_sys_reportfile.fieldbyname('report').IsNull then begin
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
end;
frxReport1.DesignReport;
except
showmessage('<27><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_reportfile.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_reportfile['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
end;
end;
procedure Tfrm_sys_frprint.bsSkinButton9Click(Sender: TObject);
begin
if t_sys_report.isempty then
begin
showmessage('û<><C3BB>Ҫɾ<D2AA><C9BE><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD>');
exit;
end;
if application.MessageBox('<27><>ȷ<EFBFBD><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>?','<27><><EFBFBD><EFBFBD>:',MB_OKCANCEL)=IDOK then
t_sys_report.delete;
end;
procedure Tfrm_sys_frprint.bsSkinButton1Click(Sender: TObject);
begin
if t_sys_report.isempty then
begin
showmessage('û<><C3BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶĸ<C6B5>ʽ<EFBFBD><CABD>');
exit;
end;
t_sys_report.edit;
t_sys_report['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=bsSkinInputDialog1.InputBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>',t_sys_report.fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring);
t_sys_report.post;
end;
procedure Tfrm_sys_frprint.bsSkinButton6Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
exit;
if t_sys_reportfile.fieldbyname('report').IsNull then begin
showmessage('û<><C3BB>ҪԤ<D2AA><D4A4><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.ShowReport;
except
showmessage('<27><>ӡԤ<D3A1><D4A4>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_reportfile.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_reportfile['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
end;
end;
procedure Tfrm_sys_frprint.FormShow(Sender: TObject);
begin
if not if_open('170') then
begin
bsSkinButton3.Enabled:=false;
bsSkinButton4.Enabled:=false;
bsSkinButton9.Enabled:=false;
bsSkinButton1.Enabled:=false;
bsSkinButton2.Enabled:=false;
bsSkinButton10.Enabled:=false;
bsSkinButton11.Enabled:=false;
end;
// frm_data_share.t_sys_report_head.Requery();
// frm_data_share.t_load_employee.Requery();
if not t_sys_reporthead.IsEmpty then
begin
t_sys_reporthead.edit;
t_sys_reporthead['̨ͷTO']:='';
t_sys_reporthead['̨ͷATTN']:='';
t_sys_reporthead.post;
end;
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
bsSkinPanel2.Visible:=true;
// rd.XHD_help:=t_sys_report_lei.fieldbyname('<27><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>').asstring;
end;
procedure Tfrm_sys_frprint.bsSkinButton7Click(Sender: TObject);
var
Pnt:Tpoint;
begin
Pnt:=bsSkinButton7.ClientToScreen(Point(0,bsSkinButton7.Height));
PopupMenu1.Popup(Pnt.x,Pnt.y);
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_report.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_report['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_report['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
end;
end;
procedure Tfrm_sys_frprint.N1Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.PrepareReport;
frxReport1.Export(frxJPEGExport1);
except
showmessage('<27><>Ϊ<EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
end;
procedure Tfrm_sys_frprint.EXCEL1Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.PrepareReport;
frxReport1.Export(frxXLSExport1);
except
showmessage('<27><>Ϊ<EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
end;
procedure Tfrm_sys_frprint.WORD1Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.PrepareReport;
frxReport1.Export(frxHTMLExport1);
except
showmessage('<27><>Ϊ<EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
end;
procedure Tfrm_sys_frprint.PDF1Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.PrepareReport;
frxReport1.Export(frxPDFExport1);
except
showmessage('<27><>Ϊ<EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
end;
procedure Tfrm_sys_frprint.RTF1Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
frxReport1.PrepareReport;
frxReport1.Export(frxRTFExport1);
except
showmessage('<27><>Ϊ<EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
end;
end;
procedure Tfrm_sys_frprint.bsSkinButton10Click(Sender: TObject);
var
template : TStream;
begin
if t_sys_report.isempty then
exit;
t_sys_reportfile.Close;
t_sys_reportfile.SQL.Clear;
t_sys_reportfile.SQL.Add('select * from t_sys_report where CH_ID='+inttostr(t_sys_report['CH_ID']));
t_sys_reportfile.Open;
if t_sys_reportfile.isempty then
begin
showmessage('û<>д<EFBFBD>ӡ<EFBFBD><D3A1>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
exit;
end;
if t_sys_reportfile.fieldbyname('report').IsNull then begin
showmessage('û<><C3BB>ҪԤ<D2AA><D4A4><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD>');
exit;
end;
try
try
template := t_sys_reportfile.CreateBlobStream(t_sys_reportfile.FieldByName('report'), bmRead);
template.Position := 0;
frxReport1.LoadFromStream(template);
finally
template.Free;
end;
if SaveDialog1.Execute then
frxReport1.savetofile(SaveDialog1.filename);
except
showmessage('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽʧ<CABD>ܣ<EFBFBD>');
end;
// GetNewData('t_sys_report','CH_ID','',t_sys_reportfile);
{
try
IdFTP1:=TIdFTP.Create(application);
with idftp1 do
begin
Username:='dongsheng';
Password:='zouwenkun';
Host:='218.57.11.18';
Connect;
end;
idftp1.Disconnect;
update_jiandu;
try
if not assigned(frm_sys_print_down) then
frm_sys_print_down:=tfrm_sys_print_down.Create (self);
frm_sys_print_down.Caption:=frm_sys_print.Caption;
frm_sys_print_down.ShowModal;
finally
frm_sys_print_down.free;
frm_sys_print_down:=NIL;
end;
except
showmessage('<27><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>');
end;
idftp1.free;
}
end;
procedure Tfrm_sys_frprint.t_sys_reportAfterPost(DataSet: TDataSet);
begin
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_report.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_report['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_report['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
end;
end;
procedure Tfrm_sys_frprint.bsSkinButton12Click(Sender: TObject);
var
str:widestring;
begin
if bsSkinButton12.caption='<27><><EFBFBD>и<EFBFBD>ʽ'then
begin
bsSkinButton12.caption:='<27><><EFBFBD>ڸ<EFBFBD>ʽ';
t_sys_reportfile.close;
t_sys_report.close;
t_sys_report.sql.clear;
t_sys_report.sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>,CH_ID from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
t_sys_report.Parameters[0].value:=frm_sys_frprint.caption;
t_sys_report.open;
t_sys_reportfile.Open;
end
else
begin
if not t_sys_report_employee.IsEmpty then
begin
t_sys_report_employee.first;
while not t_sys_report_employee.eof do
begin
if t_sys_report_employee.fieldbyname('<27><><EFBFBD><EFBFBD>').AsDateTime>=date-30 then
begin
if str='' then
str:=t_sys_report_employee.fieldbyname('CH_ID').asstring
else
str:=str+','+t_sys_report_employee.fieldbyname('CH_ID').asstring;
end;
t_sys_report_employee.next;
end;
str:=' and CH_ID in ('+str+')';
t_sys_reportfile.close;
t_sys_report.close;
t_sys_report.sql.clear;
t_sys_report.sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>,CH_ID from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '+str+' order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
t_sys_report.Parameters[0].value:=frm_sys_frprint.caption;
t_sys_report.open;
t_sys_reportfile.Open;
end
else
begin
t_sys_reportfile.close;
t_sys_report.close;
t_sys_report.sql.clear;
t_sys_report.sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>,CH_ID from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
t_sys_report.Parameters[0].value:=frm_sys_frprint.caption;
t_sys_report.open;
t_sys_reportfile.Open;
end;
bsSkinButton12.caption:='<27><><EFBFBD>и<EFBFBD>ʽ';
end;
end;
procedure Tfrm_sys_frprint.t_sys_reportAfterOpen(DataSet: TDataSet);
begin
// t_sys_reportfile.Open;
end;
procedure Tfrm_sys_frprint.t_sys_reportBeforeClose(DataSet: TDataSet);
begin
// t_sys_reportfile.Close;
end;
procedure Tfrm_sys_frprint.t_sys_reportfileAfterInsert(DataSet: TDataSet);
begin
t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=frm_sys_frprint.Caption;
t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=frm_sys_frprint.Caption;
t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:='12311';
t_sys_reportfile['<27>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>']:=false;
end;
procedure Tfrm_sys_frprint.t_sys_reportfileAfterPost(DataSet: TDataSet);
var
str:widestring;
begin
if frm_sys_frprint.caption='<27><><EFBFBD>˳<EFBFBD><CBB3>ڵ<EFBFBD>֤' then
begin
if not t_sys_report_employee.Locate('CH_ID',t_sys_reportfile.fieldbyname('CH_ID').asinteger,[])then
begin
t_sys_report_employee.insert;
t_sys_report_employee['CH_ID']:=t_sys_reportfile['CH_ID'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']:=t_sys_reportfile['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'];
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=employee;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end
else
begin
t_sys_report_employee.edit;
t_sys_report_employee['<27><><EFBFBD><EFBFBD>']:=date;
t_sys_report_employee.post;
end;
if bsSkinButton12.caption='<27><><EFBFBD>и<EFBFBD>ʽ'then
begin
if not t_sys_report_employee.IsEmpty then
begin
t_sys_report_employee.first;
while not t_sys_report_employee.eof do
begin
if t_sys_report_employee.fieldbyname('<27><><EFBFBD><EFBFBD>').AsDateTime>=date-30 then
begin
if str='' then
str:=t_sys_report_employee.fieldbyname('CH_ID').asstring
else
str:=str+','+t_sys_report_employee.fieldbyname('CH_ID').asstring;
end;
t_sys_report_employee.next;
end;
str:=' and CH_ID in ('+str+')';
t_sys_report.close;
t_sys_report.sql.clear;
t_sys_report.sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>,CH_ID from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '+str+' order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
t_sys_report.Parameters[0].value:=frm_sys_frprint.caption;
t_sys_report.open;
end
else
begin
t_sys_report.close;
t_sys_report.sql.clear;
t_sys_report.sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>,CH_ID from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
t_sys_report.Parameters[0].value:=frm_sys_frprint.caption;
t_sys_report.open;
end;
end
else
begin
t_sys_report.close;
t_sys_report.sql.clear;
t_sys_report.sql.add('select <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ƿ<EFBFBD>Ĭ<EFBFBD><C4AC>,CH_ID from t_sys_report where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> order by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
t_sys_report.Parameters[0].value:=frm_sys_frprint.caption;
t_sys_report.open;
end;
end else
t_sys_report.Requery;
t_sys_report.Locate('CH_ID',t_sys_reportfile['CH_ID'],[]);
end;
function Tfrm_sys_frprint.frxDesigner1SaveReport(Report: TfrxReport;
SaveAs: Boolean): Boolean;
var template : TStream;
begin
if saveas then begin
try
if SaveDialog1.Execute then
frxReport1.savetofile(SaveDialog1.filename);
except
showmessage('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽʧ<CABD>ܣ<EFBFBD>');
end;
end else begin
template := TMemoryStream.Create;
template.Position := 0;
frxReport1.SaveToStream(template);
t_sys_reportfile.Edit;
try
t_sys_reportfile.DisableControls;
(t_sys_reportfile.FieldByName('Report') as TBlobField).LoadFromStream(template);
t_sys_reportfile.Post;
finally
t_sys_reportfile.EnableControls;
template.Free;
end;
result:=true;
end;
end;
function Tfrm_sys_frprint.frxReport1UserFunction(const MethodName: String;
var Params: Variant): Variant;
begin
//
if uppercase(MethodName)='MONEYCN' then
Result := MoneyCn(Params[0],Params[1]);
end;
procedure Tfrm_sys_frprint.FormCreate(Sender: TObject);
begin
frxReport1.AddFunction('function MoneyCn(num:real;lx:boolean=false):widestring;','<27>Զ<EFBFBD><D4B6><EFBFBD>');
end;
procedure Tfrm_sys_frprint.FormClose(Sender: TObject;
var Action: TCloseAction);
var
inifile1:Tinifile;
begin
inifile1:=Tinifile.Create(ExtractFilePath(application.ExeName)+'main.ini');
inifile1.WriteBool('RPT','NEW',not bsSkinCheckRadioBox1.Checked);
inifile1.free;
end;
end.