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

📄 frm_s_syspas.pas

📁 是一个用delphi设计的考勤系统
💻 PAS
字号:
unit frm_s_syspas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ModalForm, ComCtrls, Menus, StdCtrls, ExtCtrls, Grids, ValEdit,
  ImgList, UErrDisplay, ModalForm1;

type
  Tfrm_s_sys = class(TMyModalForm1)
    tv: TTreeView;
    lst1: TListView;
    vledt: TValueListEditor;
    lst2: TListView;
    lst3: TListView;
    lst4: TListView;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N3: TMenuItem;
    ImageList1: TImageList;
    N2: TMenuItem;
    N4: TMenuItem;
    procedure tvClick(Sender: TObject);
    procedure vledtKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure lst1DblClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure lst2DblClick(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure lst1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure N4Click(Sender: TObject);
    procedure lst2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure imgCloseButtonClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    procedure showIniInfo;
    procedure SaveIniInfo;
    procedure showUsrInfo;
    procedure DelUsrInfo(sUsrName: string);
    procedure showGroupInfo;
    procedure DelGroup(sGroupName: string);
    procedure showLoginInfo;
    procedure showCjLogInfo;
  public
    { Public declarations }
  end;

var
  frm_s_sys: Tfrm_s_sys;
  IniSave: Boolean;

implementation

uses UGlobal, DM_DataModal, frm_s_userpas, frm_s_grouppas, UTUser, UTGroup;
var
  Mode: integer;
  NewItem: Tlistitem;


{$R *.dfm}

procedure Tfrm_s_sys.SaveIniInfo;
begin
  //gtSysCs.sSysPath := vledt.Values['系统路径'];
  gtSysCs.sZbDw := vledt.Values['制表单位'];
  gtSysCs.sCjjh := vledt.Values['采集机号'];  
  gtSysCs.iFkPort := strtointdef(vledt.Values['发卡器端口'], 0);
  gtSyscs.SaveSysCs;
end;

procedure Tfrm_s_sys.showCjLogInfo;
begin
  N1.Enabled := False;
  N2.Enabled := False;
  N3.Enabled := False;
  N4.Enabled := False;
  lst4.BringToFront;
end;

procedure Tfrm_s_sys.showGroupInfo;
begin
  N1.Enabled := False;
  N2.Enabled := False;
  N3.Enabled := True;
  N4.Enabled := True;
  lst2.BringToFront;
  with winddata.PublicQuery do
  begin
    sql.Clear;
    sql.Add('select * from Usr_GroupInfo ');
    open;
    lst2.Items.Clear;
    while not eof do
    begin
      NewItem := lst2.Items.Add;
      NewItem.Caption := fieldbyname('Name').asstring;
      Newitem.SubItems.Add(fieldbyname('ms').asstring);
      next;
    end;
  end;

end;

procedure Tfrm_s_sys.showIniInfo;
var
  i: integer;
begin
  N1.Enabled := False;
  N2.Enabled := False;
  N3.Enabled := False;
  N4.Enabled := False;
  vledt.BringToFront;
  vledt.Values['系统路径'] := gtSysCs.sSysPath;
  vledt.Values['制表单位'] := gtSysCs.sZbDw;
  vledt.Values['采集机号'] := gtSysCs.sCjjh;   
  vledt.Values['发卡器端口'] := trim(inttostr(gtsyscs.iFkPort));
end;

procedure Tfrm_s_sys.showLoginInfo;
begin
  N1.Enabled := False;
  N2.Enabled := False;
  N3.Enabled := False;
  N4.Enabled := False;
  lst3.BringToFront;
  with winddata.PublicQuery do
  begin
    sql.Clear;
    sql.Add('select * from usr_logs');
    open;
    lst3.Items.Clear;
    while not eof do
    begin
      NewItem := lst3.Items.Add;
      NewItem.Caption := fieldbyname('datetimein').asstring;
      Newitem.SubItems.Add(fieldbyname('UsrName').asstring);
      Newitem.SubItems.Add(fieldbyname('Doing').asstring);
      next;
    end;
  end;
end;

procedure Tfrm_s_sys.showUsrInfo;
begin
  N1.Enabled := True;
  N2.Enabled := True;
  N3.Enabled := False;
  N4.Enabled := False;
  lst1.BringToFront;
  with winddata.PublicQuery do
  begin
    sql.Clear;
    sql.Add('select * from usr_info');
    open;
    lst1.Items.Clear;
    while not eof do
    begin
      NewItem := lst1.Items.Add;
      NewItem.Caption := fieldbyname('UsrName').asstring;
      Newitem.SubItems.Add(fieldbyname('AllName').asstring);
      Newitem.SubItems.Add(fieldbyname('Ms').asstring);
      next;
    end;
  end;
end;

procedure Tfrm_s_sys.tvClick(Sender: TObject);
begin
  inherited;
  if tv.Selected.Text = 'INI参数' then
    showIniInfo
  else
  begin
    if IniSave then
    begin
      IniSave := False;
      if application.MessageBox('是否保存INI设置?', '用户补卡', mb_OkCancel + mb_iconquestion) = id_OK then SaveIniInfo;
    end;
  end;
  if tv.Selected.Text = '操作员信息' then showUsrInfo;
  if tv.Selected.Text = '操作员组信息' then showGroupInfo;
  if tv.Selected.Text = '登陆日志' then showLoginInfo;
  if tv.Selected.Text = '采集操作日志' then showCjLogInfo;
end;

procedure Tfrm_s_sys.vledtKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  IniSave := True;
end;

procedure Tfrm_s_sys.lst1DblClick(Sender: TObject);
begin
  inherited;
  if lst1.Selected <> nil then
  begin
    frm_s_user := Tfrm_s_user.Create(application);
    frm_s_user.UserName := lst1.Selected.Caption;
    frm_s_user.ShowModal;
    frm_s_user.Free;
    tvClick(self);
  end;
end;

procedure Tfrm_s_sys.N1Click(Sender: TObject);
begin
  inherited;
  if lst1.Selected = nil then
  begin
    frm_s_user := Tfrm_s_user.Create(application);
    frm_s_user.UserName := '';
    frm_s_user.ShowModal;
    frm_s_user.Free;
    tvClick(self);
  end;
end;

procedure Tfrm_s_sys.lst2DblClick(Sender: TObject);
begin
  inherited;
  if lst1.Selected = nil then
  begin
    if lst2.Selected <> nil then
    begin
      frm_s_group := Tfrm_s_group.Create(application);
      frm_s_group.GroupName := lst2.Selected.Caption;
      frm_s_group.ShowModal;
      frm_s_group.Free;
    end;
    tvClick(self);
  end;
end;

procedure Tfrm_s_sys.N3Click(Sender: TObject);
begin
  inherited;
  frm_s_group := Tfrm_s_group.Create(application);
  frm_s_group.GroupName := '';
  frm_s_group.ShowModal;
  frm_s_group.Free;
  tvClick(self);
end;

procedure Tfrm_s_sys.N2Click(Sender: TObject);
begin
  inherited;
  if lst1.Selected <> nil then DelUsrInfo(lst1.Selected.Caption);
end;

procedure Tfrm_s_sys.lst1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if (key = 46) and (lst1.Selected <> nil) then
  begin
    DelUsrInfo(lst1.Selected.Caption);
  end;
end;

procedure Tfrm_s_sys.DelUsrInfo(sUsrName: string);
var
  User: TUser;
begin
  try
    User := TUser.create;
    if User.GetUserInfo(sUsrName) then
      User.DeleteUser;
    tvClick(self);
  finally
    User.Free;
  end;
end;

procedure Tfrm_s_sys.DelGroup(sGroupName: string);
var
  Group: TGroup;
begin
  try
    Group := TGroup.create;
    if Group.GetGroupInfo(SGroupName) then
      Group.DeleteGroup;
    tvClick(self);
  finally
    Group.Free;
  end;
end;

procedure Tfrm_s_sys.N4Click(Sender: TObject);
begin
  inherited;
  if lst2.Selected <> nil then
    DelGroup(lst2.Selected.Caption);
end;

procedure Tfrm_s_sys.lst2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if (key = 46) and (lst2.Selected <> nil) then
  begin
    DelGroup(lst2.Selected.Caption);
  end;

end;

procedure Tfrm_s_sys.imgCloseButtonClick(Sender: TObject);
begin
  inherited;
  if IniSave then
  begin
    IniSave := False;
    if application.MessageBox('是否保存INI设置?', '用户补卡', mb_OkCancel + mb_iconquestion) = id_OK then SaveIniInfo;
  end;
end;

procedure Tfrm_s_sys.FormShow(Sender: TObject);
begin
  inherited;
 showUsrInfo;
end;

end.

⌨️ 快捷键说明

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