⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p_password.pas

📁 小学上课排课系统,非常实用,是实际使用软件
💻 PAS
字号:
unit p_password;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, DBCtrls, jpeg, XPMenu;

type
  Tf_password = class(TForm)
    Bevel1: TBevel;
    Label1: TLabel;
    Label2: TLabel;
    e_password: TEdit;
    Image1: TImage;
    b_ok: TSpeedButton;
    b_cancel: TSpeedButton;
    e_user: TDBLookupComboBox;
    XPMenu1: TXPMenu;
    procedure qx;  //自定义过程---登陆时用户的权限设置
    procedure b_okClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure b_cancelClick(Sender: TObject);
    procedure E_USEKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure e_passwordKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure e_userKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);   //检测系统日期时间
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  f_password: Tf_password;
  user_name:string;   //全局变量,保存登陆系统的用户名
  
implementation

uses p_mc,p_gl,P_DM,p_xz;
{$R *.dfm}
procedure tf_password.qx;  //自定义过程---登陆时用户的权限设置
var
  n:integer;
  xz:boolean; //该权限是否选择
begin
with dm,f_gl do
begin
  t_qx.Filter:='user_name='''+user_name+'''';
  t_qx.Filtered:=true;
  t_qx.First;
  while not t_qx.eof do
     begin
         n:=t_qx['menu_id'];
         xz:=t_qx['menu_xz'];
         case n of
              1: if xz then N1.Enabled:=true else N1.Enabled:=false;
              2: if xz then n2.Enabled:=true else n2.Enabled:=false;
              3: if xz then n3.Enabled:=true else n3.Enabled:=false;
              5: if xz then n5.Enabled:=true else n5.Enabled:=false;
              6: if xz then n6.Enabled:=true else n6.Enabled:=false;
             14: if xz then n14.Enabled:=true else n14.Enabled:=false;
            // 15: if xz then n15.Enabled:=true else n15.Enabled:=false;
         end; //case 语句完毕
         t_qx.Next;
     end;    //while 语句完毕
end;         //with dm do 完毕
end;
procedure Tf_password.b_okClick(Sender: TObject);
begin
  f_password.Hide;
  f_gl.Show;
end;

procedure Tf_password.SpeedButton1Click(Sender: TObject);
begin
  //确认用户密码、权限的合法性
  with dm do
    begin
       t_user.Filter:='name='''+e_user.KeyValue+'''';
       t_user.Filtered:=true;
       user_name:=t_user['name'];//记录登陆用户用户名
       if (e_user.KeyValue=t_user['name'])and(e_password.Text=t_user['password']) then
          begin
            f_password.Hide;
            f_gl.Show;
            f_gl.ZT.Panels[2].Text:='操作员: '+t_user['name'];
            f_password.qx;  //调用用户的权限过程
            t_user.Filtered:=false;
            if dm.T_dl['xz'] then
            Application.CreateForm(Tf_xz, f_xz);
          end
       else
          begin
             t_user.Filtered:=false;
             f_password.e_password.Text:='';
             application.MessageBox('您输入的用户或口令有误,注意大小写!','提示',mb_ok+mb_iconinformation);
          end;
      //endif
    end;
end;

procedure Tf_password.b_cancelClick(Sender: TObject);
begin
  close;
end;

procedure Tf_password.E_USEKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=13 then e_password.SetFocus;
end;
procedure Tf_password.e_passwordKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then b_ok.Click;
end;

procedure Tf_password.e_userKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then e_password.SetFocus;
end;

procedure Tf_password.FormCreate(Sender: TObject);
begin
//加入系统数据库初始化信息
  with dm do
    begin
       try
         //系统初始化信息
          ado.Connected:=true;
          t_user.Open;
          t_menu.Open;
          t_qx.Open;
          T_DL.Open;
          T_KCBIAO.Open;
          T_XUEQI.Open;
          T_BANJI.Open;
          T_JIAOSHI.Open;
          T_KECHENG.Open;
          Q_KCB.Open;
          Q_XQ.Open;
          e_user.KeyValue:='SYSTEM';
         //系统初始化完毕
       except
         application.MessageBox('请保证ODBC数据源连接成功或与系统管理员联系!','数据库连接错误',mb_ok+mb_iconstop);
         application.Terminate;
       end;//try_end

    end;
end;

end.
















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -