📄 usermanager.pas
字号:
unit usermanager;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, Buttons;
type
Tfrmusermanager = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
Label4: TLabel;
Label8: TLabel;
Label10: TLabel;
ednewuser: TEdit;
ednewkey1: TEdit;
cmbuser: TComboBox;
edoldkey: TEdit;
ednewkey2: TEdit;
edrenewkey2: TEdit;
cmbnewrights: TComboBox;
cmbuser2: TComboBox;
cmbrights1: TComboBox;
Panel1: TPanel;
trvdisplay: TTreeView;
edrenewkey1: TEdit;
btnadduser: TBitBtn;
btnmdkey: TBitBtn;
btnmdright: TBitBtn;
btncancel: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure btncancelClick(Sender: TObject);
procedure btnmdrightClick(Sender: TObject);
procedure btnmdkeyClick(Sender: TObject);
procedure btnadduserClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmusermanager: Tfrmusermanager;
implementation
uses datarsgl;
{$R *.dfm}
procedure Tfrmusermanager.FormCreate(Sender: TObject);
begin
cmbnewrights.Items.Add('系统管理员');
cmbnewrights.Items.Add('操作员');
cmbrights1.Items.Add('系统管理员');
cmbrights1.Items.Add('操作员');
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb');
open;
if recordcount<>0 then
first;
while not eof do
begin
cmbuser.Items.Add(fieldbyname('name').AsString);
cmbuser2.Items.Add(fieldbyname('name').AsString);
next;
end;
end;
end;
procedure Tfrmusermanager.btncancelClick(Sender: TObject);
begin
close;
end;
procedure Tfrmusermanager.btnmdrightClick(Sender: TObject);
begin //实现修改权限
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb where name='+quotedstr(cmbuser2.Text));
open;
if cmbuser2.Text='' then
begin
showmessage('对不起,您必须选择相应的用户才可修改其权限。');
cmbuser2.SetFocus;
end
else
begin
if cmbrights1.Text='' then
begin
showmessage('对不起,你必须选择权限才可'+#13+'修改相对应用户的权限。');
cmbrights1.SetFocus;
end
else
begin
if RecordCount<>0 then
begin
Edit;
fieldbyname('identify').AsString:=trim(cmbrights1.Text);
If MessageDlg('是否要把用户新权限写入库中?',MtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
post;
showmessage('修改权限成功!');
cmbuser2.Text:='';
cmbrights1.Text:='';
cmbuser2.SetFocus;
end
else
cancel;
end
else
exit;
end
end
end;
end;
procedure Tfrmusermanager.btnmdkeyClick(Sender: TObject);
begin
if cmbuser.Text='' then
begin
showmessage('对不起,用户名不能为空.');
cmbuser.SetFocus;
end
else
begin
if edoldkey.Text='' then
begin
showmessage('对不起,旧密码不能为空.');
edoldkey.SetFocus;
end
else
begin
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb where name='+quotedstr(cmbuser.Text)+'and password='+quotedstr(edoldkey.Text));
open;
if ednewkey2.Text='' then
begin
showmessage('对不起,新密码不能为空.');
ednewkey2.SetFocus;
end
else
begin
if edrenewkey2.Text='' then
begin
showmessage('对不起,重复新密码不能为空.');
edrenewkey2.SetFocus;
end
else
begin
if trim(ednewkey2.Text)<>trim(edrenewkey2.Text) then
begin
showmessage('对不起,新密码和重复新密码不一致.');
ednewkey2.Text:='';
edrenewkey2.Text:='';
ednewkey2.SetFocus;
end
else
begin
if recordcount<>0 then
begin
edit;
fieldbyname('password').AsString:=trim(ednewkey2.Text);
If MessageDlg('是否要把修改的用户密码写入库中?',MtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
post; //确认写入数据库中
showmessage('密码修改成功.');
//clear components text
cmbuser.Text:='';
edoldkey.Text:='';
ednewkey2.Text:='';
edrenewkey2.Text:='';
cmbuser.SetFocus;
end
else
cancel;
end
else
showmessage('对不起,新密码修改不成功.'+#13+'由于输入的旧密码发生错误所导致.');
//clear components text
cmbuser.Text:='';
edoldkey.Text:='';
ednewkey2.Text:='';
edrenewkey2.Text:='';
cmbuser.SetFocus;
exit;
end
end
end
end
end
end
end;
procedure Tfrmusermanager.btnadduserClick(Sender: TObject);
begin
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb');
open;
if ednewuser.Text='' then
begin
showmessage('新加用户名不能为空.');
ednewuser.SetFocus;
end
else
begin
if ednewkey1.Text='' then
begin
showmessage('新密码不能为空.');
ednewkey1.SetFocus;
end
else
begin
if edrenewkey1.Text='' then
begin
showmessage('新的重复密码不能为空.');
edrenewkey1.SetFocus;
end
else
begin
if cmbnewrights.Text='' then
begin
showmessage('必须选择相应权限.');
cmbnewrights.SetFocus;
end
else
begin
if trim(ednewkey1.Text)<>trim(edrenewkey1.Text) then
begin
showmessage('新密码和重复密码不相一致.');
ednewkey1.Text:='';
edrenewkey1.Text:='';
ednewkey1.SetFocus;
end
else
begin
append; //add user's data
fieldbyname('name').AsString:=trim(ednewuser.Text);
fieldbyname('password').AsString:=trim(ednewkey1.Text);
fieldbyname('identify').AsString:=trim(cmbnewrights.Text);
If MessageDlg('是否要把新用户资料写入库中?',MtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
post;
showmessage('添加新用户成功.');
ednewuser.Text:='';
ednewkey1.Text:='';
edrenewkey1.Text:='';
cmbnewrights.Text:='';
ednewuser.SetFocus;
end
else
cancel;
ednewuser.Text:='';
ednewkey1.Text:='';
edrenewkey1.Text:='';
cmbnewrights.Text:='';
ednewuser.SetFocus;
end
end
end
end
end
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -