给应用程序添加“日积月累”对话框 王 卫 1999年 第1期 13版 目前几乎所有的商业软件在启动时都会显示一个“日积月累”对话框,该对话框一般一次显示一条关于该软件的使用技巧,用户也可以逐条浏览其中的所有技巧。 下面是用Visual Basic 5.0实现该功能的方法: 关键是有三个问题要解决:一是技巧信息以何种形式保存;二是如何随机读取;三是如何控制启动是否显示。 解决第一个问题,有两种思路:一是将技巧信息保存在一个文本文件中,一行保存一条技巧,然后使用VB的文件读写命令进行读取;另一种解决办法是使用VB自带的Access数据库,将技巧信息保存在数据库的一个表中,然后从中读取信息。本文采用第二种方法来保存技巧信息。 第二个问题比较容易解决,我们可以通过VB的随机数函数产生随机数作为要读取的技巧号,然后用数据库对象的Move方法定位到该技巧上,并用Field属性将之显示出来。 最后一个问题的解决也有两种思路:一是利用一个单独的文件保存一个标记,每次启动时首先检查该标记,然后根据标记的值决定是否显示“日积月累”对话框;另一个思路就更富技巧性,我们可以利用Win95的系统注册表,在注册表中建立一个应用程序项目,在其中保存是否显示的标记,每次启动时首先检查该标记,当用户单击“检查框按钮”时,也只需简单地修改该标记的值即可,而所有这些操作,都可简单地通过VB中关于系统注册表的几条命令来实现。本文采用第二种办法来实现,大家可以顺便从中学到用VB访问系统注册表的方法。 #1 1.建立窗体 在应用程序的工程中添加一个标准窗体,在其中放置一个PictureBox、一个CheckBox、两个Label和三个CommandButton,这些控件的相关属性设置如^011301a^。 #1 2.建立技巧数据库 用VB的“可视化数据管理器”生成一个名为“MyMdb”的Access数据库(如果应用程序本身已经有现成的数据库,则可以直接利用它,名字也不需要变),在数据库中新建一个表,表名为“Tips”,该表只包含一个可变长度的Text型的字段,字段名为Tip,长度可根据具体情况而定,这里设为50。表建好后,在其中输入若干条记录(在Win95目录中有一个Tips.txt,其中有很多技巧信息,可从中挑选一些,自己再另加一些与应用程序有关的操作要诀形成自己的技巧数据库)。具体代码略。 #1 3.几点说明 (1)GetSetting和SaveSetting的用法 这两条命令(函数)是VB与系统注册表交互的关键命令,其中GetSetting从注册表的应用程序项目中返回注册表项设置值,SaveSetting在注册表中建立应用程序项目或保存设置值,其具体用法可查找VB的联机帮助。 (2)应当在卸载应用程序时将注册表中的信息删除 由于“日积月累”对话框在注册表中添加了一些内容,因此在卸载应用程序时应当礼貌地将这些信息删除,删除的方法是利用VB提供的另一条关于注册表的命令DeleteSetting。 (3)在应用程序菜单中可以访问“日积月累”对话框 除了在应用程序启动时显示“日积月累”对话框外,还应该允许用户通过菜单激活该对话框,方法实在是再简单不过了,只需在菜单中增加一项“日积月累”,使其打开frmTip窗体即可。 (4)随机整数的产生 VB中关于随机数的语句有两个,一是Randomize,另一个是Rnd,前者根据系统时间产生随机数种子,后者产生0到1之间的随机小数。为了生成某个范围内的随机整数,可使用以下公式: Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限,而 lowerbound则是随机数范围的下限,如本例中使用Int((RecCount * Rnd) +1)取得了从1到记录总数之间的随机整数。 (5)及时关闭数据库 使用完数据库后,应当及时使用set命令关闭数据库和记录集,以释放它们所占的内存空间。