CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  数据库及相关技术

如何做一个登录界面?(具体问题见内容)

楼主kk706(xh)2005-06-02 16:39:03 在 C++ Builder / 数据库及相关技术 提问

我已经做了一个数据库管理系统,想让它在使用前需要“用户名+密码”登录后,才能使用这个系统,问如何做? 问题点数:0、回复次数:11Top

1 楼xpdavis(咕嘟-不想孤独)回复于 2005-06-02 16:52:05 得分 0

可以将用户名、口令存放在数据库中,然后做个界面,程序一启动就打开这个界面,输入用户、口令正确后才能进入系统。Top

2 楼kk706(xh)回复于 2005-06-02 17:02:52 得分 0

谢谢咕嘟,能再具体一些吗?非常感谢!!!Top

3 楼dddbryant(每天都加班)回复于 2005-06-02 17:06:09 得分 0

程序启动就到数据库中查找用户名  
   
  如果用户名存在,就看密码正不正确,  
   
  两个Edit就可以解决了:)  
  Top

4 楼gxd305()回复于 2005-06-02 17:18:10 得分 0

BCB里面好像有一个  
  这样的现成的Form  
  在  
  new    
  窗口的form   页上看一看Top

5 楼hsanyu(黄老邪)回复于 2005-06-02 21:49:11 得分 0

在主窗体.cpp中  
   
  void   __fastcall   TsMainForm::FormCreate(TObject   *Sender)  
  {  
   
        if(login)   {  
                          String   s1="登录";  
                          login=false;  
                          TLoginForm   *LoginForm=new   TLoginForm(&s1);  
                          LoginForm->ShowModal();  
                          char   *s11=s1.c_str();  
                          delete   LoginForm;  
        }  
   
  //加入要处理的代码  
  }  
   
  在登录窗体.cpp中加入密码验证代码即可  
  Top

6 楼Yans(跟贴是一种友谊)回复于 2005-06-04 22:39:55 得分 0

//---------------------------------------------------------------------------  
   
  #ifndef   LoginUnitH  
  #define   LoginUnitH  
  //---------------------------------------------------------------------------  
  #include   <Classes.hpp>  
  #include   <Controls.hpp>  
  #include   <StdCtrls.hpp>  
  #include   <Forms.hpp>  
  #include   <Buttons.hpp>  
  #include   <ExtCtrls.hpp>  
  //---------------------------------------------------------------------------  
  class   TLoginForm   :   public   TForm  
  {  
  __published: //   IDE-managed   Components  
                  TLabel   *PwLabel;  
                  TEdit   *PwEdit;  
                  TSpeedButton   *OKBtn;  
                  TSpeedButton   *CancelBtn;  
                  void   __fastcall   FormClose(TObject   *Sender,   TCloseAction   &Action);  
                  void   __fastcall   OKBtnClick(TObject   *Sender);  
                  void   __fastcall   CancelBtnClick(TObject   *Sender);  
   
  private: //   User   declarations  
                  int   nInputCount;       //   输入密码次数  
                  AnsiString   strPw;  
  public: //   User   declarations  
                  __fastcall   TLoginForm(TComponent*   Owner,   AnsiString   strpw);  
  };  
  //---------------------------------------------------------------------------  
  extern   PACKAGE   TLoginForm   *LoginForm;  
  //---------------------------------------------------------------------------  
  #endif  
   
  //---------------------------------------------------------------------------  
   
  #include   <vcl.h>  
  #pragma   hdrstop  
   
  #include   "LoginUnit.h"  
   
  //---------------------------------------------------------------------------  
  #pragma   package(smart_init)  
  #pragma   resource   "*.dfm"  
  TLoginForm   *LoginForm;  
  //---------------------------------------------------------------------------  
  __fastcall   TLoginForm::TLoginForm(TComponent*   Owner,   AnsiString   strpw)  
                  :   TForm(Owner)  
  {  
    nInputCount   =   0;  
    strPw   =   strpw;  
  }  
  //---------------------------------------------------------------------------  
     
  void   __fastcall   TLoginForm::FormClose(TObject   *Sender,  
              TCloseAction   &Action)  
  {  
    Action   =   caFree;  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TLoginForm::OKBtnClick(TObject   *Sender)  
  {  
    bool   bEntry   =   false;  
    if(     PwEdit->Text.UpperCase()   ==   strPw   )  
    {  
        bEntry   =   true;  
    }  
    if   (   bEntry   )  
    {  
      ModalResult   =   mrOk;  
    }  
    else  
    {  
      nInputCount++;  
      PwEdit->Text   =   "";  
      AnsiString   strcap   =   "你还有"+IntToStr(3-nInputCount)+"次机会!";  
      if   (   nInputCount   <=   3   &&  
                  Application->MessageBox("密码输入不正确,需要重新输入吗?",  
                  strcap.c_str(),  
                  MB_YESNO   |   MB_ICONINFORMATION)   ==   IDYES   )  
      {  
                  PwEdit->Focused();  
      }  
      else   ModalResult   =   mrCancel;  
    }  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TLoginForm::CancelBtnClick(TObject   *Sender)  
  {  
    ModalResult   =   mrCancel;  
  }  
  //---------------------------------------------------------------------------  
   
  #include   <vcl.h>  
  #include   "LoginUnit.h"  
  #pragma   hdrstop  
  //---------------------------------------------------------------------------  
  USEFORM("Unit1.cpp",   Form1);  
  USEFORM("LoginUnit.cpp",   LoginForm);  
  //---------------------------------------------------------------------------  
  WINAPI   WinMain(HINSTANCE,   HINSTANCE,   LPSTR,   int)  
  {  
                  try  
                  {  
                                    Application->Initialize();  
                                    LoginForm   =   new   TLoginForm(Application,"你的密码");  
                                    LoginForm->Caption   =   "登录系统";  
                                    LoginForm->PwLabel->Caption   =   "输入登录密码:";  
                                    if(   LoginForm->ShowModal()   !=   mrOk   )   return   0;  
                                    Application->CreateForm(__classid(TForm1),   &Form1);  
                                    Application->Run();  
                  }  
                  catch   (Exception   &exception)  
                  {  
                                    Application->ShowException(&exception);  
                  }  
                  catch   (...)  
                  {  
                                    try  
                                    {  
                                                    throw   Exception("");  
                                    }  
                                    catch   (Exception   &exception)  
                                    {  
                                                    Application->ShowException(&exception);  
                                    }  
                  }  
                  return   0;  
  }  
  //---------------------------------------------------------------------------  
   
  Top

7 楼rcrain(东方细雨)回复于 2005-06-05 16:40:50 得分 0

做一个登陆form名为LoginForm。主窗口为MainForm。  
  void   __fastcall   TMainForm::FormCreate(TObject   *Sender)  
  {  
      LoginForm->ShowModal();  
  }  
  这样在运行时,先出现登陆窗口。  
  然后对登陆窗口进行写代码。如果点“登录”,在其Click事件中写  
      {   if(用户名和密码正确)  
          {   LoginForm->close();  
              MainForm->ShowModal();  
          }  
          else   {要求重新输入之类的操作}  
      }  
  Top

8 楼wulikangju(无力抗拒)回复于 2005-06-05 23:05:51 得分 0

各位大虾!我是个菜鸟!请教一下!  
  我做的登陆窗口,只有两种用户(ComboBox),一个是系统管理员,可以对系统新增,修改,删除,这些操作  
  而另一个用户是一般用户,只可以查开你们的资料,可以打印!  
  怎么编辑代码,做毕业设计,急需!  
  先叩谢各位大虾了Top

9 楼iyln(流浪猫)回复于 2005-06-06 02:13:20 得分 0

我一般把密码经过MD5转换后和用户名一起存到数据库中的一个特定的表中,登录时对用户输入的密码计算MD5校验和,再和数据库中的密码进行比较。Top

10 楼zjt621(Compower)回复于 2005-06-06 20:00:51 得分 0

void   __fastcall   TPasswordDlg::OKBtnClick(TObject   *Sender)  
  {  
                  int   flag;   //验证成功标志  
                  //查库,验证密码与用户名  
                  //同过则flag   =   true;   否则flag   =   false;  
                  if(flag)  
                  {  
                        PasswordDlg->Hide();  
                        PasswordDlg->Free();  
                        ShowWindow(Application->Handle,SW_SHOW);  
                        Application->MainForm->Visible   =   true;  
   
                  }  
                  else  
                  {  
                      ShowMessage("登陆密码错误,请重新输入");  
                      Password->Text   =   "";  
                      Password->SetFocus();  
                  }  
  }  
   
  WINAPI   WinMain(HINSTANCE,   HINSTANCE,   LPSTR,   int)  
  {  
                  try  
                  {  
                                    Application->Initialize();  
                                    Application->Title   =   "untitle";  
                                    Application->CreateForm(__classid(TForm1),   &Form1);  
                                    Application->ShowMainForm   =   false;  
                                    ShowWindow(Application->Handle,SW_HIDE);  
                                    Application->CreateForm(__classid(TPasswordDlg),   &PasswordDlg);  
                                   
                                    Application->Run();  
                  }  
                  catch   (Exception   &exception)  
                  {  
                                    Application->ShowException(&exception);  
                  }  
                  catch   (...)  
                  {  
                                    try  
                                    {  
                                                    throw   Exception("");  
                                    }  
                                    catch   (Exception   &exception)  
                                    {  
                                                    Application->ShowException(&exception);  
                                    }  
                  }  
                  return   0;  
  }Top

11 楼weill(每天提一问,一天学一点)回复于 2005-06-06 20:05:41 得分 0

唉,不是寒酸你。  
  这个问题不是技术问题,而是你的脑子有问题。  
  Top

相关问题

  • 欢迎某某用户登录界面,显示不出具体用户名
  • 登录界面的问题
  • <<<<<<谁能说说怎样用vb作界面用vc去写程序的主要内容的具体实现?!!?
  • 字符界面登录问题
  • 如何改XP的登录界面
  • windows98 登录界面的替换
  • 很菜的问题,做登录界面
  • asp登录出错界面调整
  • 请教:登录界面的问题
  • 循环出现登录界面

关键词

  • 密码
  • 用户
  • 界面
  • 代码
  • 数据库
  • application
  • 系统
  • tloginform
  • loginform
  • strpw

得分解答快速导航

  • 帖主:kk706

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo