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

📄 login.pas

📁 用Delphi+Access制作的简单登录系统
💻 PAS
字号:
unit login;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;

type
  Tlogin_Form = class(TForm)
    Label1: TLabel;
    username: TEdit;
    Label2: TLabel;
    userpass: TEdit;
    cmdOk: TButton;
    cmdCancel: TButton;
    ADOQuery1: TADOQuery;
    procedure cmdCancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cmdOkClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    maxtimes,logintimes:integer;
  public
    { Public declarations }
  end;

var
  login_Form: Tlogin_Form;

implementation

{$R *.dfm}

procedure Tlogin_Form.cmdCancelClick(Sender: TObject);
begin
    Close;
end;

procedure Tlogin_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    if MessageDlg('你选择了系统退出,退出将不能启动管理系统,是否真的退出?',mtConfirmation, [mbYes, mbNo], 0) = mrYes THEN
    begin
        ACTION:=caFree;
    end
    ELSE
        ACTION:=caNone;
end;

procedure Tlogin_Form.cmdOkClick(Sender: TObject);
var
    lasttime,aname,apass,sqlstr:string;
begin
    inc(logintimes);
    if logintimes>maxtimes then
    begin
        ShowMessage('你已经超过允许验证次数!,将退出登录系统!');
        Application.Terminate;
    end
    else
    begin
        if (length(trim(username.Text)) > 0) or (length(trim(userpass.Text)) > 0) then
        begin
            aname:=trim(username.Text);
            apass:=trim(userpass.Text);
            sqlstr:='select * from t_user where (username='''+aname+''') and(userpass='''+apass+''')';
            ADOQuery1.Close;
            ADOQuery1.SQL.Clear;
            ADOQuery1.SQL.Add(sqlstr);
            ADOQuery1.Open;
            if ADOQuery1.RecordCount > 0 then
            begin
                lasttime:=DateTimeToStr(date);
                sqlstr:='update t_user set times=times+1,lasttime='''+lasttime+''' where (username='''+aname+''')';
                ADOQuery1.Close;
                ADOQuery1.SQL.Clear;
                ADOQuery1.SQL.Add(sqlstr);
                ADOQuery1.ExecSQL;
            end
            else
            begin
                showmessage('请确认登录的用户名和密码是否正确!');
                username.SetFocus;
                username.SelectAll;
            end;
        end
        else
        begin
            showmessage('请输入登录用户名和密码!');
            username.SelectAll;
        end;
    end;
end;

procedure Tlogin_Form.FormCreate(Sender: TObject);
begin
    maxtimes:=3;
    logintimes:=0;
end;

procedure Tlogin_Form.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
    begin
        if not (ActiveControl is TDBGrid) then
        begin
            key:=#0;
            perform(WM_NEXTDLGCTL,0,0);
        end
        else
        if  (ActiveControl is TDBGrid) then
        begin
            with TDBGrid(ActiveControl) do
            if SelectedIndex<(fieldcount-1) then
                SelectedIndex:=SelectedIndex+1
            else
                SelectedIndex:=0;
        end
    end;
end;

end.

⌨️ 快捷键说明

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