?? usyslog.pas
字號:
unit usyslog;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MDIbase, Buttons, StdCtrls, wwdblook, ToolWin, ComCtrls, Grids,
DBGridEh, DB, DBClient, Menus, ActnList, ExtCtrls, FR_Desgn, FR_DSet,
FR_DBSet, FR_Class;
type
Tfrmsyslog = class(TfrmMDIbase)
CoolBar1: TCoolBar;
CDSprint: TClientDataSet;
Grid: TDBGridEh;
CDSprintField: TStringField;
ActionList1: TActionList;
PopupMenu: TPopupMenu;
s01: TAction;
s02: TAction;
s03: TAction;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Panel1: TPanel;
spbtnEdit: TSpeedButton;
paprint: TPanel;
Label1: TLabel;
comboPrint: TwwDBLookupCombo;
CDSbaseinfo: TClientDataSet;
DSbaseinfo: TDataSource;
frBaseinfo: TfrReport;
frDBDSbaseinfo: TfrDBDataSet;
N4: TMenuItem;
N5: TMenuItem;
CDSbaseinfofid: TAutoIncField;
CDSbaseinfoftype: TWideStringField;
CDSbaseinfoftime: TDateTimeField;
CDSbaseinfofform: TWideStringField;
CDSbaseinfofevent: TWideStringField;
CDSbaseinfofuser: TWideStringField;
CDSbaseinfofpcname: TWideStringField;
procedure GridGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure spbtnEditClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure comboPrintChange(Sender: TObject);
procedure s02Execute(Sender: TObject);
procedure s03Execute(Sender: TObject);
procedure s01Execute(Sender: TObject);
private
MainView:string;
Keyfield:string;
ReportName:string;
procedure printSelect;
procedure Createprintdata;
function getscreenpoint(sender:Tcontrol):Tpoint;
{ Private declarations }
public
{ Public declarations }
end;
var
frmsyslog: Tfrmsyslog;
implementation
uses Global, common, usearch;
{$R *.dfm}
procedure Tfrmsyslog.Createprintdata;
begin
With CDSprint do
begin
Close;
FieldDefs.Add('打印選項',ftString,8);
CreateDataSet;
AppendRecord(['退出打印']);
AppendRecord(['打印預覽']);
AppendRecord(['直接打印']);
AppendRecord(['打印設置']);
AppendRecord(['報表設置']);
AppendRecord(['電子表格']);
Open;
end;
end;
function Tfrmsyslog.getscreenpoint(sender: Tcontrol): Tpoint;
var
clientpoint:Tpoint;
begin
clientpoint:=point(0,sender.Height);
while sender.Parent<>nil do
begin
clientpoint:=point(sender.Left+clientpoint.X,sender.Top+clientpoint.Y);
sender:=sender.Parent;
end;
clientpoint:=sender.ClientToScreen(clientpoint);
Result:=clientpoint;
end;
procedure Tfrmsyslog.GridGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if Grid.SumList.RecNo mod 2=1 then
BackGround:=$00EAEFED
else
BackGround:=clWhite;
end;
procedure Tfrmsyslog.spbtnEditClick(Sender: TObject);
var
Point:Tpoint;
begin
inherited;
Point:=GetScreenpoint(spbtnEdit);
popupmenu.Popup(point.X,point.Y);
end;
procedure Tfrmsyslog.FormCreate(Sender: TObject);
begin
inherited;
Createprintdata;
LockCount:=0;
Mainview:='Vsyslog';
keyfield:='fid';
ReportName:=gs_appPath+'\prints\frsyslog.frf';
end;
procedure Tfrmsyslog.FormShow(Sender: TObject);
begin
inherited;
GetaddData(CDSBaseinfo,Mainview,Keyfield,20);
s01.Enabled:=bcanadd;
s02.Enabled:=bcanadd;
s03.Enabled:=bcanmodify;
comboPrint.Enabled:=bcanprint;
end;
procedure Tfrmsyslog.comboPrintChange(Sender: TObject);
begin
inherited;
printSelect;
end;
procedure Tfrmsyslog.printSelect;
Begin
if Trim(comboprint.Text)='打印預覽' then
begin
CDSbaseinfo.DisableControls;
frbaseinfo.LoadFromFile(ReportName);
frbaseinfo.ShowReport;
CDSbaseinfo.EnableControls;
end;
if Trim(comboprint.Text)='直接打印' then
begin
CDSbaseinfo.DisableControls;
frbaseinfo.LoadFromFile(ReportName);
frbaseinfo.PrepareReport;
frbaseinfo.PrintPreparedReport('',1,True,frAll);
CDSbaseinfo.EnableControls;
end;
if Trim(comboprint.Text)='打印設置' then
begin
CDSbaseinfo.DisableControls;
frbaseinfo.LoadFromFile(ReportName);
frbaseinfo.PrepareReport;
frbaseinfo.PrintPreparedReportDlg;
CDSbaseinfo.EnableControls;
end;
if Trim(comboprint.Text)='報表設置' then
begin
CDSbaseinfo.DisableControls;
frbaseinfo.LoadFromFile(ReportName);
frbaseinfo.DesignReport;
CDSbaseinfo.EnableControls;
end;
if Trim(comboprint.Text)='電子表格' then
begin
end;
if Trim(comboprint.Text)='退出打印' then
Exit;
end;
procedure Tfrmsyslog.s02Execute(Sender: TObject);
var
i,j:integer;
begin
inherited;
initArray;
for i:=0 to CDSbaseinfo.FieldCount - 1 do
FindArray1[i]:=CDSbaseinfo.Fields[i].FieldName;
for j:=0 to Grid.Columns.Count - 1 do
FindArray2[j]:=Grid.Columns[j].Title.Caption;
if not Assigned(frmSearch) then
frmSearch:=TfrmSearch.Create(application);
frmSearch.ShowModal;
if Trim(Searchtiao)<>'' then
begin
try
Getsqldata(CDSbaseinfo,MainView,Keyfield,Searchtiao,20);
except
GetAddData(CDSbaseinfo,MainView,Keyfield,20);
end;
end;
end;
procedure Tfrmsyslog.s03Execute(Sender: TObject);
var
Tiaos:string;
begin
inherited;
tiaos:='';
tiaos:='convert(Varchar(10),ftime,120)=';
tiaos:=tiaos+quotedstr(formatDatetime('yyyy-MM-dd',workdate));
GetSqldata(CDSbaseinfo,'Vsyslog','Fid',tiaos,20);
end;
procedure Tfrmsyslog.s01Execute(Sender: TObject);
var
cmdStr:string;
begin
inherited;
cmdStr:='';
if Application.MessageBox('是否確認清除當日所有記錄 ! ','確認信息',
MB_OKCANCEL+MB_iconquestion+MB_systemModal)=idok then
begin
cmdStr:='Delete from tsyslog where convert(Varchar(10),ftime,120)=';
cmdStr:=cmdStr+quotedstr(formatDatetime('yyyy-MM-dd',workdate));
if Execsql(cmdStr) then
syslog(self.Name,'清除 '+Datetimetostr(WorkDate)+' 的事件日志 ');
end;
GetaddData(CDSBaseinfo,Mainview,Keyfield,20);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -