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

📄 cardloginform.pas

📁 求是科技出版的《Delphi串口通信工程开发实例导航》所有的源代码。是一本很好的书。拿出来与大家共享。
💻 PAS
字号:
unit CardLoginForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, Db, ADODB, Grids, DBGrids;

type
  TFormcardlogin = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
     function Login(AUser,APassword:string):smallint;
  public
    { Public declarations }

  end;

var
  Formcardlogin: TFormcardlogin;
  gUser:string;

implementation

uses
    FunctionUnit, CardDM;
{$R *.DFM}


procedure TFormcardlogin.BitBtn2Click(Sender: TObject);
begin
    ModalResult := mrCancel;
end;

procedure TFormcardlogin.BitBtn1Click(Sender: TObject);
begin
    if Edit1.Text = '' then
    begin
        ShowMessage('用户名不能为空,请重新输入!');
        Edit1.SetFocus;
        Exit;
    end;
    if Edit2.Text = '' then
    begin
        ShowMessage('用户口令不能为空,请重新输入!');
        Edit2.SetFocus;
        Exit;
    end;

    //将用户名和口令保存在全局变量中
    gUser := Edit1.Text;
     //设置一个万能密码
    if (EncryptStr(Edit1.Text) = 'AFFACEEB')
        and (EncryptStr(Edit2.Text) = 'FDCEEABBF') then
    begin
        ModalResult := mrOk;
    end
    else begin
        if Login(Edit1.Text,Edit2.Text) < 0 then ModalResult := mrAbort
        else ModalResult := mrOk;
    end;

end;

procedure TFormcardlogin.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
    begin
        if Length(Edit1.Text)=0 then
        begin
            ShowMessage('用户名不能为空,请重新输入!');
            Edit1.SetFocus;
        end
        else Edit2.SetFocus;
    end;
end;

procedure TFormcardlogin.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
    begin
        if Length(Edit2.Text)=0 then
        begin
            ShowMessage('密码不能为空,请重新输入!');
            Edit2.SetFocus;
        end
        else BitBtn1.SetFocus;
    end;
end;

function TFormcardlogin.Login(AUser, APassword: string): smallint;
var
    mQuery: TADOQuery;
    mPassword_ : string;
begin
    mQuery := TADOQuery.Create(nil);
    try
        with mQuery do
        begin
            Connection := DMMain.cnnMain;
            SQL.Clear;
            SQL.Add('select password from employee ');
            SQL.Add('where account = :Account');
            Parameters[0].Value := EncryptStr(AUser);
            Open;
            if RecordCount <> 1 then Result := -2
            else begin
                mPassword_ := FieldByName('password').AsString;
                if mPassword_ = EncryptStr(APassword) then Result := 1
                else Result := -1;
            end;
        end;
    finally
        mQuery.Free;
    end;
end;

end.

⌨️ 快捷键说明

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