俺是初学delphi,现想求一个登陆界面的相关程序高手说说呀

解决方案 »

  1.   

    简单的
    就两二个 TEdit 两个 TButtonEdit1: 用户名
    Edit2: 密码
    Button1: 登录
    Button2: 退出当 Button1.OnClikc 时, 判断用户名和密码
    --------------------
    就这么简单
      

  2.   

    加个timer控件
    procedure TLogin.Button1Click(Sender: TObject);
    begin
        with dm1.Query1 do
        begin
            Close;
            SQL.Clear;
            SQL.Add('select * from USERS where U_ID='''+edit1.Text+'''');
            Open;
            if (Edit1.Text='')  then
            begin
                application.MessageBox('请输入登录帐号!','提  醒',MB_ICONWARNING+MB_OK);
                Edit1.Text:='';
                Edit1.SetFocus;
                Exit;
            end;
            if (Edit2.Text='')  then
            begin
                application.MessageBox('请输入密码!','提  醒',MB_ICONWARNING+MB_OK);
                Edit2.Text:='';
                Edit2.SetFocus;
                Exit;
            end;
            if eof then
            begin
                application.MessageBox('不存在此操作员!','提  醒',MB_ICONWARNING+MB_OK);
                Edit1.Text:='';
                Edit1.SetFocus;
                Exit;
            end
            else
            begin
                if Edit2.Text=FieldByName('U_PASS').AsString then
                begin
                    usenames := FieldByName('U_NAME').AsString;
                    operator := usenames;
                    code     := FieldByName('U_ID').AsString;
                    password := FieldByName('U_PASS').AsString;
                    depatment:= FieldByName('DEPT_ID').AsString;
                    Power    := FieldByName('U_role').AsString;
                    Application.CreateForm(TMainForm,MainForm)
                    //MainForm.Show;
                    //Close;
                end
                else begin
                    times := times + 1;
                    if Times < 3 then
                    begin
                        application.MessageBox('密码有误!', '提  醒', MB_ICONWARNING + MB_OK);
                        Edit2.Text := '';
                        Edit2.SetFocus;
                        exit;
                    end
                    else
                    begin
                        application.MessageBox('对不起,密码输入次数已超过三次,系统将退出!','提  醒',MB_ICONWARNING+MB_OK);
                        Application.Terminate;
                    end;
                end;
             end;
        end;
    end;procedure TLogin.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
        Application.Terminate;
    end;procedure TLogin.Button2Click(Sender: TObject);
    begin
        Application.Terminate;
    end;procedure TLogin.FormShow(Sender: TObject);
    begin
        Edit1.Text := '';
        Edit2.Text := '';
        Edit1.SetFocus;
    end;procedure TLogin.Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
        if(key = vk_Return) or (key=vk_down) then
        begin
            button1.SetFocus;
        end;
    end;procedure TLogin.Edit1KeyDown(Sender: TObject; var Key: Word;
        Shift: TShiftState);
    begin
        if(key=vk_Return) or (key=vk_down) then
            Edit2.SetFocus;end;procedure TLogin.FormCreate(Sender: TObject);
    begin
        Edit1.Text:='';
        Edit2.Text:='';
        Times:=0;
    end;
      

  3.   

    最好是用MDI主窗中初始化的时候打开LOGIN窗体在判断用户名和密码是否是真关闭LOGIN把MDI主窗口显示出来
      

  4.   


    procedure TLogin.BitBtn1Click(Sender: TObject);
    var
       username:string;
       password:string;
    begin
      if edit1.Text=''then
         begin
         messagebox(Login.handle, '请输入用户名 ', '警告 ',mb_ok+mb_iconwarning);
         edit1.SetFocus;
         end
      else if
         edit2.Text=''then
         begin
         messagebox(Login.handle, '请输入密码 ', '警告 ',mb_ok+mb_iconwarning);
         edit2.SetFocus;
         end
      else
         begin
            username:=edit1.Text;
            password:=edit2.Text;
            with ADOQuery1 do
            begin
            close;
            sql.clear;
            sql.add('select username, password from userlist where username='''+username+''' and password='''+password+ '''');
            open;
            first;
            if recordcount<>0 then
               begin
               edit1.Text:='username';
               edit2.Text:='password';
               messagebox(Login.Handle,'登录成功','欢迎',64);
               Login.Hide;
               MainForm.show;
               end
            else
               messagebox(Login.handle,'登录失败','警告',mb_ok+mb_iconwarning);
            end;
        end;
    end;