📄 uset.pas
字号:
unit Uset;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids;
type
Tfrmsysset = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Image1: TImage;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
edtopass: TEdit;
Label3: TLabel;
edtnname: TEdit;
edtnpass: TEdit;
edtnpass2: TEdit;
Panel2: TPanel;
sbtnclose: TSpeedButton;
sbtnsave: TSpeedButton;
Label4: TLabel;
Label5: TLabel;
edtusername: TEdit;
Label6: TLabel;
edtuserpass: TEdit;
edtuserpass2: TEdit;
Label7: TLabel;
Label8: TLabel;
Panel3: TPanel;
rbsys: TRadioButton;
rbuser: TRadioButton;
Panel4: TPanel;
sbtnusersave: TSpeedButton;
sbtnusercancel: TSpeedButton;
sbtnuserclose: TSpeedButton;
Image2: TImage;
Label9: TLabel;
Label10: TLabel;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
sbtnok: TSpeedButton;
TabSheet3: TTabSheet;
DBGrid1: TDBGrid;
Panel5: TPanel;
sbtndelete: TSpeedButton;
sbtnrefresh: TSpeedButton;
sbtnclose3: TSpeedButton;
StatusBar1: TStatusBar;
labname: TLabel;
Image3: TImage;
procedure sbtnusercloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure sbtnsaveClick(Sender: TObject);
procedure sbtnokClick(Sender: TObject);
procedure sbtncancelClick(Sender: TObject);
procedure sbtnusersaveClick(Sender: TObject);
procedure edtonameKeyPress(Sender: TObject; var Key: Char);
procedure edtopassKeyPress(Sender: TObject; var Key: Char);
procedure edtnnameKeyPress(Sender: TObject; var Key: Char);
procedure edtnpassKeyPress(Sender: TObject; var Key: Char);
procedure edtnpass2KeyPress(Sender: TObject; var Key: Char);
procedure edtusernameKeyPress(Sender: TObject; var Key: Char);
procedure edtuserpassKeyPress(Sender: TObject; var Key: Char);
procedure TabSheet3Show(Sender: TObject);
procedure sbtndeleteClick(Sender: TObject);
procedure sbtnrefreshClick(Sender: TObject);
procedure sbtnclose3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmsysset: Tfrmsysset;
implementation
{$R *.dfm}
uses Udm,ulogin;
procedure Tfrmsysset.sbtnusercloseClick(Sender: TObject);
begin
adoquery1.Close;
close;
end;
procedure Tfrmsysset.FormCreate(Sender: TObject);
begin
labname.caption:=strname ;
edtnname.Enabled:=false;
edtnpass.Enabled:=false;
edtnpass2.Enabled:=false;
sbtnsave.Enabled:=false;
edtusername.Enabled:=false;
edtuserpass.Enabled:=false;
edtuserpass2.Enabled:=false;
sbtnusersave.Enabled:=false;
sbtnusercancel.Enabled:=false;
rbsys.Enabled:=false;
rbuser.Enabled:=false;
end;
procedure Tfrmsysset.sbtnsaveClick(Sender: TObject);
begin
if edtnname.Text=''then
begin
messagebox(GetforegroundWindow,'用户名不能为空!','系统提示',mb_ok+mb_iconexclamation);
exit;
end;
if edtnpass.Text='' then
begin
messagebox(GetforegroundWindow,'密码不能为空!','系统提示',mb_ok+mb_iconexclamation);
exit;
end;
if edtnpass.Text =edtnpass2.Text then
begin
try
adoquery1.Open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
if labname.Caption <>edtnname.Text then
with adoquery1 do
begin
first;
while not eof do
begin
if edtnname.Text =fieldbyname('name').AsString then
begin
messagebox(GetforegroundWindow,'用户名已存在!,请重新输入!','系统提示',mb_ok+mb_iconexclamation) ;
edtnname.SetFocus;
exit;
end;
next;
end;
end;
adoquery1.Close;
with adoquery1 do
begin
sql.Add('select * from username where name='+#39+labname.Caption +#39 );
try
open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
if edtnname.Text <>labname.Caption then
begin
edit;
fieldbyname('name').AsString:=edtnname.Text;
fieldbyname('password').AsString:=edtnpass.Text;
post;
close;
labname.Caption:=edtnname.Text;
try
open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
end else
begin
edit;
fieldbyname('password').AsString:=edtnpass.Text;
post;
end;
end;
messagebox(GetforegroundWindow,'保存成功','系统提示',mb_ok+mb_iconinformation);
// edtoname.Text:='';
edtopass.Text:='';
edtnname.Text:='';
edtnpass.Text:='';
edtnpass2.Text:='';
exit;
end else
begin
messagebox(GetforegroundWindow,'新密码前后两次输入不正确!请重新输入。','系统提示',mb_ok+mb_iconexclamation);
exit;
end;
end;
procedure Tfrmsysset.sbtnokClick(Sender: TObject);
begin
try
adoquery1.Open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
with adoquery1 do
begin
first;
while not eof do
begin
if (labname.Caption =fieldbyname('name').AsString) and
(edtopass.Text=fieldbyname('password').AsString) then
begin
if fieldbyname('power').AsString ='1' then
begin
edtnname.Text:=labname.Caption ;
edtnname.Enabled:=true;
edtnpass.Enabled:=true;
edtnpass2.Enabled:=true;
sbtnsave.Enabled:=true;
edtusername.Enabled:=true;
edtuserpass.Enabled:=true;
edtuserpass2.Enabled:=true;
sbtnusersave.Enabled:=true;
sbtnusercancel.Enabled:=true;
rbsys.Enabled:=true;
rbuser.Enabled:=true;
sbtndelete.enabled:=true;
sbtnrefresh.enabled:=true;
edtnname.SetFocus;
exit;
end else
begin
messagebox(GetforegroundWindow,'您没有管理员的权限!','系统提示',mb_ok+mb_iconexclamation);
exit;
end;
end;
next;
end;
messagebox(GetforegroundWindow,'密码错误!','系统提示',mb_ok+mb_iconerror);
end;
end;
procedure Tfrmsysset.sbtncancelClick(Sender: TObject);
begin
edtnname.Text:='';
edtnpass.Text:='';
edtnpass2.Text:='';
end;
procedure Tfrmsysset.sbtnusersaveClick(Sender: TObject);
begin
if edtusername.Text ='' then
begin
messagebox(GetforegroundWindow,'用户名不能为空!','系统提示',mb_ok+mb_iconerror) ;
exit;
end;
if edtuserpass.Text='' then
begin
messagebox(GetforegroundWindow,'密码不能为空!','系统提示',mb_ok+mb_iconexclamation);
exit;
end;
if edtuserpass.text<>edtuserpass2.Text then
begin
messagebox(GetforegroundWindow,'密码前后两次输入不一致!请重新输入。','系统提示',mb_ok+mb_iconerror);
exit;
end;
if not adoquery1.Active then
try
adoquery1.Open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
with adoquery1 do
begin
first;
while not eof do
begin
if edtusername.Text =fieldbyname('name').AsString then
begin
messagebox(GetforegroundWindow,'用户名已存在!','系统提示',mb_ok+mb_iconinformation);
exit;
end;
next;
end;
edit;
append;
fieldbyname('name').AsString:=edtusername.Text;
fieldbyname('password').AsString:=edtuserpass.Text;
if rbsys.Checked then fieldbyname('power').AsString:='1';
if rbuser.Checked then fieldbyname('power').AsString:='2';
post;
messagebox(GetforegroundWindow,'新用户已创建!','系统提示',mb_ok+mb_iconinformation);
end;
end;
procedure Tfrmsysset.edtonameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
edtopass.SetFocus;
end;
end;
procedure Tfrmsysset.edtopassKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
sbtnok.OnClick(sender);
end;
end;
procedure Tfrmsysset.edtnnameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
edtnpass.SetFocus;
end;
end;
procedure Tfrmsysset.edtnpassKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
edtnpass2.SetFocus;
end;
end;
procedure Tfrmsysset.edtnpass2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
sbtnsave.OnClick(sender);
end;
end;
procedure Tfrmsysset.edtusernameKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
edtuserpass.SetFocus;
end;
end;
procedure Tfrmsysset.edtuserpassKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
edtuserpass2.SetFocus;
end;
end;
procedure Tfrmsysset.TabSheet3Show(Sender: TObject);
begin
try
adoquery1.Open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
end;
procedure Tfrmsysset.sbtndeleteClick(Sender: TObject);
begin
if (adoquery1.FieldByName('name').AsString = labname.Caption ) then
begin
messagebox(GetforegroundWindow,'不能删除您自己!','系统提示',mb_ok+mb_iconexclamation);
exit;
end;
if messagebox(GetforegroundWindow,'您确定要删除该用户吗?','系统提示',mb_okcancel+mb_iconexclamation)=idok then
begin
if adoquery1.Active then adoquery1.Close;
try
adoquery1.Open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
adoquery1.Delete;
end;
end;
procedure Tfrmsysset.sbtnrefreshClick(Sender: TObject);
begin
adoquery1.Close;
try
adoquery1.Open;
except
begin
application.MessageBox('网络无法连接,请重试!!!','药品价格库',MB_OK+MB_ICONINFORMATION);
abort;
end;
end;
//adoquery1.Refresh;
end;
procedure Tfrmsysset.sbtnclose3Click(Sender: TObject);
begin
adoquery1.Close;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -