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

📄 tloginformunit.~pas

📁 小区物业管理系统 运行环境:DELPHI7.0和SQL Server2000 1、将文件DATA里的数据库XQ附加到SQL Server2000企业管理器中
💻 ~PAS
字号:
unit TloginFormUnit;

interface

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

type
  TLoginForm = class(TForm)
    btok: TBitBtn;
    btno: TBitBtn;
    password: TEdit;
    Label2: TLabel;
    Label1: TLabel;
    user: TDBLookupComboBox;
    Panel1: TPanel;
    Panel2: TPanel;
    procedure FormShow(Sender: TObject);
    procedure btokClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btnoClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    check: boolean; //检查密码输入是否正确
    Ftimes: integer; //密码输入次数计数
    { Private declarations }
  public
    procedure iniapp(qx: int64); //项目初始化
    { Public declarations }
  end;

var
  LoginForm: TLoginForm;
  yh:string;

implementation

uses Udm, Umain;

{$R *.dfm}

procedure TLoginForm.FormShow(Sender: TObject);
begin
  Ftimes := 0; //记录密码输入次数为0
  check := false;
  User.SetFocus; //用户名选择获得焦点
  PassWord.text := ''; //清空密码输入
  user.DropDown; //为了方便用户选择,打开下拉列表
end;

procedure TLoginForm.btokClick(Sender: TObject);
var mm: string; qx: int64;
begin
  Ftimes := Ftimes + 1; //每单击一次‘确定’按钮,密码输入次数加1
  mm := trim(adodm.Tuser.Fieldbyname('密码').AsString); //取得该用户在数据库中的密码
  qx := adodm.Tuser.FieldValues['用户权限']; //取得该用户在数据库中的操作权限
  if (mm = trim(PassWord.text)) and (qx > 1000000000) then
  begin
     yh:= adodm.Tuser.FieldValues['用户名称'] ;
    MainForm.auser.name := yh;
    MainForm.auser.qx := StrToint64(adodm.Tuser.FieldValues['用户权限']);
    MainForm.auser.id := StrToInt64(adodm.Tuser.fieldvalues['用户编号']);
      //记录用户的登陆时间和用户名
    adodm.toper.Open;
    adodm.toper.append;
    adodm.toper.FieldByName('登录时间').AsDateTime := now;
    adodm.toper.FieldByName('用户编号').AsVariant := MainForm.auser.id;
    adodm.toper.Post;
    adodm.toper.Last;
    MainForm.operid := adodm.toper.FieldByName('操作员编号').AsVariant;
    iniapp(qx); //初始化主窗体属性
  end
  else
    if Ftimes < 3 then
      if mm <> trim(PassWord.Text) then
      begin
        showmessage('密码不对,请重新录入!');
        PassWord.SetFocus;
        exit;
      end else
      begin
        showmessage('你已经输入三次错误密码,请与管理员联系!');
        User.SetFocus;
        exit;
      end
    else
    begin
      showmessage('对不起,你没有通过口令认证!');
      application.Terminate;
    end;
end;

procedure TLoginForm.iniapp(qx: int64);
 //项目初始化,对于不同的操作人员,赋予不同的操作权限
var i, j: integer;
begin
  Application.CreateForm(TmainForm, MainForm);
  for i := 0 to MainForm.MainMenu1.items.Count - 1 do
    for j := 0 to MainForm.MainMenu1.Items[i].Count - 1 do
      MainForm.MainMenu1.items[i].Items[j].Enabled := false;
  MainForm.TSGLBT.Enabled := False;
  MainForm.BXGLBT.Enabled := False;
  MainForm.JFDJBT.Enabled := False;
  MainForm.ZHZLBT.Enabled := False;

   //使所有的菜单为不可用
  qx := qx xor 1234567890;
  qx := qx shr 10;
  for i := 0 to 6 do //共有7 种权限
    if ((1 shl i) and qx) <> 0 then
      case i of
        0: begin
            MainForm.TSGL.Enabled := True;
            MainForm.BXGL.Enabled := True;
            MainForm.TSGLBT.Enabled := True;
            MainForm.BXGLBT.Enabled := True;
          end;
        1: begin
            MainForm.TCGL.Enabled := True;
            MainForm.WYJFGL.Enabled := True;
            MainForm.YFKGL.Enabled := True;
            MainForm.JFDJBT.Enabled := True;
          end;
        2: begin
            MainForm.TSBB.Enabled := True;
            MainForm.BXBB.Enabled := True;
          end;
        3: begin
            MainForm.SFTJBB.Enabled := True;
            MainForm.SFGL.Enabled := True;
          end;
        4: begin
            MainForm.FXZLLR.Enabled := True;
            MainForm.ZHZLLR.Enabled := True;
            MainForm.TCCCWLR.Enabled := True;

          end;
        5: begin
            MainForm.ZHZLBT.Enabled := True;
          end;
        6: begin
            MainForm.UserManage.Enabled := True;
          end;

      end;
  MainForm.CHANGEPASSWORD.Enabled := true;
  MainForm.ReLogin.Enabled := true;
  MainForm.ExitMenu.Enabled := true;
  MainForm.SystemHelp.Enabled := true;
  MainForm.About.Enabled := true;

  check := true;
  MainForm.StatusBar1.Panels[1].Text := '操作员:'+yh ;
  MainForm.StatusBar1.Panels[2].Text := '正在使用';
  LoginForm.Free;
  MainForm.ShowModal;
end;

procedure TLoginForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  if not check then
    btno.Click
  else canclose := true;
end;

procedure TLoginForm.btnoClick(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TLoginForm.FormCreate(Sender: TObject);
begin
//Application.CreateForm(TmainForm,MainForm);
end;

end.

⌨️ 快捷键说明

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