📄 qxgl_form.pas
字号:
unit QXGL_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TFlatEditUnit, TFlatRadioButtonUnit, TFlatButtonUnit,
Grids, DBGrids, TFlatGroupBoxUnit, ExtCtrls, TFlatComboBoxUnit,DB,ADODB,
ComCtrls,AES,ELAES, Menus;
type
TQXGL_F = class(TForm)
QX_DS: TDataSource;
YHGL_PC: TPageControl;
ZHGL_TS: TTabSheet;
FlatGroupBox8: TFlatGroupBox;
Label18: TLabel;
Label19: TLabel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
QXBH_FE: TFlatEdit;
QXXM_FE: TFlatEdit;
ZM_FCB: TFlatComboBox;
XMM_FE: TFlatEdit;
QR_FE: TFlatEdit;
FlatGroupBox7: TFlatGroupBox;
QXXG_FRBtn: TFlatRadioButton;
QXTJ_FRBtn: TFlatRadioButton;
QXGL_TS: TTabSheet;
FlatGroupBox2: TFlatGroupBox;
QX_DG1: TDBGrid;
QX_DS1: TDataSource;
FlatGroupBox5: TFlatGroupBox;
QX_DG: TDBGrid;
Edit1: TEdit;
ZHSC_FRBtn: TFlatRadioButton;
FlatGroupBox1: TFlatGroupBox;
ZH_FE: TFlatEdit;
CZ_FB: TFlatButton;
TJ_FB: TFlatButton;
FlatButton2: TFlatButton;
FlatButton3: TFlatButton;
QXZX_FBtn: TFlatButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
PopupMenu2: TPopupMenu;
N2: TMenuItem;
N3: TMenuItem;
FlatGroupBox3: TFlatGroupBox;
ZH_FRB: TFlatRadioButton;
XM_FRB: TFlatRadioButton;
QX_FRB: TFlatRadioButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure QXTJ_FRBtnClick(Sender: TObject);
procedure QXXG_FRBtnClick(Sender: TObject);
procedure QXZX_FBtnClick(Sender: TObject);
procedure CZ_FBClick(Sender: TObject);
procedure FlatButton1Click(Sender: TObject);
procedure FlatButton2Click(Sender: TObject);
procedure TJ_FBClick(Sender: TObject);
procedure ZH_FEKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure QR_FEKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure QX_DGMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FlatButton3Click(Sender: TObject);
procedure ZHSC_FRBtnClick(Sender: TObject);
procedure YHGL_PCChange(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure QX_DG1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure QXXG_FRBtnKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
procedure Display;
end;
var
QXGL_F: TQXGL_F;
implementation
uses share, GNB_Form, CZRZ_Form;
{$R *.dfm}
var
YHB_T:TADOTable; //用户表
YHGNB_T:TADOTable; // 用户功能表
YHZ_T:TADOTable; //用户组表
QXGL_Q:TADOQuery; //
procedure TQXGL_F.Display;
begin
QXBH_FE.Text:=QX_DG.Fields[0].AsString;
QXXM_FE.Text:=QX_DG.Fields[1].AsString;
ZM_FCB.ItemIndex:=ZM_FCB.Items.IndexOf(QX_DG.Fields[2].AsString);
end;
procedure TQXGL_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
//***********************************************************************************
procedure TQXGL_F.FormDestroy(Sender: TObject);
begin
FreeAndNil(YHB_T);
FreeAndNil(YHGNB_T);
FreeAndNil(YHZ_T);
FreeAndNil(QXGL_Q);
QXGL_F:=nil;
CZRZ_F.CZRZ_FM.Lines.Add('');
end;
//***********************************************************************************
procedure TQXGL_F.Button1Click(Sender: TObject);
begin
close;
end;
//***********************************************************************************
procedure TQXGL_F.FormCreate(Sender: TObject);
begin
YHB_T:=TADOTable.Create(nil);
YHB_T.Connection:=Connect;
YHB_T.TableName:='用户表';
YHB_T.Open;
YHGNB_T:=TADOTable.Create(nil);
YHGNB_T.Connection:=Connect;
YHGNB_T.TableName:='用户功能表';
YHGNB_T.Open;
YHZ_T:=TADOTable.Create(nil);
YHZ_T.Connection:=Connect;
YHZ_T.TableName:='用户组表';
YHZ_T.Open;
QXGL_Q:=TADOQuery.Create(nil);
QXGL_Q.Connection:=Connect;
QXGL_Q1:=TADOQuery.Create(nil);
QXGL_Q1.Connection:=Connect;
CZRZ:='----------'+timetostr(time)+' 用户管理:' ;
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
WriteCZRZ;
end;
//***********************************************************************************
procedure TQXGL_F.FormShow(Sender: TObject);
begin
QXGL_Q.Close;
QXGL_Q.SQL.Clear;
QXGL_Q.SQL.Add('Select 帐号,姓名,组名 From 用户表 A,用户组表 B Where A.组号=B.组号');
QX_DS.DataSet:=QXGL_Q;
QX_DG.Columns[0].FieldName:='帐号';
QX_DG.Columns[1].FieldName:='姓名';
QX_DG.Columns[2].FieldName:='组名';
QXGL_Q.Open;
while not YHZ_T.Eof do
begin
ZM_FCB.Items.Add(YHZ_T.FieldValues['组名']);
YHZ_T.Next;
end;
ZM_FCB.ItemIndex:=0;
QXXG_FRBtn.Checked:=True;
CZ_FBClick(CZ_FB);
end;
//***********************************************************************************
procedure TQXGL_F.QXTJ_FRBtnClick(Sender: TObject); //选中添加
begin
QXBH_FE.Text:='';
QXXM_FE.Text:='';
XMM_FE.Text:='';
QR_FE.Text:='';
ZM_FCB.ItemIndex:=0;
QXBH_FE.Enabled:=True;
QXXM_FE.Enabled:=True;
ZM_FCB.Enabled:=True;
XMM_FE.Enabled:=True;
QR_FE.Enabled:=True;
CZ_FB.Enabled:=False;
ZH_FE.Enabled:=False;
QX_DG.Enabled:=False;
end;
//***********************************************************************************
procedure TQXGL_F.QXXG_FRBtnClick(Sender: TObject);
begin
QXBH_FE.Enabled:=False;
QXXM_FE.Enabled:=True;
ZM_FCB.Enabled:=True;
XMM_FE.Enabled:=True;
QR_FE.Enabled:=True;
CZ_FB.Enabled:=True;
ZH_FE.Enabled:=True;
QX_DG.Enabled:=True;
Display;
end;
//***********************************************************************************
procedure TQXGL_F.QXZX_FBtnClick(Sender: TObject); //执行操作
var
YHB_Q:TADOQuery;
ZGNB_Q:TADOQuery;
YHGNB_Q:TADOQuery;
Flag:integer;
SCZH:String;//要删除的帐号
begin
ZGNB_Q:=TADOQuery.Create(nil);
ZGNB_Q.Connection:=Connect;
if QXXG_FRBtn.Checked then
begin
YHB_T.Locate('帐号',QXBH_FE.Text,[]);
YHZ_T.Close;
YHZ_T.Open;
YHZ_T.Locate('组名',ZM_FCB.text,[]);
YHB_T.Edit;
YHB_T.FieldByName('组号').AsString:=YHZ_T.FieldValues['组号'];
YHB_T.FieldByName('姓名').AsString:=QXXM_FE.Text;
YHGNB_Q:=TADOQuery.Create(nil);
YHGNB_Q.Connection:=Connect;
YHGNB_Q.Close;
YHGNB_Q.SQL.Clear;
YHGNB_Q.SQL.Add('select * from 用户功能表 where 帐号=:帐号');
YHGNB_Q.Parameters.ParamByName('帐号').Value:=QXBH_FE.Text;
YHGNB_Q.Open;
while not YHGNB_Q.Eof do YHGNB_Q.Delete;
ZGNB_Q.Close;
ZGNB_Q.SQL.Clear;
ZGNB_Q.SQL.Add('select 功能号 from 组功能表');
ZGNB_Q.SQL.Add('where 组号=:组号');
ZGNB_Q.Parameters.ParamByName('组号').Value:=YHZ_T.FieldValues['组号'];
ZGNB_Q.Open;
if ZGNB_Q.RecordCount>0 then
while not ZGNB_Q.Eof do
begin
YHGNB_T.Append;
YHGNB_T.FieldByName('帐号').AsString:=QXBH_FE.Text;
YHGNB_T.FieldByName('功能号').AsString:=ZGNB_Q.FieldValues['功能号'];
YHGNB_T.Post;
ZGNB_Q.Next;
end;
if XMM_FE.Text<>'' then
if XMM_FE.Text=QR_FE.Text then
begin
YHB_T.FieldByName('密码').AsString:=QR_FE.Text;
YHB_T.Post;
YHB_T.Requery;
CZRZ:=' '+QXBH_FE.Text+'帐号密码修改成功'+' '+timetostr(time);
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
WriteCZRZ;
MessageBox(handle,'密码修改成功!','成功',MB_OK or MB_ICONINFORMATION);
end
else begin
MessageBox(handle,'两次输入的新密码不一致!','错误',MB_OK or MB_ICONERROR);
YHB_T.Cancel;
exit;
end
else
begin
if QXXM_FE.Text<>QX_DG.Fields[1].AsString then
begin
CZRZ:=' '+QXBH_FE.Text+'帐号姓名修改成功'+' '+timetostr(time);
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
WriteCZRZ;
end;
if YHZ_T.FieldValues['组名']<>QX_DG.Fields[2].AsString then
begin
CZRZ:=' '+QXBH_FE.Text+'帐号所属用户组修改成功'+' '+timetostr(time);
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
WriteCZRZ;
end;
YHB_T.Requery;
MessageBox(handle,'记录修改成功!','成功',MB_OK or MB_ICONINFORMATION);
end;
XMM_FE.Text:='';
QR_FE.Text:='';
QXGL_Q.Requery;
QXGL_Q.Locate('帐号',QXBH_FE.Text,[]);
end;
if QXTJ_FRBtn.Checked then
begin
YHB_Q:=TADOQuery.Create(nil);
YHB_Q.Connection:=Connect;
YHB_Q.Close;
YHB_Q.SQL.Clear;
YHB_Q.SQL.Add('Select * From 用户表 Where 帐号=:帐号');
YHB_Q.Parameters.ParamByName('帐号').Value:=QXBH_FE.Text;
YHB_Q.Open;
if YHB_Q.RecordCount >0 then
begin
MessageBox(handle,'此编号已经存在了,请换个编号!','错误',MB_OK or MB_ICONERROR);
QXBH_FE.Text:='';
QXBH_FE.SetFocus;
exit;
end;
YHZ_T.Close;
YHZ_T.Open;
YHZ_T.Locate('组名',ZM_FCB.Text,[]);
YHB_T.Append;
YHB_T.FieldByName('帐号').AsString:=QXBH_FE.Text;
YHB_T.FieldByName('姓名').AsString:=QXXM_FE.Text;
YHB_T.FieldByName('组号').AsString:=YHZ_T.FieldValues['组号'];
if XMM_FE.Text=QR_FE.Text then
YHB_T.FieldByName('密码').AsString:=EncryptString(QR_FE.Text, 'siliang')
else begin
MessageBox(handle,'两次输入的新密码不一致!','错误',MB_OK or MB_ICONERROR);
YHB_T.Cancel;
exit;
end;
YHB_T.Post;
YHB_T.Requery;
//ZGNB_Q:=TADOQuery.Create(nil);
//ZGNB_Q.Connection:=Connect;
ZGNB_Q.SQL.Add('select 功能号 from 组功能表');
ZGNB_Q.SQL.Add('where 组号=:组号');
ZGNB_Q.Parameters.ParamByName('组号').Value:=YHZ_T.FieldValues['组号'];
ZGNB_Q.Open;
if ZGNB_Q.RecordCount>0 then
while not ZGNB_Q.Eof do
begin
YHGNB_T.Append;
YHGNB_T.FieldByName('帐号').AsString:=QXBH_FE.Text;
YHGNB_T.FieldByName('功能号').AsString:=ZGNB_Q.FieldValues['功能号'];
YHGNB_T.Post;
ZGNB_Q.Next;
end;
CZRZ:=' '+'记录添加成功'+' '+timetostr(time);
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
WriteCZRZ;
MessageBox(handle,'记录添加成功!','成功',MB_OK or MB_ICONINFORMATION);
QXTJ_FRBtnClick(QXTJ_FRBtn);
XMM_FE.Text:='';
QR_FE.Text:='';
QXGL_Q.Requery;
end;
if ZHSC_FRBtn.Checked then
if UserName=QX_DG.Fields[0].AsString then
showmessage('此帐号正在使用中,不能删除')
else
begin
Flag:=MessageBox(handle,'警告:删除是永久的不可恢复的!确认删除吗?','确认删除',MB_OKCANCEL or MB_ICONWarning);
if flag=IDCANCEL then exit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -