📄 frmlog.pas
字号:
//
// User interface for reviewing the audit file
// (c) ChiconySoftware 2001
//
//
// When Who How
// --------- --- -------------------------------------------------------
// 2001.5.31 century Initial version
//
unit frmlog;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons,
// Prexim modules
audit, utils, ComCtrls;
type
TfrmAuditReview = class(TForm)
bClose: TBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
eDateTime: TEdit;
eAuditType: TEdit;
Label2: TLabel;
eUsername: TEdit;
Label3: TLabel;
MemDes: TMemo;
Label4: TLabel;
bPrevious: TBitBtn;
bNext: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bNextClick(Sender: TObject);
private
g_AuditTrail: TPreximAudit;
public
g_AuditFilename: String;
end;
//var
// frmAuditReview: TfrmAuditReview;
implementation
{$R *.DFM}
procedure TfrmAuditReview.FormShow(Sender: TObject);
begin
// Open audit file
try
g_AuditTrail:=TPreximAudit.Create(g_AuditFilename, TRUE);
except on E:Exception do begin
MessageDlg('Unable to open the audit file: '+E.Message, mtError, [mbCancel] ,0);
Exit;
end;
end;
// Title the form
self.Caption:=Application.Title + 'Audit Review';
bNext.Click;
end;
procedure TfrmAuditReview.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
// Close audit file
g_AuditTrail.Free;
end;
procedure TfrmAuditReview.bNextClick(Sender: TObject);
var audit_str, line: String;
audit_record: AuditRecord;
p: Integer;
begin
// Get next audit line
audit_str:=g_AuditTrail.ReadNextAuditItem(audit_record);
if audit_str='' then begin
// End of audit file
MessageDlg('The end of the audit file has been reached', mtInformation, [mbOK], 0);
Exit;
end;
// Audit details
eDateTime.Text:=UTC2LocalStr(audit_record.audit_datetime, audit_record.audit_datetime);
eAuditType.Text:=Audit_Types_Names[Integer(audit_record.audit_type)];
eUsername.Text:=audit_record.audit_user;
eLocation.Text:=audit_record.audit_location;
eRequestType.Text:=IntToStr(Integer(audit_record.audit_request));
eRequestHandle.Text:=audit_record.audit_request_handle;
// Load SQL text
mSQL.Lines.Clear;
mSQL.Text:=audit_record.audit_sql;
// SQL Parameters
mParams.Lines.Clear;
if audit_record.audit_param_names=nil then Exit;
for p:=0 to audit_record.audit_param_names.Count - 1 do begin
line:=audit_record.audit_param_names.Strings[p]+' (';
line:=line+audit_record.audit_param_types.Strings[p]+')="';
line:=line+audit_record.audit_param_values.Strings[p]+'"';
mParams.Lines.Add(line);
end;
// Clean up
audit_record.audit_param_names.Free;
audit_record.audit_param_types.Free;
audit_record.audit_param_values.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -