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

📄 frm_addusertogroup.pas

📁 是一个用delphi设计的考勤系统
💻 PAS
字号:
{
***************************************************************
*  说明:组员增删                                         *
*  时间:2003/02/20                                        *
*  作者:杨泉清                                               *
***************************************************************
}
unit Frm_AddUserToGroup;

interface

uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ModalForm, Buttons, StdCtrls, Menus, ExtCtrls, ChangeImage, ADODB, DB;

type
   TAddUserToGroup = class(TMyModalForm)
      Label1: TLabel;
      Cbgroup: TComboBox;
      Label2: TLabel;
      ListBox1: TListBox;
      Label3: TLabel;
      ListBox2: TListBox;
      BtnFirst: TChangeImg;
      BtnPrev: TChangeImg;
      BtnNext: TChangeImg;
      BtnLast: TChangeImg;
      procedure CbgroupKeyPress(Sender: TObject; var Key: Char);
      procedure FormShow(Sender: TObject);
      procedure CbgroupChange(Sender: TObject);
      procedure BtnNextClick(Sender: TObject);
      procedure BtnLastClick(Sender: TObject);
      procedure BtnPrevClick(Sender: TObject);
      procedure BtnFirstClick(Sender: TObject);
      procedure imgCloseButtonClick(Sender: TObject);
   private
    { Private declarations }
      procedure setListbox();
      procedure GroupToUsr(UsrName: string); //从组中移出
      procedure UsrToGroup(UsrName: string); //用户移动到组中
   public
    { Public declarations }
   end;

var
   AddUserToGroup: TAddUserToGroup;

implementation
uses DM_DataModal, Uglobal, UGeneralFunc;
{$R *.dfm}

procedure TAddUserToGroup.setListbox();
var
   TempQry: TAdoQuery;
begin
   //添加新用户
   TempQry := TAdoQuery.Create(nil);
   TempQry.Connection := WindData.AdoConn;
   with TempQry do
   begin
      sql.Clear;
      sql.Add('select * from usr_info where GroupName='''' or GroupName is null');
      open;
   end;
   listbox1.Clear;
   while not TempQry.Eof do
   begin
      Listbox1.Items.Add(TempQry.fieldbyname('UsrName').value);
      TempQry.Next;
   end;
   //添加已有用户
   with TempQry do
   begin
      sql.Clear;
      sql.Add('select * from usr_info where GroupName=''' + Cbgroup.Text + '''');
      open;
   end;
   listbox2.Clear;
   while not TempQry.Eof do
   begin
      Listbox2.Items.Add(TempQry.fieldbyname('UsrName').value);
      TempQry.Next;
   end;
end;

procedure TAddUserToGroup.GroupToUsr(UsrName: string); //从组中移出
var
   strsql: string;
   TempQry: TAdoQuery;
begin
   TempQry := TAdoQuery.Create(nil);
   TempQry.Connection := WindData.AdoConn;
   strsql := 'update Usr_Info set GroupName='''' where UsrName=''' + Usrname + '''';
   with TempQry do
   begin
      sql.Clear;
      sql.Add(strsql);
      ExecSql;
   end;

end;

procedure TAddUserToGroup.UsrToGroup(UsrName: string); //用户移动到组中
var
   strsql: string;
   TempQry: TAdoQuery;
begin
   TempQry := TAdoQuery.Create(nil);
   TempQry.Connection := WindData.AdoConn;
   strsql := 'update Usr_Info set GroupName=''' + cbgroup.Text + '''';
   strsql := strsql + ' where UsrName=''' + Usrname + '''';
   with TempQry do
   begin
      sql.Clear;
      sql.Add(strsql);
      ExecSql;
   end;
end;


procedure TAddUserToGroup.CbgroupKeyPress(Sender: TObject; var Key: Char);
begin
   inherited;
   key := #0;
end;

procedure TAddUserToGroup.FormShow(Sender: TObject);
var
   Sqlstr: string;
begin
   inherited;
   SqlStr := 'select * from Usr_GroupInfo';
   SetComboxItems(WindData.AdoConn, Cbgroup, sqlstr, 'GroupName');
   CbGroup.ItemIndex := 0;
   SetListBox;
end;

procedure TAddUserToGroup.CbgroupChange(Sender: TObject);
begin
   inherited;
   SetListBox;
end;

procedure TAddUserToGroup.BtnNextClick(Sender: TObject);
var
   i: integer;
begin
   inherited;
   i := 0;
   while i < listbox1.items.Count do
   begin
      if listbox1.Selected[i] then
      begin
         listbox2.Items.Add(listbox1.Items.Strings[i]);
         UsrToGroup(listbox1.Items.Strings[i]); //移动到相应的组
         listbox1.Items.Delete(i);
      end;
      inc(i);
   end;
end;

procedure TAddUserToGroup.BtnLastClick(Sender: TObject);
var
   i: integer;
begin
   inherited;
   for i := 0 to Listbox1.Items.Count - 1 do
   begin
      Listbox2.Items.Add(listbox1.Items.Strings[i]);
      UsrToGroup(listbox1.Items.Strings[i]); //移动到相应的组
   end;
   listbox1.Clear;
end;

procedure TAddUserToGroup.BtnPrevClick(Sender: TObject);
var
   i: integer;
begin
   inherited;
   i := 0;
   while i < listbox2.items.Count do
   begin
      if listbox2.Selected[i] then
      begin
         listbox1.Items.Add(listbox2.Items.Strings[i]);
         GroupToUsr(listbox2.Items.Strings[i]); //移动到相应的组
         listbox2.Items.Delete(i);
      end;
      inc(i);
   end;
end;

procedure TAddUserToGroup.BtnFirstClick(Sender: TObject);
var
   i: integer;
begin
   inherited;
   for i := 0 to Listbox2.Items.Count - 1 do
   begin
      Listbox1.Items.Add(listbox2.Items.Strings[i]);
      GroupToUsr(listbox2.Items.Strings[i]); //移动到相应的组
   end;
   listbox2.Clear;
end;

procedure TAddUserToGroup.imgCloseButtonClick(Sender: TObject);
begin
   ModalResult := MrOk;
   exit;
   inherited;
end;

end.

⌨️ 快捷键说明

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