📄 user.pas
字号:
{*******************************************************}
{ }
{ }
{ }
{ 中软金马公司版权所有。2002.12前 }
{ }
{ 编制:中软金马邮资票品项目开发组 }
{ }
{ }
{*******************************************************}
(*
本模块在省级系统管理里面调用。
*)
{
有关表:
人员组别表、组别表、人员表
部门表
数据来源:
用户:人员表
隶属于:人员组别表
不隶属于:组别表
功能:
算法:
更新有关表: 人员组别表、人员表
备注:口令、确定口令不使用数据感应控键
}
unit User;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FormBase, StdCtrls, Buttons, DBCtrls, Mask, UserList, BoxProcs,
ExtCtrls, Menus;
type
TfrmUser = class(TFFormBase)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBComboBox1: TDBComboBox;
ListBox1: TListBox;
Label7: TLabel;
ListBox2: TListBox;
Label8: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
btnSave: TBitBtn;
btnDelete: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure BitBtn3Click(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
procedure InitData;
public
{ Public declarations }
end;
function ShowUser: Boolean;
var
frmUser: TfrmUser;
implementation
uses datas,Pub;
{$R *.DFM}
function ShowUser: Boolean;
begin
frmUser := TfrmUser.Create(Application);
with frmUser do
try
result := ShowModal = MB_OK;
finally
Destroy;
frmUser := nil;
end;
end;
procedure TfrmUser.BitBtn3Click(Sender: TObject);
begin
inherited;
with frmUserList do
begin
if pos(' ', qryUser.FieldByName('YGDM').Asstring) > 0 then
CHQMsgBox('用户名错误!')
else if (trim(Edit2.Text) = '') or (Edit2.Text <> Edit1.text) then
CHQMsgBox('请确定口令和口令确认一致!')
else
begin
qryUser.Edit;
qryUser.FieldByName('KL').Asstring := Encrypt(Edit1.Text);
if SaveUser(ListBox1.Items) then
begin
if DBEdit1.Enabled then
begin
btnSave.Enabled := True;
btnDelete.Enabled := True;
end
end
else
CHQMsgBox('请先确定该用户没有库房权限,并不隶属于任一权限组!');
end;
end;
end;
procedure TfrmUser.btnSaveClick(Sender: TObject);
begin
inherited;
frmUserList.qryUser.Append;
Edit1.Text := '';
Edit2.Text := '';
BoxMoveAllItems(ListBox1, ListBox2);
btnSave.Enabled := False;
btnDelete.Enabled := False;
bitbtn3.Enabled := True;
DBEdit1.SetFocus;
end;
procedure TfrmUser.btnDeleteClick(Sender: TObject);
const
DSQL = 'Delete From TGS_RYZBDZB Where YGDM = ''%s''';
KSQl = 'delete from TGS_KFRYDZB where YGDM = ''%s''';
begin
inherited;
if ListBox1.Items.Count > 0 then
begin
CHQMsgBox('请先确定该用户不隶属于任何一权限组再删除!');
exit;
end;
with frmUserList.qryUser do
if CHQMsgBox(MSG_DELETE, 2) = IDYES then
begin
data.dm.StartTransaction;
try
SetData(Format(DSQL, [FieldByName('YGDM').Asstring]));
SetData(Format(KSQL, [FieldByName('YGDM').Asstring]));
Delete;
except
data.dm.rollback;
if errMsg = '' then
raise
else
raise exception.Create(errMsg)
end;
InitData;
frmUserList.qryUser.AfterScroll(nil);
CommitUpdates;
data.dm.commit;
end;
end;
procedure TfrmUser.BitBtn4Click(Sender: TObject);
begin
inherited;
with frmUserList.qryUser do
CancelUpdates;
close;
end;
procedure TfrmUser.FormCreate(Sender: TObject);
const
BMSQL = 'SELECT BMMC FROM TGS_BMB';
begin
inherited;
{ if (frmUserList.qryUser.FieldByName('YGDM').asstring = '1') or
(frmUserList.qryUser.FieldByName('YGDM').asstring = VG_UserID) then
begin
BitBtn1.Enabled := false;
BitBtn2.Enabled := false;
DBEdit1.Enabled := false;
btnDelete.Enabled := false;
if frmUserList.qryUser.FieldByName('YGDM').asstring = VG_UserID then
begin
BitBtn3.Enabled := false;
BitBtn4.Enabled := false;
DBEdit2.Enabled := false;
DBComboBox1.Enabled := false;
end;
end; }
InitList(DBComboBox1.Items, BMSQL);
if DBComboBox1.items.count > 0 then
DBComboBox1.ItemIndex := 0;
InitData;
end;
procedure TfrmUser.BitBtn1Click(Sender: TObject);
begin
if ListBox2.Items.Count = 0 then
exit;
BoxMoveSelectedItems(ListBox2, ListBox1);
end;
procedure TfrmUser.BitBtn2Click(Sender: TObject);
begin
if ListBox1.Items.Count = 0 then
exit;
BoxMoveSelectedItems(ListBox1, ListBox2);
end;
procedure TfrmUser.InitData;
const
NSQL = 'SELECT ZBDM||'' ''||ZBMC AS YGDM FROM TGS_ZBB Where zbdm not in (Select zbdm From tgs_RYZBDZB where ygdm = ''%s'')';
ISQL = 'SELECT Z.ZBDM||'' ''||Z.ZBMC AS YGDM From tgs_RYZBDZB R, TGS_ZBB Z where R.ZBDM = Z.ZBDM AND ygdm = ''%s''';
begin
InitList(ListBox2.Items, Format(NSQL, [frmUserList.qryUser.FieldByName('YGDM').Asstring]));
InitList(ListBox1.Items, Format(ISQL, [frmUserList.qryUser.FieldByName('YGDM').Asstring]));
Edit1.Text := Decrypt(frmUserList.qryUser.FieldByName('KL').Asstring);
Edit2.Text := Edit1.Text;
end;
procedure TfrmUser.FormShow(Sender: TObject);
begin
inherited;
frmUserList.qryUser.AfterScroll(nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -