📄 usermanager.pas
字号:
unit UserManager;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, dxEdLib, dxCntner, dxEditor, dxDBELib, StdCtrls,
ExtCtrls, dxTL, dxDBCtrl, dxDBGrid, ImgList, ComCtrls, ToolWin, DB, ADODB,
Mask, DBCtrls, dxDBTL, dxBar, dxBarExtItems;
type
TFrmUserManager = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
Panel3: TPanel;
Bevel1: TBevel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label2: TLabel;
Bevel2: TBevel;
Label1: TLabel;
Panel4: TPanel;
DataSource1: TDataSource;
rbManager: TRadioButton;
rbMoney: TRadioButton;
rbHouse: TRadioButton;
qryUser: TADOQuery;
edtUserId: TDBEdit;
edtUserName: TDBEdit;
qryUserUserId: TWideStringField;
qryUserUserName: TWideStringField;
dxDBGrid1: TdxDBGrid;
dxDBGrid1UserId: TdxDBGridColumn;
dxDBGrid1UserName: TdxDBGridColumn;
qryUserUserPassword: TWideStringField;
qryUserUserPower: TWideStringField;
edtPasswordbak: TEdit;
edtPassword: TEdit;
dxBarManager1: TdxBarManager;
dxBarLargeButton1: TdxBarLargeButton;
dxBarLargeButton2: TdxBarLargeButton;
dxBarLargeButton3: TdxBarLargeButton;
dxBarLargeButton4: TdxBarLargeButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure qryUserAfterScroll(DataSet: TDataSet);
procedure qryUserBeforePost(DataSet: TDataSet);
procedure qryUserAfterPost(DataSet: TDataSet);
procedure dxBarLargeButton1Click(Sender: TObject);
procedure dxBarLargeButton3Click(Sender: TObject);
procedure dxBarLargeButton2Click(Sender: TObject);
procedure dxBarLargeButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmUserManager: TFrmUserManager;
procedure FrmUserManagerShow;
implementation
uses Data, unSystPublic;
{$R *.dfm}
procedure FrmUserManagerShow;
begin
FrmUserManager :=TFrmUserManager.Create(Application);
with FrmUserManager do
begin
try
ShowModal;
finally
Free;
end;
end;
end;
procedure TFrmUserManager.FormShow(Sender: TObject);
begin
with qryUser do
begin
Close;
SQL.Text :='Select * from tbUsers';
Open;
if not Locate('UserId',CurrentUserId,[loCaseInsensitive]) then
begin
Application.MessageBox('数据库错误',Title,MB_ICONWARNING);
Abort;
end;
if FieldByName('UserPower').AsString='1' then
rbManager.Checked :=true
else if FieldByName('UserPower').AsString='2' then
rbMoney.Checked :=true
else if FieldByName('UserPower').AsString='3' then
rbHouse.Checked :=true;
end;
end;
procedure TFrmUserManager.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
qryUser.Close;
end;
procedure TFrmUserManager.qryUserAfterScroll(DataSet: TDataSet);
begin
with qryUser do
begin
if FieldByName('UserPower').AsString='1' then
rbManager.Checked :=true
else if FieldByName('UserPower').AsString='2' then
rbMoney.Checked :=true
else if FieldByName('UserPower').AsString='3' then
rbHouse.Checked :=true;
end;
end;
procedure TFrmUserManager.qryUserBeforePost(DataSet: TDataSet);
begin
if edtUserId.Text ='' then
begin
Application.MessageBox('登陆名不能为空',Title,MB_ICONWARNING);
Abort;
end else
begin
with dmData.qryTemp do
begin
Close;
SQL.Text :='select * from tbUsers where UserId='''+edtUserId.Text+'''';
Open;
if (not IsEmpty)and(state in[dsEdit]) then
begin
Application.MessageBox('登陆名不能重复',Title,MB_ICONWARNING);
Abort;
end;
end;
end;
if edtPassword.Text<>edtPasswordbak.Text then
begin
Application.MessageBox('口令和确认口令不一致',Title,MB_ICONWARNING);
Abort;
end;
with qryUser do
begin
FieldByName('UserPassWord').AsString :=edtPassword.Text;
if rbManager.Checked then
FieldByName('UserPower').AsString :='1'
else if rbMoney.Checked then
FieldByName('UserPower').AsString :='2'
else if rbHouse.Checked then
FieldByName('UserPower').AsString :='3';
end;
edtUserId.Color :=clBtnFace;
edtUserId.ReadOnly :=True;
end;
procedure TFrmUserManager.qryUserAfterPost(DataSet: TDataSet);
begin
edtPassword.Text :='';
edtPasswordbak.Text :='';
end;
procedure TFrmUserManager.dxBarLargeButton1Click(Sender: TObject);
begin
edtUserId.Color :=clWhite;
edtUserId.ReadOnly :=False;
edtPassword.Text :='';
edtPasswordbak.Text :='';
edtUserId.SetFocus;
qryUser.Append;
edtUserId.SetFocus;
end;
procedure TFrmUserManager.dxBarLargeButton3Click(Sender: TObject);
begin
if Application.MessageBox('真的要删除此用户吗?',title,MB_ICONQUESTION+MB_YESNO)=idyes then
qryUser.Delete;
end;
procedure TFrmUserManager.dxBarLargeButton2Click(Sender: TObject);
begin
qryUser.Edit;
qryUser.Post;
end;
procedure TFrmUserManager.dxBarLargeButton4Click(Sender: TObject);
begin
qryUser.Close;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -