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

📄 login_u.pas

📁 delphi7.0+SQl server 2000开发的,对于初学者有较好的参考价值
💻 PAS
字号:
unit login_u;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, jpeg, ExtCtrls, Buttons, ADODB;

type
  Tlogin = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Image2: TImage;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    Label4: TLabel;
    Image1: TImage;
    ADOConnection1: TADOConnection;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  login: Tlogin;
  userxm_v,userid_v:string;
  i:integer;

Const
  connstr='Provider=Microsoft.Jet.OLEDB.4.0;'+
          'Data Source=%s;Persist Security Info=False;'+
          'Jet OLEDB:Database Password=%s';
  
implementation

uses sfsb_u, public_u;


{$R *.dfm}

procedure checkpwd;
begin
   if i>=3 then
   begin
     messagedlg('对不起,您输入超过三次!',mtWarning,[mbok],0);
     application.Terminate;
   end;
end;

procedure Tlogin.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if key=#13 then edit2.SetFocus;
end;

procedure Tlogin.Edit1Exit(Sender: TObject);
begin
   checkpwd;
   if (edit1.text<>'') and adotable1.Locate('userid',edit1.Text,[]) then
   begin
      userxm_v:=adotable1.fieldvalues['xm'];
      label3.Caption:=adotable1.FieldValues['xm'];
   end
   else
   begin
     if edit1.text<>'' then
     begin
        i:=i+1;
        messagedlg('用户名错误,请重新输入!',mtWarning,[mbok],0);
        edit1.SetFocus;
     end;
   end;
end;

procedure Tlogin.BitBtn1Click(Sender: TObject);
begin
   checkpwd;
   adotable1.Locate('userid',edit1.Text,[]);
   if (edit2.text<>'') and (trim(adotable1.fieldbyname('password').asstring)=edit2.text) then
   begin  //密码正确进入
     userid_v:=adotable1.FieldByName('userid').AsString;
     login.ModalResult:=mrok;  //判断退出时的状态信息
     login.CloseModal;
     login.free;
     application.CreateForm(tfrm_sfsb,frm_sfsb);
     application.Run;
   end
   else
   begin
     if edit2.text<>'' then
     begin
        i:=i+1;
        messagedlg('密码错误,请重新输入!',mtWarning,[mbok],0);
     end;
   end;
end;

procedure Tlogin.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then BitBtn1Click(Sender);
end;

procedure Tlogin.FormCreate(Sender: TObject);
var
  dbfilename:string;
begin
  dbfilename:=extractfilepath(application.ExeName)+'data\sfsb.mdb';
  adoconnection1.ConnectionString:=format(connstr,[dbfilename,'tjz929']);
  if datasource1.DataSet.State=dsinactive then datasource1.DataSet.Open;
end;

procedure Tlogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if self.ModalResult<>mrok then
  begin
    if Application.MessageBox('请确认是否退出本系统','提示信息',mb_iconquestion+ mb_YesNo)=id_yes then
       application.Terminate
    else
       canclose:=false;
  end;
end;

procedure Tlogin.BitBtn2Click(Sender: TObject);
begin
     self.Close;
end;

end.

⌨️ 快捷键说明

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