📄 p_xtrz.pas
字号:
unit p_xtrz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,p_mc, ComCtrls, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids,
DBGrids;
type
Tf_xtrz = class(Tf_mc)
LIST: TListView;
b_cx: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
GroupBox1: TGroupBox;
CB1: TCheckBox;
i_cpt: TEdit;
date1: TDateTimePicker;
CB3: TCheckBox;
date2: TDateTimePicker;
Label1: TLabel;
CB4: TCheckBox;
i_user: TEdit;
CB2: TCheckBox;
Label2: TLabel;
RZJL: TLabel;
Label4: TLabel;
BitBtn1: TBitBtn;
BitBtn4: TBitBtn;
Save: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure CB1Click(Sender: TObject);
procedure CB3Click(Sender: TObject);
procedure b_cxClick(Sender: TObject);
procedure CB2Click(Sender: TObject);
procedure list_view;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure CB4Click(Sender: TObject);
procedure i_cptKeyPress(Sender: TObject; var Key: Char);
procedure i_userKeyPress(Sender: TObject; var Key: Char);
procedure date1KeyPress(Sender: TObject; var Key: Char);
procedure date2KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
f_xtrz: Tf_xtrz;
implementation
uses p_dm;
{$R *.dfm}
procedure tf_xtrz.list_view;
begin
dm.Query.SQL.Add('order by jrrz_info.jrrq desc');
dm.Query.Open;
list.Items.Clear;
while not dm.Query.Eof do
begin
with list.Items.Add do
begin
caption:=inttostr(dm.Query['rz_id']);
try
SubItems.Add(dm.Query['user_name']);
except
SubItems.Add('');
end;
try
subitems.Add(dm.Query['menu_caption']);
except
SubItems.Add('');
end;
try
subitems.Add(formatdatetime('yyyy''年''mm''月''dd''日'' hh:mm:ss',dm.Query['jrrq']));
except
subitems.Add('');
end;
try
subitems.Add(formatdatetime('yyyy''年''mm''月''dd''日'' hh:mm:ss',dm.Query['tcrq']));
except
SubItems.Add('');
// list.Canvas.Font.Color:=clgreen;
end;
try
SubItems.Add(dm.Query['rq']);
except
SubItems.Add('');
end;
end; //with .. end
dm.Query.Next;
end; // while .. end
RZJL.Caption:=inttostr(list.Items.Count);
end;
procedure Tf_xtrz.FormCreate(Sender: TObject);
begin
date1.Date:=now;
date2.Date:=now;
dm.Query.SQL.Clear;
dm.Query.SQL.Add('select * from jrrz_info');
f_xtrz.list_view;
f_xtrz.ShowModal;
end;
procedure Tf_xtrz.CB1Click(Sender: TObject);
begin
if cb1.Checked then
begin
i_cpt.Enabled:=true;
if cb4.Checked then
begin
cb2.checked:=false;
i_user.Enabled:=false;
end;
end else i_cpt.Enabled:=false;
end;
procedure Tf_xtrz.CB3Click(Sender: TObject);
begin
if cb3.Checked then
begin
date1.Enabled:=true;
date2.Enabled:=true;
end else
begin
date1.Enabled:=false;
date2.Enabled:=false;
end;
end;
procedure Tf_xtrz.b_cxClick(Sender: TObject);
begin
if (not cb1.Checked)and(not cb2.Checked)and(not cb3.Checked) then
begin
application.MessageBox('请选择查询类别!','查询',mb_ok+mb_iconwarning);
exit;
end;
with dm do
begin
try //对查询时'操作员'或'系统功能'为空,并且执行'精确查询'时的异常处理
Query.SQL.Clear;
Query.SQL.Add('select * from jrrz_info where');
if cb1.Checked then //选择'系统功能'查询
begin
Query.SQL.Add('menu_caption like :x1');
if cb4.Checked then
Query.Parameters.ParamValues['x1']:=trim(i_cpt.Text)+'%'//模糊查询
else
Query.Parameters.ParamValues['x1']:=trim(i_cpt.Text); //精确查询
end;
if cb2.Checked then //选择'操作员'查询
begin
if cb1.Checked then //如果已选择'操作员'
Query.SQL.Add('and user_name=:x2')
else
Query.SQL.Add('user_name like :x2');
if cb4.Checked then
Query.Parameters.ParamValues['x2']:=trim(i_user.Text)+'%'//模糊查询
else
Query.Parameters.ParamValues['x2']:=trim(i_user.Text); //精确查询
end;
if cb3.Checked then //选择日期查询
begin
if cb1.Checked or cb2.Checked then
Query.SQL.Add('and rq>=:x3 and rq<=:x4')
else
Query.SQL.Add('rq>=:x3 and rq<=:x4');
Query.Parameters.ParamValues['x3']:=datetostr(date1.Date);
Query.Parameters.ParamValues['x4']:=datetostr(date2.Date);
end;
Query.Open;
except
application.MessageBox('请输入完整的查询类别!','查询',mb_ok+mb_iconwarning);
exit;
end; //try .. end
f_xtrz.list_view;
end; //with .. end
end;
procedure Tf_xtrz.CB2Click(Sender: TObject);
begin
if cb2.Checked then
begin
i_user.Enabled:=true;
if cb4.Checked then
begin
cb1.Checked:=false;
i_cpt.Enabled:=false;
end;
end else i_user.Enabled:=false;
end;
procedure Tf_xtrz.BitBtn2Click(Sender: TObject);
begin
inherited;
dm.Query.SQL.Clear;
dm.Query.SQL.Add('select * from jrrz_info');
// dm.Query.Open;
f_xtrz.list_view;
end;
procedure Tf_xtrz.BitBtn3Click(Sender: TObject);
begin
inherited;
close;
end;
procedure Tf_xtrz.CB4Click(Sender: TObject);
begin
inherited;
if cb4.Checked then
if cb1.Checked and cb2.Checked then
cb2.Checked:=false;
end;
procedure Tf_xtrz.i_cptKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
key:=#0;
b_cx.Click;
end;
end;
procedure Tf_xtrz.i_userKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
key:=#0;
b_cx.Click;
end;
end;
procedure Tf_xtrz.date1KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
key:=#0;
b_cx.Click;
end;
end;
procedure Tf_xtrz.date2KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if key=#13 then
begin
key:=#0;
b_cx.Click;
end;
end;
procedure Tf_xtrz.BitBtn1Click(Sender: TObject);
var
l:tstringlist;
i:integer;
id,name,cpt,jrrq,tcrq:string;
begin
inherited;
l:=Tstringlist.Create;
l.Add('');
l.Add('--------------------------用 户 日 志------------------------打印日期:'+datetimetostr(now));
l.Add('');
l.Add('');
id:='编号';name:='操作员';cpt:='系统功能';JRRQ:='进入日期';TCRQ:='退出日期';
l.Add(format('%-8s',[id])+format('%-12s',[name])+format('%-16s',[cpt])+
format('%-26s',[jrrq])+format('%-26s',[tcrq]));
l.Add('----------------------------------------------------------------------------------');
for i:=0 to list.Items.Count-1 do
begin
l.Add(format('%-6s',[list.Items[i].Caption])+'|'+
format('%-10s',[list.Items[i].SubItems.Strings[0]])+'|'+
format('%-14s',[list.Items[i].SubItems.Strings[1]])+'|'+
format('%-24s',[list.Items[i].SubItems.Strings[2]])+'|'+
format('%-24s',[list.Items[i].SubItems.Strings[3]]));
end;
//save.Execute;
if save.Execute then
l.SaveToFile(save.FileName);
l.Free;
end;
procedure Tf_xtrz.BitBtn4Click(Sender: TObject);
var
l:tstringlist;
i:integer;
id,name,cpt,jrrq,tcrq:string;
filename:Tfilename;
begin
inherited;
l:=Tstringlist.Create;
l.Add('');
l.Add('--------------------------用 户 日 志------------------------打印日期:'+datetimetostr(now));
l.Add('');
l.Add('');
id:='编号';name:='操作员';cpt:='系统功能';JRRQ:='进入日期';TCRQ:='退出日期';
l.Add(format('%-8s',[id])+format('%-12s',[name])+format('%-16s',[cpt])+
format('%-26s',[jrrq])+format('%-26s',[tcrq]));
l.Add('----------------------------------------------------------------------------------');
for i:=0 to list.Items.Count-1 do
begin
l.Add(format('%-6s',[list.Items[i].Caption])+'|'+
format('%-10s',[list.Items[i].SubItems.Strings[0]])+'|'+
format('%-14s',[list.Items[i].SubItems.Strings[1]])+'|'+
format('%-24s',[list.Items[i].SubItems.Strings[2]])+'|'+
format('%-24s',[list.Items[i].SubItems.Strings[3]]));
end;
//save.Execute;
l.SaveToFile(filename);
l.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -