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

📄 login.pas

📁 房屋出租信息管理系统,房屋出租信息的录入、查询、删除以及用户管理等功能
💻 PAS
字号:
unit Login;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Mask, DB, ADODB, ExtCtrls, QRCtrls, QuickRpt;

type
  TLoginForm = class(TForm)
    MEd_password: TMaskEdit;
    BitBtn_Ok: TBitBtn;
    BitBtn_Exit: TBitBtn;
    Label2: TLabel;
    Label1: TLabel;
    Combo_name: TComboBox;
    Image2: TImage;
    ST_TS: TStaticText;
    procedure BitBtn_OkClick(Sender: TObject);
    procedure Ed_userKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure MEd_passwordKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn_ExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Combo_nameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
  private
     logcount:integer;
    { Private declarations }
  public
     check: boolean; //检查密码输入是否正确
     Ftimes: integer; //密码输入次数计数
     procedure innt_operator;
    { Public declarations }
  end;

var
  LoginForm: TLoginForm;

implementation

uses MaimForm, DataModule, Unit_common_files;

{$R *.dfm}
procedure TLoginForm.innt_operator ;
var ADQ:TADOQuery;
begin
   ADQ:=TADOQuery.Create(nil);
   ADQ.Connection:=DB_module.ADOCon;
   ADQ.SQL.Add('select * from login_user');
   ADQ.Open;
   while not ADQ.Eof do
   begin
     Combo_name.Items.Add(ADQ.fieldByName('user_loginname').AsString);
     ADQ.Next;
   end;
    ADQ.Free ;
end;
procedure TLoginForm.BitBtn_OkClick(Sender: TObject);
var
  checkpwdquery:TADOquery;
  sqlstring:string;
begin
  checkpwdquery:=TADOquery.Create(nil);
  checkpwdquery.ConnectionString:=DB_module.ADOCon.ConnectionString;
  try
    sqlstring := 'select * from login_user where user_loginname=:username and user_password=:password';
    with checkpwdquery do
    begin
      Close;
      checkpwdquery.
      sql.Clear;
      sql.Add(sqlstring);
      checkpwdquery.Parameters.ParamByName('username').Value:=Trim(Combo_name.Text);
      checkpwdquery.Parameters.ParamByName('password').Value:=Trim(MEd_password.Text);
      open;
      if not checkpwdquery.IsEmpty then
      begin
        unit_common_files.CurrentUserName := trim(Combo_name.Text);
        unit_common_files.CurrentPassword := FieldByName('user_password').Value ;
        unit_common_files.CurrentID       := FieldByName('user_ID').Value ;
        unit_common_files.Currentturename := FieldByName('user_name').Value ;
        mainform.N1.Enabled               := FieldByName('award_1').Value ;
        mainform.N19.Enabled              := FieldByName('award_2').Value ;
        mainform.N3.Enabled               := FieldByName('award_3').Value ;
        mainform.N4.Enabled               := FieldByName('award_4').Value ;
        LoginForm.Close;
        application.ShowMainForm:=true;
      end
      else
      begin
        logcount := logcount + 1;
        if logcount > 2 then
        begin
          messagebox(Application.Handle ,'对不起!三次输入口令不正确,系统将自动关闭。','余科华提示',MB_OK or MB_ICONEXCLAMATION);
          halt;
        end
        else
        begin
          messagebox(Application.Handle ,'输入口令不正确,请重新输入!','余科华提示',MB_OK or MB_ICONEXCLAMATION);
          ST_TS.Caption := '余科华提示:用户名或密码不正确,你还有'+inttostr(3-logcount)+'次机会。';
          MEd_password.SetFocus ;
        end;
      end;
    end;
  finally
    checkpwdquery.Free;
end;
end;
procedure TLoginForm.Ed_userKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if key=13 then MEd_password.SetFocus;
end;

procedure TLoginForm.MEd_passwordKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=13 then bitbtn_ok.setfocus;
end;

procedure TLoginForm.BitBtn_ExitClick(Sender: TObject);
begin
  ModalResult := mrCancel;
  Close;
  Application.Terminate;
end;

procedure TLoginForm.FormCreate(Sender: TObject);
begin
  innt_operator;
end;

procedure TLoginForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action   :=cafree;
  LoginForm:=nil;
end;

procedure TLoginForm.Combo_nameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=13 then  MEd_password.SetFocus;

end;

procedure TLoginForm.FormShow(Sender: TObject);
begin
  Combo_name.SetFocus ;
end;

end.

⌨️ 快捷键说明

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