用VB编写登录程序

Author: 杜伟 Date: 2000年 第45期

  编者按:在前几期编程乐园中,我们一同学习了一些关于VB编程的基本概念和语法规则。但离开实例学习编程,无疑是枯燥无味、事倍功半的,所以我们在此推出“看实例,学编程”栏目,邀请富有经验的PFans介绍他们的典型实例,希望对PFans的编程之旅有所帮助。
  我们都知道,在进入Windows操作系统时会出现一个登录对话框,要求用户输入密码后才能进入Windows。我们用VB也可以编写这样的登录窗口,其具体方法如下:
#1  界面设计:
  打开“VB6.0”,出现“新建工程”对话框,选择“标准EXE”单击“打开”即可新建一个工程。新建一个工程后,VB自动生成了一个窗体,其默认的名称是Form1,且显示的标题也是Form1,显然与我们要编写的程序不符。我们可以更改这些设置,方法是:点击Form1窗体,在右边的属性窗口中(如^45020401a^1)的“名称”后输入“Denglu”(在后面讲的Denglu就是指的这个窗体),在“Caption”后输入“登录窗口”。窗体设置好后,我们便可以将控件放置到这个窗体中去了。
  “登录窗口”中主要用到的是TextBox(文本框)控件,该控件主要是用于接收用户输入的文字并显示出来。在该程序中我们便可以使用TextBox控件接收用户输入的信息来判断是否是合法的用户。另外,我们还将用到Label(标签)控件及CommandButton(命令按钮)控件。Label控件用来显示“用户名”及“密码”标题;CommandButton控件用来设计“确定”及“取消”按钮。下面我们将这些控件放置到窗体中:在工具箱中选择“Label”控件(如^45020401b^2),在窗体中拖动鼠标直到一定的大小,然后在属性窗口中的“Caption”属性后为输入“用户名”,然后在其下方再拖动一个Label控件,将Caption的值改为“密码:”;在工具箱中选择“TextBox”控件(如^45020401c^3),在“用户名”后拖动一个TextBox控件,用同样的方法在“密码:”后拖动一个TextBox控件,然后在“属性窗口”中将Text的值改为空(即删除默认的Text1),为了不显示出用户输入的密码,我们将第二个TextBox控件的PasswordChar属性设置为*(如^45020401e^5),这样在用户输入密码时显示的就是*了;在工具箱中选择“CommandButton”控件(如^45020401d^4),将其拖动到窗体的下方(一共两个),分别设置其Caption属性为“确定”和“取消”。调整好这些控件的位置(如^45020401f^6)后即可完成界面的设计。
#1  程序代码:
  该程序的主要目的是要判断输入的用户名是否合法,所以我们首先编写判断用户名的程序代码。双击“确定”按钮,添加如下的程序代码:(黑体部分为系统自动生成的代码,楷体为注释)
  Private Sub Command1_Click()
  ′判断是否输入了用户名
  If Text1.Text=″″ Then ′如果Text1为空,即没有输入用户
   MsgBox ″请输入用户名!″,vbOKOnly+vbCritical,″错误″
   Exit Sub ′退出这个过程
  Else ′如果输入了用户名
   If Text1.Text=″软件世界″ And Text2.Text=″12345″ Then ′如果输入的用户名是″软件世界″且密码为″12345″
    MsgBox ″你是合法用户,欢迎进入!″,vbOKOnly+vbInformation,″欢迎进入″
   Else ′如果不是″软件世界″或密码不是″12345″
    MsgBox ″用户名或密码错误!″,vbOKOnly+vbCritical,″错误″
    Text1.Text=″″
    Text2.Text=″″ ′清空Text1及Text2控件中的文本内容,让用户重新输入
   End If
  End If
  End Sub
  在这一段代码中,我们使用了If…Then…Else…End If。这是一个条件判断语句,If Text1.Text=″″ Then这句代码则是判断Text1是否为空,如果为空,这个条件就成立,则执行Then后的语句,如果Text1不为空,则这个条件不成立,程序将会跳到Else处,执行Else后的语句。
#1  程序测试:
  现在我们可以单击“F5”键来运行这个程序,看看其运行效果。直接单击“确定”按钮,将会弹出一个对话框(如^45020401g^7);在“用户名”后输入“软件世界”,“密码:”后输入“12345”,再单击“确定”按钮,此时便会出现一个“欢迎进行”的信息框(如^45020401h^8)。怎么样,一个属于自己的“登录窗口”就制作好了。
  但这个程序目前还只能判断在程序中已设置好了的用户名及密码,没有灵活性,你可以发挥你的聪明才智,使其能够判断多个合法的用户及密码。如果你有什么疑问,欢迎写信与我交流,我的E-mail地址是:vber@21cn.com。