📄 formlogin.~pas
字号:
unit FormLogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls;
type
Tlogin = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
login: Tlogin;
implementation
uses FormManage;
{$R *.dfm}
//--------------用户名和密码校验登录系统--------------------------------------------------------------
procedure Tlogin.Button1Click(Sender: TObject);
var
user,pass,temp:string;
begin
//------------------根据用户输入的密码和帐号进行查询----------
//保存用户输入的帐号和密码
user:=edit1.Text;
pass:=Edit2.Text;
//使用ADOQuery1组件时要养成好的习惯,先将其关闭,
//将原来的SQL语句清除后再添加新的SQL语句
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from 用户权限 where 用户名='''+user+'''and 密码='''+pass+'''';
Adoquery1.Open;
temp:=adoquery1.FieldByName('权限序号').AsString;
if temp<>'' then
//如果输入了正确的用户名和密码,那么必然能查到用户编号,否则结果为空
begin
//---------------根据用户获得的权限来确定能否操作相关窗口-----------------------
//先将所有按钮使能都设为否
manage.Button1.Enabled:=false;
manage.Button2.Enabled:=false;
manage.Button3.Enabled:=false;
manage.Button4.Enabled:=false;
manage.Button5.Enabled:=false;
//info.N2.Enabled:=false;
//info.N3.Enabled:=false;
//info.N4.Enabled:=false;
//--------检查用户是否具有进货单权限,如是,则将进货单按钮置为可用----------
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select 权限序号 from 用户权限 where 权限序号='''+temp+'''and 药品进货=1';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
manage.Button2.Enabled:=true;
//-----------检查用户是否具有销售单权限,如是,则将销售单按钮置为可用---------------
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select 权限序号 from 用户权限 where 权限序号='''+temp+'''and 药品销售=1';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
manage.Button3.Enabled:=true;
//------------检查用户是否具有库存查询权限,如是,则将库存管理按钮置可用--------
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select 权限序号 from 用户权限 where 权限序号='''+temp+'''and 库存管理=1';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
manage.Button4.Enabled:=true;
//----------检查用户是否具有权限管理权限,如是,则将权限管理按钮置为可用---------
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select 权限序号 from 用户权限 where 权限序号='''+temp+'''and 权限管理=1';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
manage.Button5.Enabled:=true;
//---------检查用户是否具有商品资料维护权限,如是,则将资料维护按钮和商品资料维护菜单置为可用----------------------
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select 权限序号 from 用户权限 where 权限序号='''+temp+'''and 药品信息=1';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
manage.Button1.Enabled:=true;
//---------登录成功,在管理窗体的状态栏上标示登录的用户名---------------
manage.Visible:=true;
manage.StatusBar1.Panels[0].Text:='用户:'+user;
manage.StatusBar1.Panels[1].Text:='现在系统时间是:'+TimeToStr(Time);
manage.StatusBar1.Panels[2].Text:='欢迎进入药品进销存管理系统!';
login.Hide;
end
//---------登录失败,提示用户重新输入----------------------------------
else
begin
ShowMessage('用户名或密码错误,请检查后重新登录');
end
end;
//----------登录窗口再次显示时,清空原来输入的用户名和密码--------------
procedure Tlogin.FormShow(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -