www.pudn.com > xinshengruxue.rar > login.pas


unit login; 
 
interface 
  uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls,DB,DBTables,comctrls,toolwin,extctrls,buttons; 
 
 
type 
  TLogin_Form = class(TForm) 
    BitBtn1: TBitBtn; 
    BitBtn2: TBitBtn; 
    Panel1: TPanel; 
    name_Edit: TEdit; 
    password_Edit: TEdit; 
    Label1: TLabel; 
    Label2: TLabel; 
    Label3: TLabel; 
    procedure FormClose(Sender:TObject;var Action:TCloseAction); 
 
    procedure FormKeyPress(Sender: TObject;var Key:char); 
    procedure PassWord_EditKeyPress(Sender: TObject;var Key:char); 
    procedure BitBtn1Click(Sender: TObject); 
    procedure BitBtn2Click(Sender: TObject); 
    procedure FormCreate(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    isok:boolean; 
    { Public declarations } 
 
  end; 
 
var 
  Login_Form: TLogin_Form; 
 
implementation 
 
 
uses main; 
{$R *.dfm} 
 
////////////////////////////////////////////////////////// 
 
 
 
////////////////////////////////////////////////////////////////// 
procedure TLogin_Form.FormClose(Sender:TObject;var Action:TCloseAction); 
 
 begin 
 
 
   if isok then 
      Main_Form.N15.Enabled:=true 
   else 
    Main_Form.N11.Enabled:=true; 
    Action:=caFree; 
 
 end; 
 
 
///////////////////////////////////////////////////////////////// 
procedure TLogin_Form.FormKeyPress(Sender: TObject;var Key:char); 
begin 
   if key=#13 then 
   begin 
     key:=#0; 
     PerForm(WM_NEXTDLGCTL,0,0); 
   end; 
end; 
///////////////////////////////////////////////////////////// 
procedure TLogin_Form.PassWord_EditKeyPress(Sender: TObject;var Key:char); 
  begin 
        if key=#13 then BitBtn1.Click; 
 
  end; 
 
 
//////////////////////////////////////////////////////////// 
 
 
procedure TLogin_Form.BitBtn1Click(Sender: TObject); 
var 
aname,apassword,sqlstr:string; 
 a,b:integer; 
begin 
    Main_Form.N15.Enabled:=true; 
   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 [users] where(用户名='''+aname+''') and (密码='''+apassword+''')'; 
           with TQuery.Create(nil)do 
           begin 
            try 
              SessionName:=Main_Form.Database1.SessionName; 
              DatabaseName:=Main_Form.Database1.DatabaseName; 
              Close; 
              SQL.Clear; 
              SQL.Add(sqlstr); 
              Active:=True; 
           if RecordCount>0 then 
              begin 
                TQuery.NewInstance; 
                sqlstr:='select b.*from [users] a,[qxb] b where(a.用户名='''+aname+''')and(a.密码='''+apassword+''')and(a.用户名=b.用户名)order by b.菜单编号'; 
                Close; 
                SQL.Clear; 
                SQL.Add(sqlstr); 
                Active:=True; 
                if RecordCount>0 then 
                begin 
                   First; 
                   while not Eof do 
                   begin 
                     a:=StrToInt(copy(FieldByName('菜单编号').AsString,1,1)); 
                     b:=StrToInt(copy(FieldByName('菜单编号').AsString,2,2)); 
                     Main_Form.MainMenu1.Items.Items[a].Visible:=true; 
                     Main_Form.MainMenu1.Items.Items[a].Items[b].Visible:=true; 
                     Next; 
                   end; 
                end; 
                 isok:=true; 
 
                 Main_Form.N6.Visible:=true; 
                 Login_form.Close; 
                 Main_Form.StatusBar1.Panels[0].Text:='用户'+aname+'登录系统!'; 
                 Main_Form.StatusBar1.Panels[1].Text:='登录时间是:'+main_form.getnettime; 
                 Main_Form.dlname:=aname; 
 
             end 
             else begin 
              ShowMessage('请确认用户名和密码是否正确?'); 
              Name_Edit.SetFocus; 
              Name_Edit.SelectAll; 
             end; 
       finally 
        Free; 
       end; 
      end; 
   end 
   else 
   begin 
      ShowMessage('请输入用户名和密码!'); 
      Name_Edit.SelectAll; 
   end; 
 
 
end; 
 
 
procedure TLogin_Form.BitBtn2Click(Sender: TObject); 
begin 
 
     Main_Form.N11.Enabled:=true; 
     Close; 
end; 
 
procedure TLogin_Form.FormCreate(Sender: TObject); 
begin 
    isok:=false; 
end; 
 
end.