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

📄 syslog.pas

📁 delphi框架可以学习, 写的很好的
💻 PAS
字号:
unit SysLog;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BasicFind, Menus, ActnList, ImgList, StdCtrls, RzLstBox,
  RzBckgnd, RzButton, RzEdit, RzLabel, Mask, RzRadChk, RzPanel, ExtCtrls,
  Grids, DBGridEh, ppEndUsr, ppBands, ppCache, ppClass, ppProd, ppReport,
  ppDB, ppComm, ppRelatv, ppDBPipe;

type
  TfrmSysLog = class(TfrmBasicFind)
    dbgridList: TDBGridEh;
    RzPanel8: TRzPanel;
    actOtherLog: TAction;
    ppCraftXB: TppDBPipeline;
    procedure FormCreate(Sender: TObject);
    procedure dbgridListTitleBtnClick(Sender: TObject; ACol: Integer;
              Column: TColumnEh);
  private
    { Private declarations }
    procedure doMyOpen(Sender: TObject;   var _EventNote, _State: String); override;
    function SelfWhereSQL: String; override;
  public
    { Public declarations }
  end;

var
  frmSysLog: TfrmSysLog;

implementation

uses MyPublic, dm32;

{$R *.dfm}
procedure TfrmSysLog.doMyOpen(Sender: TObject; var _EventNote, _State: String);
var ls_SQL, ls_where, ls_Err: String;
begin
  _State := EV_OK;

  ls_where := WhereSQL;
  if ls_where = '' then Exit;
  ls_SQL := 'SELECT * FROM SYSLOG WHERE '+ ls_where;
  ls_Err := OpenDataSet(dm.qrySysLog, ls_SQL);
  if ls_Err <> '' then
  begin
    ShowMess('系统错误','打开系统日志时出错,具体为:'+ ls_Err, MB_ICONERROR);
    _State := EV_FAIL;
  end;

  _EventNote := '打开系统日志,条件:'+ls_where;
end;

procedure TfrmSysLog.FormCreate(Sender: TObject);
begin
  _CurrentModule := Name;
  inherited;

  FindFields[1] := 'USERCODE='''+REPLACEKEY+'''';
  FindFields[2] := 'EMPNAME='''+REPLACEKEY+'''';
  FindFields[3] := 'IP='''+REPLACEKEY+'''';
  FindFields[4] := 'MAC='''+REPLACEKEY+'''';
  FindFields[5] := 'EV_Style='''+REPLACEKEY+'''';
  FindFields[6] := 'Ev_Note like ''%'+REPLACEKEY+'%''';
  FindFields[7] := 'EV_UseTime >='+REPLACEKEY;
  FindFields[8] := 'EV_State='''+REPLACEKEY+'''';
  FindFields[13] :='EV_STime';
  FindFields[14] :='EV_ETime';

  FindSQL[2] := 'SELECT EMPNAME +'' = ''+ EMPNAME AS LISTFIELD FROM USERINFO GROUP BY EMPNAME';
  FindSQL[3] := 'SELECT IP +'' = ''+ IP AS LISTFIELD FROM SYSLOG GROUP BY IP';
  FindSQL[4] := 'SELECT MAC +'' = ''+ MAC AS LISTFIELD FROM SYSLOG GROUP BY MAC';
  FindSQL[5] := 'SELECT EV_Style +'' = ''+ EV_Style AS LISTFIELD FROM SYSLOG GROUP BY EV_Style';
  FindSQL[8] := 'SELECT EV_STATE +'' = ''+ EV_STATE AS LISTFIELD FROM SYSLOG GROUP BY EV_STATE';

  UseDataSet := dm.qrySysLog;
end;

procedure TfrmSysLog.dbgridListTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh);
begin
  DBGridTitleBtnClick(Sender, ACol, Column);
end;

function TfrmSysLog.SelfWhereSQL: String;
begin
  if not actOtherLog.Visible then
    Result := ' USERCODE = ''' + CurrentUser.UserCode + ''' AND '+
              ' EV_NOTE LIKE ''%'+ CurrentUser.UserCode + '%''';
end;

end.

⌨️ 快捷键说明

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