由于 Visual Basic 提供了远比本例应用程序丰富得多的工具,因此马上可以使用许多其的特性来管理和配制应用程序。复习示例应用程序是学习 Visual Basic 的极好方法。下述示例展示了用 Visual Basic 编制实用的应用程序是多么的轻而易举。
Firstapp 演示了如何使用 data 控件和 grid 控件显示取自数据库的信息表。Visual Basic 使得从应用程序内部到数据库的访问非常地容易。数据控件提供了在数据库的记录集中漫游的功能,以及使得在 grid 控件中显示的记录与数据集中的位置同步的能力。
本例包含一个数据控件、一个MSFlexGrid 控件、一个列表框控件和两个命令按钮。网格显示了从Northwind 数据库检索到的products的信息表。当使用数据控件上的定位按钮选定网格的一项时,被选中的product的name便显示在数据控件上。还可以双击网格中当前选择位置,在列表框控件的“购书单”中添加当前选择的书名。
用 AddItem 方法可以添加列表框的信息。方法是作用于特定对象(本例中为 ListBox 对象)的 Visual Basic 函数。指定方法的语法 (object.property) 与设置属性的语法 (object.property) 类似。AddItem 方法可以在程序运行时动态地添加列表框的内容。相反,Clear 方法用于清除列表框的全部信息。
详细信息 关于方法的详细内容,请参阅“窗体、控件和菜单”中的“属性、方法和事件概述”一节。
创建工程首先要从“文件”菜单中选择“新建工程”,然后从“新建工程”对话框中选定“标准 EXE”(首次启动 Visual Basic 时将会显示“新建工程”对话框)。Visual Basic 创建一个新的工程并显示一个新的窗体。用一个数据控件、一个MSFlexGrid 控件、一个列表框控件以及两个命令按钮画出了应用程序的界面。MSFlexGrid 控件不在缺省的工具箱内,因此必须添加:
要添加控件到工具箱,请按照以下步骤执行:
“部件”对话框被显示。
在工具箱中有了MSFlexGrid 控件的图标。
使用工具箱在窗体上画出一个数据控件、一个MSFlexGrid 控件、一个列表框控件和两个命令按钮。如果您不记得如何绘制,请参阅本章前面的"Creating the Interface"。
根据下表在属性窗口中设置对象的属性,其余的属性均使用缺省值。
对象 | 属性 | 设置 |
Form | Caption | Products |
Data1 | DatabaseName RecordSource |
path \Nwind.mdb Products |
MSFlexGrid1 | DataSource | Data1 |
Command1 | Caption | Clear |
Command2 | Caption | Exit |
数据控件的 DatabaseName 属性必须包含数据库的实际路径。按照缺省规定,Biblio.mdb 数据库的按钮与 Visual Basic 安装在同一个目录下。在属性窗口中选择 DatabaseName 属性时,可以单击该属性右侧的按钮显示标准的“打开文件”对话框浏览文件。设置完 DatabaseName 属性后,属性窗口中的 RecordSource 属性将包含选中的数据库中的表或记录集的清单。将DataGrid 控件的 DataSource 属性设置为 Data1,将自动地把网格和数据控制链接起来。
程序所有的代码包含在 Command1_Click、Command2_Click、Data1_Reposition 和DataGrid1_DblClick 事件过程中。双击窗体或控件显示代码窗口,然后输入各事件过程的代码。
将以下代码添加到 Command1_Click 事件过程中,用于单击按钮时清除列表框:
Private Sub Command1_Click () List1.Clear '
清除列表框。End Sub
以上语句调用了列表框 List1 的 Clear 方法,Clear 方法删除该列表框的内容。
将以下代码添加到 Command2_Click 事件过程中,用于从内存中卸载窗体并终止应用程序:
Private Sub Command2_Click () Unload Form1 End '
终止应用程序。End Sub
以上过程的第一条语句调用窗体的 Unload 事件。如果需要在终止程序时执行一个功能(例如保存文件),可以把代码放到窗体的 Unload 事件过程中。第二条语句调用 End 函数终止程序。
将以下代码添加到 Data1_Reposition 事件过程中,用于每当选择一个记录时更新标题:
Private Sub Data1_Reposition ()
Data1.Caption = Data1.Recordset("Title")
End Sub
以上语句将右边的值(数据控件的记录集的 Title 字段)赋给左边的属性(数据控件对象的 Caption 属性)。
将以下代码添加到DataGrid_DblClick 事件过程中,用于当双击一个选定的行时向列表框添加信息。
Private Sub DataGrid1_DblClick ()
List1.AddItem Data1.Recordset("Title")
End Sub
以上语句调用列表框 List1 的 AddItem 方法。添加到列表框中的文本被包含在该方法的参数中(此时为数据控件的记录集的 title 字段)。将一个值传递给参数类似于给属性赋值,与赋值语句不同的是不需要用等号。
从“文件”菜单中选取“保存工程”命令来结束本次创建应用程序的工作。Visual Basic 将分别提示保存窗体和保存工程。可以将工程命名为“书店销售清单” ("Bookstore Shopping List."),Windows 95 和 Windows NT 都允许使用长达 255 个字符的文件名而且可以包含空格。旧版的 Microsoft Windows 只允许八个字符的文件名外加三个字符的扩展名。
这样第一个 Visual Basic 应用程序就完成了:这是一个功能简单却很有用的程序。可以以此为基础在自己的应用程序中添加新的功能,用自己的数据替换 Nwind.mdb。当然,要使本程序真正实用,还要添加基本的保存或打印列表框内容的功能、添加更多的信息:如价格、是否有货,甚至可以收集信用卡的信息和通过 Internet 传送订单。通过继续阅读《程序员指南》的其余部分将找到所有有关这些功能的例子和其它更多的知识。