login.pas

来自「好多上载非界面和非WEB源码」· PAS 代码 · 共 110 行

PAS
110
字号
unit login;

interface

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

type
  Tloginfrm = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    namebox: TEdit;
    pwdbox: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Image1: TImage;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  function checkuser(ausername,apwd:string) :integer;

var
  loginfrm: Tloginfrm;

implementation
Uses mainfrm,global;
{$R *.dfm}

function checkuser(ausername,apwd:string):integer;
var t:TTable;
begin
  try
    t:=TTable.Create(nil);
    t.DatabaseName:=dbname;
    t.TableName:='user_info.db';
    t.Open;
    t.SetKey;
    t.FieldByName('姓名').AsString:=ausername;
    if not (t.GotoKey) then
      begin
        MessageDlg('用户名'+ausername+'错误!',mtError,[mbok],0);
        result:=-1;
        exit;
      end
    else
      if t.FieldByName('学生证号').AsString=apwd then
        result:=t.FieldByName('等级').AsInteger
      else
        begin
          MessageDlg('密码错误!',mtError,[mbok],0);
          result:=-1;
          exit;
        end;
    t.Close;
    t.Free;
  except
    result:=-1;
    MessageDlg('数据库链接出错!',mtError,[mbok],0);
  end;

end;

procedure Tloginfrm.BitBtn1Click(Sender: TObject);
var
  rsl:integer;
begin
  if trim(namebox.Text)='' then
    begin
      messagedlg('没有用户名,请输入!',mtinformation,[mbyes],0);
      namebox.Clear;
      pwdbox.Clear;
      namebox.SetFocus;
      exit;
    end;
  username:=namebox.Text;
  userpwd:=pwdbox.Text;
  rsl:=checkuser(username,userpwd);
  if rsl<>-1 then mainform.viewmenu(rsl)
  else
    begin
      pwdbox.Clear;
      namebox.SetFocus;
      exit;
    end;
  close;
  
end;

procedure Tloginfrm.BitBtn2Click(Sender: TObject);
begin
close;
end;

procedure Tloginfrm.FormShow(Sender: TObject);
begin
namebox.Text:='';
pwdbox.Text:='';
namebox.SetFocus;
end;

end.

⌨️ 快捷键说明

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