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

📄 login.txt

📁 delphi开发的图书管理系统 包括登录框、借书还书、新书入库、权限管理、查询等部分的源程序
💻 TXT
字号:
unit u_frmLogin;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, Db, ADODB,Dialogs;

type
  TfrmLogin = class(TForm)
    Label1: TLabel;
    txtPassword: TEdit;
    OKBtn: TButton;
    CancelBtn: TButton;
    Label2: TLabel;
    cmbUserName: TComboBox;
    ADOTable1: TADOTable;
    procedure CancelBtnClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure OKBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    bolSuccess:Boolean; //默认为False,True表示登录成功!
    procedure ListUserName;     //列出用户帐号到ComboBox
  public
    { Public declarations }
  end;

var
  frmLogin: TfrmLogin;

implementation

uses Main,DataModule;

{$R *.DFM}

procedure TfrmLogin.CancelBtnClick(Sender: TObject);
begin
  Close;        //退出登录
end;

procedure TfrmLogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=True;       //允许关闭登录对话框。
  if not bolSuccess then        //退出登录,则关闭登录对话框,再结束程序!
    MainForm.Close;      //关闭主窗口,也就是关闭程序。
end;

procedure TfrmLogin.OKBtnClick(Sender: TObject);
begin
  {IndexOf方法从ComboBox中查找指定的文本,如果找到则返回索引值,否则返回-1}
  if cmbUserName.Items.IndexOf(cmbUserName.Text)<0 then
    ShowMessage('请选择正确的用户帐号!')
  else
  begin

     if not ADOTable1.Locate('Username',
        Copy(cmbUserName.Text,1,10),[]) then
     begin
       ShowMessage('找不到该帐号,请确定输入或设置的帐号是否正确!');
       exit;    //退出该过程
     end;
     
    {比较用户输入的密码!}
    if txtPassword.Text=ADOTable1.FieldByName('Password').AsString then
    begin
      bolSuccess:=True;
      Close;
    end
    else
    begin
      ShowMessage('密码错误,请重新输入!');
      {先将焦点移到别的地方,再将焦点移回密码输入框,就可以选中
       密码输入框的文本,等待输入,这是一个秘技哦!不要说没什么,打击我!哼!}
      OKbtn.SetFocus;
      txtPassword.SetFocus;
    end;
  end;
end;

procedure TfrmLogin.ListUserName;
var
  i:Integer;
begin
  ADOTable1.Close;
  ADOTable1.Connection:= DataModuleADO.ADOConnection1;
  ADOTable1.TableName:='Operator'; //数据表名称!
  ADOTable1.Open;       //打开数据库表
  cmbUserName.Clear;    //先清空ComboBox

  for i:=0 to ADOTable1.RecordCount-1 do
  begin
    cmbUserName.Items.Add(ADOTable1.FieldByName('Username').AsString);
    ADOTable1.Next;
  end;
end;

procedure TfrmLogin.FormCreate(Sender: TObject);
begin
  ListUserName; //列出用户帐号
end;

end.
 

⌨️ 快捷键说明

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