1、4.3.4 VB 程序文件程序文件VB 应用程序的组成应用程序的组成项目(或工程)文件(项目(或工程)文件(.vbp):存储总体信息):存储总体信息项目(或工程)组成文件,包括项目(或工程)组成文件,包括窗体文件(窗体文件(.frm,至少一个),至少一个)模块文件(模块文件(.bas或或.cls,可选),可选)资源文件(资源文件(.res,可选),可选)可执行文件(可执行文件(.exe):可脱离):可脱离 VB 环境运行,环境运行,由由 文件文件/生成生成XXX.EXE 命令编译生成命令编译生成后移后移4.3.4 VB 程序文件程序文件窗体文件(窗体文件(.frm)用于定义各种窗口用于定义各种
2、窗口标准模块文件(标准模块文件(.bas)用于声明用于声明VB应用程序中使用的数应用程序中使用的数据类型、全局变量、公用常量、公据类型、全局变量、公用常量、公用函数和外部过程等用函数和外部过程等变量、函数、过程变量、函数、过程变量变量v局部变量局部变量 指只能在本过程内使用的变量指只能在本过程内使用的变量。用。用Dim或或Static语句声明,或语句声明,或不声明不声明就直就直接使用接使用 v窗体窗体/模块级变量:模块级变量:可被可被本窗体本窗体/模块模块的任的任何过程访问。在何过程访问。在通用声明通用声明段中用段中用Dim或或Private语句声明的变量语句声明的变量v全局变量全局变量 指可
3、被应用程序的任何过程或指可被应用程序的任何过程或函数访问的变量。在函数访问的变量。在通用声明段中用段中用Public语句加以声明(语句加以声明(若在窗体中声明,若在窗体中声明,调用时需加上窗体名,如调用时需加上窗体名,如FORM1.PAI)例例 Private Sub Form_Click()Dim i%,isum%For i=1 To 5 isum=sum(i)Next i Print isum End SubPrivate Function sum(n As Integer)Dim j As Integer j=j+n sum=jEnd Function输出结果:5Static j As
4、Integer,结果?变量、函数、过程变量、函数、过程函数函数 v同其他编程语言一样同其他编程语言一样过程过程v内部函数过程和事件过程内部函数过程和事件过程v用户自定义过程用户自定义过程列表框和组合框列表框和组合框4.列表框(列表框(ListBox)v通过显示多个选项,供用户选择,达到与用户通过显示多个选项,供用户选择,达到与用户对话的目的对话的目的v只能选择,不能修改其中的内容只能选择,不能修改其中的内容5.组合框(组合框(ComboBox)v是组合了文本框和列表框的特性而形成的一种是组合了文本框和列表框的特性而形成的一种控件。包括:下拉式组合框、简单组合框和下控件。包括:下拉式组合框、简单
5、组合框和下拉式列表框拉式列表框v当在列表框中选定某项后,该项内容自动装入当在列表框中选定某项后,该项内容自动装入文本框中文本框中列表框和组合框(续)列表框和组合框(续)属性属性vList 字符型数组,存放列表框的项目,下标从字符型数组,存放列表框的项目,下标从0开始开始vListIndex 选中的项目的序号,没有项目被选定时为选中的项目的序号,没有项目被选定时为-1vListCount 项目的数量,项目的数量,ListCount-1是最后一项的下标是最后一项的下标vText 列表项中被选定的内容列表项中被选定的内容vStyle(ComboBox)类型Style属性输入下拉式组合框下拉式组合框0
6、能能简单组合框简单组合框1能能下拉式列表框下拉式列表框2不能不能列表框和组合框(续)列表框和组合框(续)AddItem方法方法 把一个选项加入列表框或组把一个选项加入列表框或组合框合框.AddItem,v把把字符串字符串的文本插入到由的文本插入到由“下标下标”指定列表框指定列表框或组合框位置中或组合框位置中v下标取值范围:下标取值范围:0 ListCount-1RemoveItem方法方法 删除一个项目删除一个项目.RemoveItem Clear方法方法 清空清空.ClearVB编码基础编码基础1.VB代码不区分字母大小写2.一行可写多句语句,用“:”分隔3.一句可分若干行书写,用“_”表示
7、4.可用“Rem”和“”进行注释5.可以有行号和标号4.4 VB 与面向对象程序设计4.4.1 类与对象类与对象4.4.2 类的继承性类的继承性4.4.3 类的多态性类的多态性类与对象类与对象在VB中已接触了不少对象 其实每个对象都属于某一个类 换言之,对象是类的实例(instance)类类 定定 义义既然 对象=属性+方法当然 类=属性+方法类类 继继 承承同一类中的不同对象 一般具有相同的属性集和方法集不必每个对象封装一套 相同的数据与操作类类 继继 承承解决方法:类继承规则:子类继承父类的属性与方法 每个类可派生许多子类 最“老”的类称为基类 类类 继继 承承继承树A0M0A1M1AnM
8、nA2M2C1C2CnA11M11A12M12C11C12A121M121A122M122C121C122方法集是:Mtd12=M0,M1,M12类C12中的属性是:Art12=A0,A1,A12C0类的多态性类的多态性所谓多态性 就是不同的类可以有名字与基本目的相同、但实现方式不同的行为如 Move方法窗体 窗体自身及其中全部内容将移动按钮 只移动按钮,所在窗体不会移动 数据库概念数据库概念可视化数据管理器可视化数据管理器数据控件数据控件4.5 VB与数据库与数据库一、数据库概念一、数据库概念数据库表数据库就是一组排列成易于处理和读取的数据库就是一组排列成易于处理和读取的相关信息的集合。相关
9、信息的集合。关系模型已经成为数据库设计事实上的标关系模型已经成为数据库设计事实上的标准。准。关系型数据库模型关系型数据库模型v一个数据库可以由多个表组成,表与表之间一个数据库可以由多个表组成,表与表之间可以用不同的方式相互关联。可以用不同的方式相互关联。v若第一个表中的一条记录内容与第二个表中若第一个表中的一条记录内容与第二个表中多条记录的数据相符,但第二个表中的一条记多条记录的数据相符,但第二个表中的一条记录只能与第一个表的一条记录的数据相符,这录只能与第一个表的一条记录的数据相符,这样的表间关系类型叫做样的表间关系类型叫做一对多关系一对多关系。v若第一个表的一条记录的数据内容可与第二若第一
10、个表的一条记录的数据内容可与第二个表的多条记录的数据相符,反之亦然,这样个表的多条记录的数据相符,反之亦然,这样的表间关系类型叫做的表间关系类型叫做多对多关系多对多关系。v由一个或几个表中的数据构成记录集Recordset对象,记录集也由行和列构成,它与表类似。学号 课程 成绩990001 数学 85学号 姓名 性别 专业 出生日期990001 万林 男 物理 82-1-11990002 庄前 女 物理 82-9-21 (表一)数据库数据库记记录录集集学号 姓名 专业 课程 成绩990001 万林 物理 数学 85990002 庄前 物理 外语 90 .在在VB中数据库内的表格中数据库内的表格
11、不允许不允许直接访问,而只能直接访问,而只能通过记录集对象进行记录的操作和浏览,因此,通过记录集对象进行记录的操作和浏览,因此,记记录集录集是一种浏览数据库的工具。是一种浏览数据库的工具。数据库数据库记录集记录集功能:功能:用于数据库的管理(适合于比较简单的用于数据库的管理(适合于比较简单的 应用)应用)启动:启动:方法一:外接方法一:外接/可视化数据管理器可视化数据管理器方法二:双击方法二:双击Visdata.ExeVisdata.Exe二、可视化数据管理器二、可视化数据管理器三、数据控件三、数据控件注:注:RecordSource属性:数据库中的某个表名或或使用SQL查询语言的一个查询字符
12、串 DatabaseName属性 如果连接的是单表数据库,则应设置为数据库文件所在的子目录名,而具体文件名放在RecordSource属性中。能够利用三种记录集对象访问数据库中的数据连接属性连接属性说说 明明Connect指定数据控件所要连接的数据库类型DatabaseName指定具体使用的数据库文件名,包括所有的路径名指定具体使用的数据库文件名,包括所有的路径名RecordSource确定具体可访问的数据,这些数据构成记录集对象确定具体可访问的数据,这些数据构成记录集对象RecordType确定记录集类型v数据控件只能连接数据库产生记录集,不能显示数据控件只能连接数据库产生记录集,不能显示记
13、录集中的数据,要显示记录集中的数据必须通过记录集中的数据,要显示记录集中的数据必须通过能与它绑定的控件来实现,这类控件称为依附(绑能与它绑定的控件来实现,这类控件称为依附(绑定)控件。定)控件。常用依附控件数据库记录集绑定控件姓名 庄前性别 女依附控件的两个重要属性依附控件的两个重要属性记录集学号 姓名 专业 课程 成绩990001 万林 物理 数学 85990002 庄前 物理 外语 90 数据库属属 性性说说 明明DataSource指定一个有效的数据控件连接到数据库上DataField设置数据库有效的字段与依附控件建立联系注注 意意数据控件数据控件可用于绑定数据库和可用于绑定数据库和 数
14、据库中的某个数据库中的某个表表依附控件依附控件只能绑定表中某个只能绑定表中某个列列数据控件应用举例数据控件应用举例例1设计窗口数据控件应用举例数据控件应用举例例1运行中窗口数据控件应用举例数据控件应用举例1.建立程序界面 5类 17个控件 标签(7)文本框(7)框架(1)数据控件(1)按钮(1)2.定义对象属性 数据控件属性设置 文本框属性设置 标签属性设置 框架属性设置3.编写程序代码4.应用程序存盘数据控件属性设置数据控件属性设置 Caption 成绩表 DatabaseName 带盘符路径的库文件名 VB41VB41 RecordsetType 确定记录集合类型 0 Table0 Tab
15、le RecordSoure 成绩表 用作依附控件的文本框属性设置用作依附控件的文本框属性设置 DataSoure 数据控件名 例如 DATA1 DataField 该框显示字段名称 例如 学号程序代码程序代码Private Sub ExitW_Click()退出按钮 EndEnd SubPrivate Sub score_Change(Index As Integer)Total=(Val(score(0)+Val(score(1)+_ Val(score(2)+Val(score(3)/4End Sub思思 考考如何避免由于数据库路径如何避免由于数据库路径改变造成的运行出错。改变造成的运行出错。数据控件数据控件绑定的数据库能绑定的数据库能否在程序运行中选择?否在程序运行中选择?