📄 frm_addusertogroup.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 + -