ulogin.pas

来自「DELPHI编程入门篇.从基础入手,浅显易懂,一定物有所值.」· PAS 代码 · 共 105 行

PAS
105
字号
unit Ulogin;

interface

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

type
  Tfrmlogin = class(TForm)
    Panel1: TPanel;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Panel2: TPanel;
    Label2: TLabel;
    Label1: TLabel;
    Edit2: TEdit;
    Edit1: TEdit;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmlogin: Tfrmlogin;

implementation

uses Umain;


{$R *.dfm}

procedure Tfrmlogin.BitBtn2Click(Sender: TObject);
var
  i:integer;
  spurview:string;
begin
  if edit1.Text = '' then
  begin
    showmessage('请输入用户名');
    exit;
  end;
  adoquery1.SQL.Text:='select username,userpass,purview from userinfo where'
  +' username = '''+edit1.Text+'''';
  adoquery1.Open;
  if adoquery1.RecordCount > 0 then
  begin
    spurview:=adoquery1.FieldValues['purview'];
    if edit2.Text = adoquery1.FieldValues['userpass'] then
    begin
      for i:=1 to 27 do
      begin
        if spurview[i] = '0' then
          frmmain.arrpopdem[i]:=false
        else
          frmmain.arrpopdem[i]:=true;
      end;  
      self.Close;
      modalresult:=mrok;
    end
    else
    begin
      edit2.clear;
      showmessage('用户密码错误');
      edit2.SetFocus;
    end;
  end
  else
  begin
    edit1.Clear;edit2.clear;
    showmessage('该用户名不存在');
    edit1.SetFocus;
  end;  
end;

procedure Tfrmlogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if modalresult = mrcancel then
  begin
    application.Terminate;
  end;
end;

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

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

end.

⌨️ 快捷键说明

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