login.pas.~1~

来自「Delphi数据库开发毕业设计指导及实例 一书的源码」· ~1~ 代码 · 共 119 行

~1~
119
字号
unit login;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ToolWin, ExtCtrls, Buttons, Db, DBTables, StdCtrls,inifiles;

type
  TLoginForm = class(TForm)
    Bevel1: TBevel;
    Name_Edit: TEdit;
    PassWord_Edit: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure PassWord_EditKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  LoginForm: TLoginForm;


implementation

uses  Menus, main;

{$R *.DFM}




procedure TLoginForm.Button2Click(Sender: TObject);
begin
    Close;
    mainForm.N11.Enabled:=true;
end;

procedure TLoginForm.Button1Click(Sender: TObject);
var
        aname,apassword,sqlstr:string;
        a,b:integer;
begin
        if (length(trim(name_edit.Text)) > 0) or (length(trim(password_edit.Text)) > 0) then
        begin
            aname:=trim(name_edit.Text);
            apassword:=trim(password_edit.Text);
            sqlstr:='select * from t_user a,t_qxb b where (a.name='''+aname+''')';
            sqlstr:=sqlstr+' and(a.passwd='''+apassword+''')and(a.name=b.name)';
            sqlstr:=sqlstr+' order by b.cdx';
            with TQuery.Create(nil) do
            try
            Close;
            SQL.Clear;
            SQL.Add(sqlstr);
            Open;
            if RecordCount > 0 then
            begin
                First;
                while not Eof do
                begin
                    a:=strtoint(copy(FieldByName('cdx').AsString,1,1));
                    b:=strtoint(copy(FieldByName('cdx').AsString,2,2));
                    mainform.MainMenu1.Items.Items[a].Visible:=true;
                    mainform.MainMenu1.Items.Items[a].Items[b].Visible:=true;
                    Next;
                end;
                loginform.Close;
                mainform.StatusBar1.Panels[0].Text:=aname;
            end
            else
            begin
                showmessage('请确认登录的用户名和密码是否正确!');
                name_edit.SetFocus;
                name_edit.SelectAll;
            end;
            finally
            Free;
            end;
        end
        else
        begin
            showmessage('请输入登录用户名和密码!');
            name_edit.SelectAll;
        end;
end;

procedure TLoginForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     Action:=caFree;
end;

procedure TLoginForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
    begin
        key:=#0;
        perform(WM_NEXTDLGCTL,0,0);
    end;
end;

procedure TLoginForm.PassWord_EditKeyPress(Sender: TObject; var Key: Char);
begin
    if key = #13 then
        Button1.Click;
end;

end.

⌨️ 快捷键说明

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