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

📄 p_xtrz.pas

📁 超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统超市系统
💻 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 + -