资源预览内容
第1页 / 共534页
第2页 / 共534页
第3页 / 共534页
第4页 / 共534页
第5页 / 共534页
第6页 / 共534页
第7页 / 共534页
第8页 / 共534页
第9页 / 共534页
第10页 / 共534页
亲,该文档总共534页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
VB从入门到实践从入门到实践第第1 1章章 Visual BasicVisual Basic概述概述Visual Basic是是1991年美国微软公司推出的可视化年美国微软公司推出的可视化Basic语言语言.。它是在原来的。它是在原来的Basic语言基础上发展而成的。语言基础上发展而成的。Visual Basic中无需编写大量代码来编辑界面元素,只需要采用中无需编写大量代码来编辑界面元素,只需要采用搭积木构建程序方式来编写程序,是现在开发人数最多的搭积木构建程序方式来编写程序,是现在开发人数最多的最通用的编程工具之一。本章内容包括:最通用的编程工具之一。本章内容包括:lVisual Basic特点特点lVisual Basic安装安装lVisual Basic集成开发环境集成开发环境VB从入门到实践从入门到实践1.1 Visual Basic1.1 Visual Basic简介简介Visual Basic是一种可视化的、面向对象和采用事件驱动机制是一种可视化的、面向对象和采用事件驱动机制的结构化高级程序设计语言。它可用于开发的结构化高级程序设计语言。它可用于开发Windows环境环境下的各类应用程序。它具有简单易学、效率高、功能强大下的各类应用程序。它具有简单易学、效率高、功能强大的特点,可以与的特点,可以与Windows专业开发工具专业开发工具SDK相媲美。相媲美。在在Visual Basic环境下,开发人员利用事件驱动的编程机制、环境下,开发人员利用事件驱动的编程机制、新颖易用的可视化设计工具,使用新颖易用的可视化设计工具,使用Windows内部的应用程内部的应用程序接口(序接口(API)函数、动态链接库(函数、动态链接库(DLL)、)、对象的链接对象的链接与嵌入(与嵌入(OLE)、)、开放式数据连接(开放式数据连接(ODBC)等技术,可等技术,可以高效、快速地开发以高效、快速地开发Windows环境下功能强大、图形界面环境下功能强大、图形界面丰富的应用软件系统。丰富的应用软件系统。VB从入门到实践从入门到实践1.1.1 1.1.1 版本区分版本区分Visual Basic有学习版、专业版和企业版三种版本,以满足不有学习版、专业版和企业版三种版本,以满足不同层次的开发需要。不同版本编写的应用程序大多数可以同层次的开发需要。不同版本编写的应用程序大多数可以在三种版本中通用。在三种版本中通用。学习版为学习版为Visual Basic的基本版本,适用于初期学习者及的基本版本,适用于初期学习者及使用使用Visual Basic开发一般应用程序的开发人员。开发一般应用程序的开发人员。专业版为专业开发人员提供了功能完备的软件开发工具。专业版为专业开发人员提供了功能完备的软件开发工具。企业版为专业编程人员开发程序提供了功能强大的组内分企业版为专业编程人员开发程序提供了功能强大的组内分布式应用程序。布式应用程序。VB从入门到实践从入门到实践1.1.2 Visual Basic1.1.2 Visual Basic的特点的特点1可视化编程可视化编程2面向对象的程序设计面向对象的程序设计3事件驱动机制事件驱动机制4强大开放的特点强大开放的特点VB从入门到实践从入门到实践1.1.3 1.1.3 集成开发环境集成开发环境VB从入门到实践从入门到实践1.1.3 1.1.3 集成开发环境集成开发环境VB从入门到实践从入门到实践1.1.4 1.1.4 面向对象功能面向对象功能从从Visual Basic 4开始,用户可以通过类模型方式创建和使用开始,用户可以通过类模型方式创建和使用对象。对象可以被当作一个数据和单元的组合,如窗体、对象。对象可以被当作一个数据和单元的组合,如窗体、数据库等。数据库等。Visual Basic对象可以封装属性、方法和事件,对象可以封装属性、方法和事件,创建时可以重新定义其封装属性、方法和事件。创建时可以重新定义其封装属性、方法和事件。Visual Basic对象可以极大简化重复代码的编写,使开发人员对象可以极大简化重复代码的编写,使开发人员精力集中在程序内容而不是数量庞大的代码上。精力集中在程序内容而不是数量庞大的代码上。Visual Basic后续版本增强了该功能,并添加了许多新的面向对后续版本增强了该功能,并添加了许多新的面向对象的编程功能。象的编程功能。VB从入门到实践从入门到实践1.1.5 1.1.5 数据访问数据访问在现代信息技术高度发达的今天,数据信息已经成为最重要在现代信息技术高度发达的今天,数据信息已经成为最重要资源之一。资源之一。Visual Basic为开发人员提供了强大的数据访为开发人员提供了强大的数据访问技术,能够更快捷、更迅速、更高效地存储和读取数据问技术,能够更快捷、更迅速、更高效地存储和读取数据信息。信息。Visual Basic提供了更为强大功能来支持大中型数提供了更为强大功能来支持大中型数据库,如据库,如Oracle、SQL Server、Sybase等。等。VB从入门到实践从入门到实践1.1.6 Internet1.1.6 Internet功能功能互联网(互联网(Internet)在现在通讯日益发达的信息世界占据了在现在通讯日益发达的信息世界占据了重要的地位。重要的地位。Visual Basic提供了许多功能为开发具有互提供了许多功能为开发具有互联网功能的应用程序提供支持和帮助。联网功能的应用程序提供支持和帮助。Visual Basic在开在开发过程中可以创建服务器端的动态发过程中可以创建服务器端的动态HTML(DHTML),),使用使用Internet Transfer控件检索和传输文件,利用控件检索和传输文件,利用WebBrowser控件浏览网页信息,采用控件浏览网页信息,采用MAPI收发电子邮收发电子邮件等一系列激动人心的功能。件等一系列激动人心的功能。VB从入门到实践从入门到实践1.2 Visual Basic 61.2 Visual Basic 6安装安装本节将介绍如何安装本节将介绍如何安装Visual Basic 6开发环境。将开发环境。将Visual Basic 6的安装光盘放入计算机的光驱内,一般情况下计算机可以自的安装光盘放入计算机的光驱内,一般情况下计算机可以自动运行其中的安装程序。如果计算机没有自动运行安装程序,动运行其中的安装程序。如果计算机没有自动运行安装程序,双击光盘盘符下的双击光盘盘符下的Setup.exe文件,将显示文件,将显示Visual Basic安装程安装程序界面,按照安装程序的提示进行相应的操作。序界面,按照安装程序的提示进行相应的操作。VB从入门到实践从入门到实践1.3 1.3 开始使用开始使用Visual Basic 6Visual Basic 6Visual Basic开发程序使用图形化界面与用户交流。本节介绍开发程序使用图形化界面与用户交流。本节介绍如何使用如何使用Visual Basic集成开发环境开发程序界面、设计集成开发环境开发程序界面、设计窗体并通过实例演示如何使用窗体并通过实例演示如何使用Visual Basic进行应用程序进行应用程序开发。开发。VB从入门到实践从入门到实践1.3.1 1.3.1 开发界面开发界面1标题栏标题栏2菜单栏菜单栏3工具栏工具栏4工具箱工具箱5窗体设计窗口窗体设计窗口6工程资源管理器工程资源管理器7“属性属性”面板面板8“布局布局”面板面板VB从入门到实践从入门到实践1.3.2 1.3.2 窗体使用窗体使用应用程序界面是直接面对用户的窗体及其他控件。一个优秀应用程序界面是直接面对用户的窗体及其他控件。一个优秀的应用程序应该窗体界面简洁、漂亮,控件布局科学、合的应用程序应该窗体界面简洁、漂亮,控件布局科学、合理,用户使用舒适、方便。本小节重点介绍窗体的使用技理,用户使用舒适、方便。本小节重点介绍窗体的使用技巧。窗体布局调整可以在巧。窗体布局调整可以在“格式格式”菜单中调整,也可以在菜单中调整,也可以在“窗体编辑器窗体编辑器”工具栏中进行编辑。工具栏中进行编辑。VB从入门到实践从入门到实践1.3.3 1.3.3 第一个程序第一个程序HelloHello,WorldWorld本节将创建第一个程序本节将创建第一个程序Hello-World。创建一个应用程序之创建一个应用程序之前,必须明确以下几个重要步骤:前,必须明确以下几个重要步骤:(1)制定计划。)制定计划。(2)创建界面。)创建界面。(3)编写代码。)编写代码。(4)测试和调试程序。)测试和调试程序。(5)生成可执行文件。)生成可执行文件。(6)打包文件。)打包文件。VB从入门到实践从入门到实践1.3.3 1.3.3 第一个程序第一个程序HelloHello,WorldWorldVB从入门到实践从入门到实践1.3.3 1.3.3 第一个程序第一个程序HelloHello,WorldWorldVB从入门到实践从入门到实践1.3.4 1.3.4 文件类型文件类型1工程组和工程文件工程组和工程文件2窗体文件窗体文件3程序模块文件程序模块文件4类模块文件类模块文件5资源文件资源文件VB从入门到实践从入门到实践1.3.5 1.3.5 编译可执行文件编译可执行文件应用程序创建后,必须生成可执行文件才能发布给最终用户。应用程序创建后,必须生成可执行文件才能发布给最终用户。Visual Basic中生成可执行文件操作非常简单。中生成可执行文件操作非常简单。选择选择“文文件件”|“生成生成xxx.exe”命令(命令(xxx为工程名称),弹出为工程名称),弹出“生成工程生成工程”对话框对话框 .VB从入门到实践从入门到实践1.4 1.4 常见问题及解答常见问题及解答1将将Visual Basic程序安装光盘放入光驱内,为何不自动安程序安装光盘放入光驱内,为何不自动安装装Visual Basic?2Visual Basic程序安装后,如何在系统中运行程序安装后,如何在系统中运行Visual Basic程序?程序?VB从入门到实践从入门到实践1.5 1.5 小结小结本章简单介绍了本章简单介绍了Visual Basic基本知识、安装步骤、集成开发基本知识、安装步骤、集成开发环境。本章重点和难点是如何安装环境。本章重点和难点是如何安装Visual Basic和使用和使用Visual Basic开发应用程序界面。读者需要重点练习使用开发应用程序界面。读者需要重点练习使用Visual Basic集成开发环境。下一章将介绍数据类型、变集成开发环境。下一章将介绍数据类型、变量和常量。量和常量。VB从入门到实践从入门到实践第第2 2章章 数据类型、变量和常量数据类型、变量和常量数据是用来存储程序需要调用的文字、数值、对象、图像等,数据是用来存储程序需要调用的文字、数值、对象、图像等,包括多种类型。变量是程序用来临时存储数据。常量是以包括多种类型。变量是程序用来临时存储数据。常量是以字符串形式用来代替固定数值。本章内容包括:字符串形式用来代替固定数值。本章内容包括:l数据类型数据类型l变量变量l常量常量VB从入门到实践从入门到实践2.1 2.1 数据类型数据类型在应用程序中在应用程序中Visual Basic将以更高效率来处理已定义数据类将以更高效率来处理已定义数据类型。型。Visual Basic包含七种数据类型,分别为数值型包含七种数据类型,分别为数值型(Numeric)、)、字符型(字符型(String)、)、字节型(字节型(Byte)、)、布尔型(布尔型(Boolean)、)、日期型(日期型(Date)、)、对象型对象型(Object)、)、变体型(变体型(Variant)等。本节将详细介绍七等。本节将详细介绍七种数据类型的定义和特点。种数据类型的定义和特点。VB从入门到实践从入门到实践2.1.1 2.1.1 数值型数值型 NumericNumeric1整数整数整型:整型取值范围为整型:整型取值范围为-3267832677,以,以2个字节(个字节(16位)位)存储,用二进制码表示和参加运算。存储,用二进制码表示和参加运算。长整型:长整型取值范围为长整型:长整型取值范围为-21474836482147483647,以,以4个字节(个字节(32位)存储。位)存储。2浮点型浮点型(1)单精度型)单精度型 (2)双精度型)双精度型 (3)货币型)货币型 VB从入门到实践从入门到实践2.1.2 2.1.2 字节型字节型ByteByte字节型(字节型(Byte)专为存储二进制数值类型,以专为存储二进制数值类型,以1个字节来存个字节来存储。如果变量声明包含二进制数,则声明为储。如果变量声明包含二进制数,则声明为Byte数据类型数据类型的数组。取值范围为:的数组。取值范围为:0255。除了减法外,所有对整数。除了减法外,所有对整数进行处理的运算符均可处理该类型。进行处理的运算符均可处理该类型。VB从入门到实践从入门到实践2.1.3 2.1.3 字符型字符型StringString字符型(字符型(String)为最通用的数据类型之一,用来储存文本为最通用的数据类型之一,用来储存文本信息。每个字符对应信息。每个字符对应1个字节,由个字节,由ASCII字符序列组成,字符序列组成,包括标准的包括标准的ASCII字符和扩展字符和扩展ASCII字符及汉字等。字符字符及汉字等。字符型为包含在双引号内的若干个字符。型为包含在双引号内的若干个字符。【示例示例2-3】显示不同类型字符串。显示不同类型字符串。“”表明长度为零的字表明长度为零的字符串为空字符串;符串为空字符串;“Visual Basic”表明为字母字符串,表明为字母字符串,赋予变量为赋予变量为“Visual Basic”;“Hello,World 2008。”表明为混合字符串。表明为混合字符串。固定字符串最大取值范围为固定字符串最大取值范围为65535字节;变长字符串最大取字节;变长字符串最大取值范围为值范围为0231。 VB从入门到实践从入门到实践2.1.4 2.1.4 布尔型布尔型BooleanBoolean布尔型(布尔型(Boolean)为逻辑型,以为逻辑型,以2个字节来存储。它包含个字节来存储。它包含True或或False、Yes或或No。在程序中一般用于判断语句,或在程序中一般用于判断语句,或者声明该数值为两种状态,如者声明该数值为两种状态,如“开开”或或“关关”。VB从入门到实践从入门到实践2.1.5 2.1.5 日期型日期型DateDate日期型(日期型(Date)为浮点数值形式保存,以为浮点数值形式保存,以8个字节存储。默个字节存储。默认日期范围为认日期范围为1/1/1001/1/9999。Windows操作系统下日操作系统下日期范围为期范围为1/1/198012/31/2099;时间范围为;时间范围为0:00:0023:59:59。日期型数据用来表示日期类型,格式为:。日期型数据用来表示日期类型,格式为:mm-dd-YYYY或者或者mm/dd/YYYY。在。在Visual Basic开发应用程开发应用程序中可以定制日期模式:序中可以定制日期模式:YYYY-mm-dd。(。(Y或或y为年,为年,m为月,为月,d为日)。为日)。VB从入门到实践从入门到实践2.1.6 2.1.6 对象型对象型ObjectObject对象型(对象型(Object)为保存引用应用程序中的对象,以为保存引用应用程序中的对象,以4个字个字节(节(32位)来存储。它可以用来引用图形图像、位)来存储。它可以用来引用图形图像、Word文文件、件、Excel文件等。如果在运行应用程序之前,文件等。如果在运行应用程序之前,Visual Basic定义该特定类型对象的属性和方法,应用程序在运定义该特定类型对象的属性和方法,应用程序在运行时速度会更快。行时速度会更快。VB从入门到实践从入门到实践2.1.7 2.1.7 变体型变体型VariantVariant变体型(变体型(Variant)能保存所有类型数据,可以随时转换该能保存所有类型数据,可以随时转换该数据为其他类型。变体型可以在程序中直接声明定义,用数据为其他类型。变体型可以在程序中直接声明定义,用户不必过多关注户不必过多关注Variant变量中的类型。变量中的类型。Visual Basic可以可以在应用程序运行时自动进行必要的转换。在应用程序运行时自动进行必要的转换。VB从入门到实践从入门到实践2.1.8 2.1.8 数据类型转换数据类型转换程序开发过程中,需要将不同数据类型进行必要的转换。程序开发过程中,需要将不同数据类型进行必要的转换。Visual Basic提供了各种类型转换相关的函数,可以在程序中直接调用。提供了各种类型转换相关的函数,可以在程序中直接调用。如果想把某种数据类型转换为另外一种类型,必须保证该类型数如果想把某种数据类型转换为另外一种类型,必须保证该类型数值处于待转换数值有效范围内。值处于待转换数值有效范围内。转换函数转换类型中文名称Cbool()Boolean布尔型Cbyte()Byte二进制型Ccur()Currency货币型Cdate()Date日期型Cdbl()Double双精度型Cint()Integer整数型Clng()Long长整数型Csng()Single单精度型Cstr()String字符型Cvar()Variant变体型VB从入门到实践从入门到实践2.2 2.2 变量简介变量简介变量在程序执行过程中用以保存临时数据信息,包含在程序变量在程序执行过程中用以保存临时数据信息,包含在程序执行阶段修改的数据。变量都有变量名称,在其作用范围执行阶段修改的数据。变量都有变量名称,在其作用范围内作为惟一标识存在内作为惟一标识存在。VB从入门到实践从入门到实践2.2.1 2.2.1 变量作用域变量作用域声明变量可以使用声明变量可以使用Dim、Private、Public、Static作为关键字。以上关作为关键字。以上关键字分别作用于不同的作用域。键字分别作用于不同的作用域。变量语句声明位置范围过程变量Dim或Static存在于过程,子过程或函数过程中声明段声明变量的过程、子过程或函数模块变量Private存在于窗体或代码模块声明段窗体或代码模块中过程全局变量PublicMain模块中声明段全部应用程序VB从入门到实践从入门到实践2.2.2 2.2.2 变量命名变量命名变量必须要命名后才能赋值。在过程内部声明的变量,在该变量必须要命名后才能赋值。在过程内部声明的变量,在该过程执行时才存在。当运行过程结束时,该变量的值自动过程执行时才存在。当运行过程结束时,该变量的值自动清除。变量命名必须符合以下规定:清除。变量命名必须符合以下规定:l变量名必须以字母开头,不能以数字或下划线开始。变量名必须以字母开头,不能以数字或下划线开始。l变量不能包含嵌入的句号、空格或者其他停顿符号。变量不能包含嵌入的句号、空格或者其他停顿符号。l变量长度不得超过变量长度不得超过255个字符。个字符。l变量名不能是变量名不能是Visual Basic的保留字,如的保留字,如Name、For等。等。VB从入门到实践从入门到实践2.2.2 2.2.2 变量命名变量命名变量类型简化前缀标准化前缀整数(Integer)NInt长整型(Long)LLng单精度型(Single)FSng双精度型(Double)DDbl货币型(Currency)CCur字符串型(String)SStr布尔型(Boolean)BBln对象型(Object)OObj变体型(Variant)VVarVB从入门到实践从入门到实践2.2.3 2.2.3 变量类型变量类型变量类型包含变量类型包含2.1小节中所有的数据类型。除此之外,根据应小节中所有的数据类型。除此之外,根据应用程序需要还可以创建用户自定义的类型。自定义类型声用程序需要还可以创建用户自定义的类型。自定义类型声明使用明使用Type语句。语句。VB从入门到实践从入门到实践2.2.4 2.2.4 静态变量静态变量程序运行时变量保存临时数据。一旦程序终止,变量将自动程序运行时变量保存临时数据。一旦程序终止,变量将自动被被Visual Basic删除。下一次程序运行时该变量将重新被删除。下一次程序运行时该变量将重新被初始化。但是,应用程序在运行时也有可能需要保留变量初始化。但是,应用程序在运行时也有可能需要保留变量数据。数据。Visual Basic可以通过声明静态变量来保存记忆变可以通过声明静态变量来保存记忆变量数值。量数值。Static varName as typeVB从入门到实践从入门到实践2.3 2.3 变量声明变量声明Visual Basic中声明是事先将变量定义为保存数据内容。在变中声明是事先将变量定义为保存数据内容。在变量使用之前,进行声明是一个重要的编程技巧。变量声明量使用之前,进行声明是一个重要的编程技巧。变量声明后可以在程序中更高效的使用变量。声明包括显式声明和后可以在程序中更高效的使用变量。声明包括显式声明和隐式声明。本节将分别介绍如何显式声明、隐式声明和使隐式声明。本节将分别介绍如何显式声明、隐式声明和使用定长字符串。用定长字符串。VB从入门到实践从入门到实践2.3.1 2.3.1 显式声明显式声明显式声明要求在程序中使用变量前,强制声明该变量。如果显式声明要求在程序中使用变量前,强制声明该变量。如果不声明该变量,将出现错误提示。显式声明使用不声明该变量,将出现错误提示。显式声明使用Option Explicit语句。选择语句。选择“工具工具”|“选项选项”命令,弹出命令,弹出“选项选项”对话框。选择对话框。选择“编辑器编辑器”选项卡,复选选项卡,复选“要求变量声明要求变量声明”选项。该复选框自动在新模块中自动插入以下语句。选项。该复选框自动在新模块中自动插入以下语句。Option ExplicitVB从入门到实践从入门到实践2.3.1 2.3.1 显式声明显式声明Dim varName As vartype , varName2 As vartype2 Private varName As vartype , varName2 As vartype2Public varName As vartype , varName2 As vartype2Static varName As vartype , varName2 As vartype2VB从入门到实践从入门到实践2.3.2 2.3.2 隐式声明隐式声明编号变量类型显示字符1整数(Integer)%2长整型(Long)&3单精度型(Single)!4双精度型(Double)#5货币型(Currency)6字符串型(String)$7字节型(Byte)无8布尔型(Boolean)无9日期型(Date)无10对象型(Object)无11变体型(Variant)无VB从入门到实践从入门到实践2.3.2 2.3.2 隐式声明隐式声明nNumber%=0 将nNumber尾部添加%表示为整数sString$=”Visual Basic” 将sString尾部添加$表示为整数vVar=6VB从入门到实践从入门到实践2.3.3 2.3.3 定长字符串定长字符串Visual Basic中也可以声明定义定长字符串,最长为中也可以声明定义定长字符串,最长为216个字个字符。该字符串大小长度是固定不变的。如果该变量被赋予符。该字符串大小长度是固定不变的。如果该变量被赋予短于该长度的表达式,变量的剩余长度将以空格填充。如短于该长度的表达式,变量的剩余长度将以空格填充。如果长于该长度,自动截取等于该长度的字符,其余部分将果长于该长度,自动截取等于该长度的字符,其余部分将被截取。被截取。Dim varName as string * strlengthVB从入门到实践从入门到实践2.4 2.4 常量简介常量简介常量与变量区别在于运行过程中常量表示不变的数值或字符常量与变量区别在于运行过程中常量表示不变的数值或字符串。常量用以代替繁复难以记忆或输入的数值或字符。变串。常量用以代替繁复难以记忆或输入的数值或字符。变量可以在程序中根据需要修改数据,常量在定义之后无法量可以在程序中根据需要修改数据,常量在定义之后无法进行修改。常量的使用有助于改进代码的可读性和可维护进行修改。常量的使用有助于改进代码的可读性和可维护性。性。VB从入门到实践从入门到实践2.4.1 2.4.1 标准常量标准常量Visual Basic为应用程序开发提供了许多标准常量。例如,颜为应用程序开发提供了许多标准常量。例如,颜色定义常量、关键代码常量等可以在开发过程直接引用。色定义常量、关键代码常量等可以在开发过程直接引用。例如,例如,vbBlack在在Visual Basic定义为黑色,定义为黑色,vbWhite为白为白色、色、vbBlue为蓝色。用户可以在程序开发中直接使用该常为蓝色。用户可以在程序开发中直接使用该常量。量。Form1.backcolor=vbBlack窗体背景颜色赋予黑色Form1.Forecolor=vbWhite窗体前景色赋予白色VB从入门到实践从入门到实践2.4.1 2.4.1 标准常量标准常量VB从入门到实践从入门到实践2.4.2 2.4.2 自定义常量自定义常量虽然虽然Visual Basic中为开发人员提供了大量标准常量,根据应中为开发人员提供了大量标准常量,根据应用程序开发需要使用自定义常量。自定义常量使用用程序开发需要使用自定义常量。自定义常量使用Const语句进行定义,赋予常量名称和数值。语句进行定义,赋予常量名称和数值。Public|Private const varName as consttype=valueVB从入门到实践从入门到实践2.5 2.5 本章实例本章实例本章实例实现显式声明、隐式声明变量、声明静态变量、声本章实例实现显式声明、隐式声明变量、声明静态变量、声明常量。明常量。【实例实例2-1】将使用将使用Visual Basic程序创建一个新程序创建一个新工程,添加一个新窗体,在代码编辑窗口中输入代码要求工程,添加一个新窗体,在代码编辑窗口中输入代码要求强制显式声明变量,并在代码中赋予显式声明变量、隐式强制显式声明变量,并在代码中赋予显式声明变量、隐式声明变量和自定义常量内容。声明变量和自定义常量内容。VB从入门到实践从入门到实践2.6 2.6 常见问题及解答常见问题及解答1既然变体型变量可以包含所有类型数值,是否可以将变既然变体型变量可以包含所有类型数值,是否可以将变量直接声明为变体型?量直接声明为变体型?2数值型变量包含多种不同类型。声明何种类型将更高效数值型变量包含多种不同类型。声明何种类型将更高效率在程序中使用数值型变量?率在程序中使用数值型变量?3字符型变量中的数字是否可以进行数学运算?字符型变量中的数字是否可以进行数学运算?VB从入门到实践从入门到实践2.7 2.7 小结小结本章介绍了本章介绍了Visual Basic中数据类型的定义、如何显示或隐式中数据类型的定义、如何显示或隐式声明变量和常量、变量和常量的定义及适用范围。本章重声明变量和常量、变量和常量的定义及适用范围。本章重点和难点包括如何定义和使用各种数据类型的变量、常量。点和难点包括如何定义和使用各种数据类型的变量、常量。变量包括多种数据类型,变量包括多种数据类型, Visual Basic中自定义常量数量中自定义常量数量庞大不易于记忆和开发使用。读者需要在开发过程中结合庞大不易于记忆和开发使用。读者需要在开发过程中结合实例声明变量和常量。下一章将介绍程序设计基础。实例声明变量和常量。下一章将介绍程序设计基础。VB从入门到实践从入门到实践第第3 3章章 程序设计基础程序设计基础程序设计基础为程序设计所必需的基础知识。这部分内容主程序设计基础为程序设计所必需的基础知识。这部分内容主要包括赋值语句、数学运算语句、代码编写、流程控制等。要包括赋值语句、数学运算语句、代码编写、流程控制等。创建用户界面形成应用程序的外表和框架,还需要为应用创建用户界面形成应用程序的外表和框架,还需要为应用程序添加代码。本章内容包括:程序添加代码。本章内容包括:l赋值语句赋值语句l数学运算语句数学运算语句l代码模块代码模块l编写事件编写事件VB从入门到实践从入门到实践3.1 3.1 赋值语句赋值语句赋值,顾名思义是将字符、数值等赋予变量。在程序开发过赋值,顾名思义是将字符、数值等赋予变量。在程序开发过程中,创建一个变量后,必须通过设置一个等号赋予变量程中,创建一个变量后,必须通过设置一个等号赋予变量数值。数值。Let varName = ExpressionVB从入门到实践从入门到实践3.2 3.2 数学运算语句数学运算语句数学运算运算符号加法+减法-乘法*除法/整除求模运算Mod指数运算(TxtTax+100)*1.089/69VB从入门到实践从入门到实践3.2.1 3.2.1 加法和减法加法和减法1加法运算加法运算Result = Expression1+ Expression22减法运算减法运算Result = Number1 - Number2 VB从入门到实践从入门到实践3.2.2 3.2.2 乘法和除法乘法和除法1乘法运算乘法运算Result = Number1*Number22除法运算除法运算Result = Number1/Number2Result = Number1Number2Result = Number1 Mod Number2VB从入门到实践从入门到实践3.2.3 指数运算指数运算Visual Basic中指数运算符是符号中指数运算符是符号“”,用来求一个数字的,用来求一个数字的次方。次方。Result = NumberExponentVB从入门到实践从入门到实践3.2.4 3.2.4 比较运算符比较运算符比较运算符用来比较两个操作数的大小。比较运算符运算结果是一比较运算符用来比较两个操作数的大小。比较运算符运算结果是一个逻辑值个逻辑值True或或False。运算符比较表达式=相等X=Y不相等XY小于X大于XY=小于等于X=大于等于X=YVB从入门到实践从入门到实践3.2.5 3.2.5 逻辑运算符逻辑运算符逻辑运算又被称为布尔运算。逻辑运算符要求两个操作数都为逻辑值。逻辑运算又被称为布尔运算。逻辑运算符要求两个操作数都为逻辑值。逻辑中文说明表达式Not非“取反”运算。True取反值为False,False取反为True。NotXAnd与当左右操作数都为True时,结果为True,否则为False。XandYOr或左右操作数只要一个为True,结果为True。只有两个操作数的值都为False时,运算结果为False。XorYXor异或左右操作数相等都为True或False,结果为False;否则为True。XXorYEqv等价左右操作数相等都为True或False,结果为True;否则为False。XeqvYImp蕴含左操作数为True,右操作数为False,结果为False。其余三种为True。XimpYVB从入门到实践从入门到实践3.2.6 3.2.6 运算顺序运算顺序算术比较逻辑指数运算()相等(=)Not负数()不等()And乘法和除法(*、/)小于()Xor求模运算(Mod)小于或相等(=)Imp字符串连接(&)VB从入门到实践从入门到实践3.3 3.3 代码模块代码模块Visual Basic的程序代码存储在代码模块中。代码模块包括三的程序代码存储在代码模块中。代码模块包括三种类型:窗体模块、标准模块和类模块。以上三种模块都种类型:窗体模块、标准模块和类模块。以上三种模块都可以包含作用域不同的声明段和过程。本小节分别介绍窗可以包含作用域不同的声明段和过程。本小节分别介绍窗体模块、标准模块和类模块。体模块、标准模块和类模块。VB从入门到实践从入门到实践3.3.1 3.3.1 窗体模块窗体模块在在Visual Basic开发程序过程中,最简单的应用程序只包含一开发程序过程中,最简单的应用程序只包含一个窗体,应用程序的所有代码都保存在窗体模块中。窗体个窗体,应用程序的所有代码都保存在窗体模块中。窗体模块(后缀模块(后缀frm)是大多数是大多数Visual Basic应用程序的基础。应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。常数、类型和外部过程的窗体级声明。VB从入门到实践从入门到实践3.3.2 3.3.2 标准模块标准模块标准模块(后缀标准模块(后缀bas)在应用程序中保存其他模块访问的全在应用程序中保存其他模块访问的全局过程、函数、声明。当开发的应用程序相对庞大复杂时,局过程、函数、声明。当开发的应用程序相对庞大复杂时,在不同窗体中包含相同的可执行的公共代码。可在标准模在不同窗体中包含相同的可执行的公共代码。可在标准模块中编写该公共代码并允许被其他窗体或模块调用。块中编写该公共代码并允许被其他窗体或模块调用。VB从入门到实践从入门到实践3.3.3 3.3.3 类模块类模块Visual Basic中类模块(后缀中类模块(后缀cls)是面向对象编程的基础。是面向对象编程的基础。开发时可以在类模块中编写代码建立新对象。该新对象可开发时可以在类模块中编写代码建立新对象。该新对象可以包含自定义的属性和方法。实际上窗体正是这样一种类以包含自定义的属性和方法。实际上窗体正是这样一种类模块,可显示为内置其他控件的窗体。模块,可显示为内置其他控件的窗体。VB从入门到实践从入门到实践3.4 3.4 事件简介事件简介事件是一种响应指定时间被特定对象(窗体或控件等)识别事件是一种响应指定时间被特定对象(窗体或控件等)识别并执行的操作。开发人员可以在事件过程中编写特定程序并执行的操作。开发人员可以在事件过程中编写特定程序代码,事件一旦发生就会被执行。每个对象都包括一组事代码,事件一旦发生就会被执行。每个对象都包括一组事件集合。本节将介绍如何编写和调用事件过程。件集合。本节将介绍如何编写和调用事件过程。VB从入门到实践从入门到实践3.4.1 3.4.1 编写事件过程编写事件过程事件说明Change用户更改文本信息时引发Click用户单击鼠标时引发(一般为鼠标左键)Dblclick用户双击鼠标时引发Gotfocus对象获得焦点时引发Lostfocus对象失去焦点时引发Keypress焦点对象按键并松开引发KeyDown焦点对象按键引发Keyup焦点对象松开引发MouseDown鼠标在对象上按下鼠标按钮引发Mouseup鼠标在对象上松开鼠标按钮引发Mousemove鼠标在对象上移动时引发VB从入门到实践从入门到实践3.4.2 3.4.2 调用事件过程调用事件过程应用程序开发时需要编写和调用许多过程。事件过程是由应用程序开发时需要编写和调用许多过程。事件过程是由Visual Basic调用自身的特殊过程。与普通过程调用相同,调用自身的特殊过程。与普通过程调用相同,需要在不同时段中运行相同事件过程。只要调用事件过程需要在不同时段中运行相同事件过程。只要调用事件过程名称正确,就可以在多处运行该事件过程。名称正确,就可以在多处运行该事件过程。Private Sub Command1_Click() MsgBox 当前日期为: & DateEnd SubPrivate Sub Form_Load() Call Command1_ClickEnd SubVB从入门到实践从入门到实践3.5 3.5 编辑代码编辑代码本节介绍如何编写代码,包括合并多个代码行、添加注释以本节介绍如何编写代码,包括合并多个代码行、添加注释以及及Visual Basic命名约定。命名约定。VB从入门到实践从入门到实践3.5.1 3.5.1 单行语句分成多行单行语句分成多行复杂应用程序代码编写过程中会遇到非常长的字符串。为了复杂应用程序代码编写过程中会遇到非常长的字符串。为了更好的编写代码,可以使用续行符(一个空格和一个下划更好的编写代码,可以使用续行符(一个空格和一个下划线)将一段长语句分成多行。使用续行符使代码易于阅读线)将一段长语句分成多行。使用续行符使代码易于阅读和编写。和编写。Data1.recordsource= &_“Select * from title_company” &_ “where titleName=salary” &_ ”and company=skyrising”VB从入门到实践从入门到实践3.5.2 3.5.2 多行语句合并一行多行语句合并一行一般情况下,一般情况下,Visual Basic一行只有一条语句。但是可以将两一行只有一条语句。但是可以将两条或多条短语句合并到一行,中间需要用冒号(条或多条短语句合并到一行,中间需要用冒号(:)将其)将其分开。分开。nRed=38:ngreen=36:nblue=128:nmycolor= nRed + ngreen + nblue VB从入门到实践从入门到实践3.5.3 3.5.3 添加注释添加注释优秀的程序员都具有在关键步骤下添加注释的好习惯。添加优秀的程序员都具有在关键步骤下添加注释的好习惯。添加注释需要在注释需要在Visual Basic一条语句的最后添加注释符(一条语句的最后添加注释符()或关键字或关键字Rem。注释符在程序运行时会通知注释符在程序运行时会通知Visual Basic自动忽略注释符之后的语句。这样便于日后检查修改程序。自动忽略注释符之后的语句。这样便于日后检查修改程序。这是第一条注释内容,以后将会有大量注释添加Rem 这是用rem添加注释内容Msgbox “添加注释是一个良好的习惯”VB从入门到实践从入门到实践3.5.4 3.5.4 命名约定命名约定在编写在编写Visual Basic代码时,分别要给变量、常量、函数、过代码时,分别要给变量、常量、函数、过程命名。在声明变量、常量、函数、过程时必须遵守以下程命名。在声明变量、常量、函数、过程时必须遵守以下命名规定:命名规定:l命名必须以字母开头。命名必须以字母开头。l命名不可以超过命名不可以超过255个字符。个字符。l命名不可以包含特殊符号。命名不可以包含特殊符号。l命名不可以和默认关键字同名。命名不可以和默认关键字同名。VB从入门到实践从入门到实践3.6 3.6 本章实例本章实例本节主要鼠标移动时显示横坐标和纵坐标的差值。本节主要鼠标移动时显示横坐标和纵坐标的差值。【实例实例3-1】编写窗体编写窗体Mousemove事件,显示鼠标横坐标和纵坐标事件,显示鼠标横坐标和纵坐标的差值。的差值。VB从入门到实践从入门到实践3.7 3.7 常见问题及解答常见问题及解答1是否可以使用是否可以使用Name、Dim等与关键字同名赋予变量、函等与关键字同名赋予变量、函数等?数等?2添加注释是否增加程序大小、影响程序运行效率?添加注释是否增加程序大小、影响程序运行效率?3编写程序代码时,经常出现提示编写程序代码时,经常出现提示“编译错误,缺少标识编译错误,缺少标识符符”?VB从入门到实践从入门到实践3.8 3.8 小结小结本章主要介绍了本章主要介绍了Visula Basic中赋值语句、数学运算语句、代中赋值语句、数学运算语句、代码模块、编写事件、编辑代码、添加注释的使用方法。本码模块、编写事件、编辑代码、添加注释的使用方法。本章重点难点是比较运算符和逻辑运算符的使用。以上两种章重点难点是比较运算符和逻辑运算符的使用。以上两种运算符逻辑复杂、不易于掌握。读者需要结合实例源码进运算符逻辑复杂、不易于掌握。读者需要结合实例源码进行分析学习。行分析学习。VB从入门到实践从入门到实践第第4 4章章 流程控制流程控制流程控制是流程控制是Visual Basic应用程序开发中对特定条件进行分析、应用程序开发中对特定条件进行分析、比较、判断,主要包括判断语句和循环语句。判断语句为比较、判断,主要包括判断语句和循环语句。判断语句为根据不同的判断结果进行不同的操作。循环语句可以进行根据不同的判断结果进行不同的操作。循环语句可以进行多次数学运算。本章内容包括:多次数学运算。本章内容包括:l判断语句。判断语句。l循环语句。循环语句。VB从入门到实践从入门到实践4.1 4.1 判断语句判断语句判断语句在复杂应用程序流程控制中具有重要作用。程序中判断语句在复杂应用程序流程控制中具有重要作用。程序中如果不添加判断语句,程序将从第一行代码开始运行,直如果不添加判断语句,程序将从第一行代码开始运行,直至最后一行程序终止,无法响应用户的操作。判断语句可至最后一行程序终止,无法响应用户的操作。判断语句可根据所给的条件控制程序流程,只运行其中特定程序代码。根据所给的条件控制程序流程,只运行其中特定程序代码。判断语句包括判断语句包括If语句和语句和Select Case语句。语句。VB从入门到实践从入门到实践4.1.1 If4.1.1 If语句语句应用程序中可能只需要运行某个符合条件的语句。应用程序中可能只需要运行某个符合条件的语句。If语句根语句根据表达式的结果选择执行一段代码。标准语法有单行语句据表达式的结果选择执行一段代码。标准语法有单行语句和多行语句两种形式。和多行语句两种形式。If condition Then statementsElse ElsestatementsIf condition Then statementsElse ElsestatementsEnd IfVB从入门到实践从入门到实践4.1.2 4.1.2 多重多重IfIf语句语句Visual Basic还支持多重还支持多重If语句,对多个条件进行判断执行指语句,对多个条件进行判断执行指定代码。定代码。If condition Then statementsElseIf condition-n Then ElseIfstatementsElse ElsestatementsEnd IfVB从入门到实践从入门到实践4.1.3 Select Case4.1.3 Select Case语句语句判断语句另一个重要方法是使用判断语句另一个重要方法是使用Select Case语句。根据运算语句。根据运算表达式的条件结果,允许有条件执行多个代码段中的指定表达式的条件结果,允许有条件执行多个代码段中的指定段。对于多重段。对于多重If语句,使用语句,使用Select Case语句相对更加富有语句相对更加富有可读性。可读性。Select Case testExpression Case Expressionlist1 statementblock-1 Case Expressionlist2 statementblock-2 . Case Else statementblock-nEnd SelectVB从入门到实践从入门到实践4.2 4.2 循环语句循环语句流程控制的重要方法之一是循环语句。循环语句主要在程序流程控制的重要方法之一是循环语句。循环语句主要在程序中重复运行特定任务。中重复运行特定任务。Visual Basic开发程序中主要包括开发程序中主要包括计数循环、条件循环、枚举循环。本节主要讲述计数循环、条件循环、枚举循环。本节主要讲述For循环循环(计数循环)、(计数循环)、Do和和While循环(条件循环)、循环(条件循环)、For-each循环(枚举循环)。循环(枚举循环)。VB从入门到实践从入门到实践4.2.1 For4.2.1 For循环循环Viusal Basic语言中使用语言中使用For循环主要用来进行计数。循环主要用来进行计数。For循循环又可以称为环又可以称为For-Next循环,主要采用循环,主要采用For关键字和关键字和Next关键字。关键字。For Counter = Start To End Step step statements Exit For statementsNext counterVB从入门到实践从入门到实践4.2.2 Do4.2.2 Do循环循环For循环通过步长计数来运行程序。在特定条件下运行特定循环通过步长计数来运行程序。在特定条件下运行特定代码,需要用到代码,需要用到Do循环和下节的循环和下节的While循环循环。Do循环通过循环通过判断表达式条件是判断表达式条件是True还是还是False来确定是否结束循环。来确定是否结束循环。Do While|Until condition statements Exit Do statementsLoopVB从入门到实践从入门到实践4.2.3 While4.2.3 While循环循环在在Visual Basic应用程序开发中,经常可以看到类似应用程序开发中,经常可以看到类似While-WEnd这样的循环语句。这种循环是早期版本遗留下来的,这样的循环语句。这种循环是早期版本遗留下来的,高版本的高版本的Visual Basic中依然支持此用法。但是,笔者推中依然支持此用法。但是,笔者推荐使用前两种循环。荐使用前两种循环。While condition statementsWEndVB从入门到实践从入门到实践4.2.4 4.2.4 枚举循环枚举循环枚举循环又被称为枚举循环又被称为For-each-next循环。与循环。与For-next循环语句循环语句略有不同,它将数组或对象集合中的对象重复执行一段代略有不同,它将数组或对象集合中的对象重复执行一段代码,并不是重复执行一定次数相同代码。码,并不是重复执行一定次数相同代码。For-each-next循循环语句对不知数目的相同对象进行操作时具有明显优点。环语句对不知数目的相同对象进行操作时具有明显优点。For Each element In group statements Exit For statementsNext elementVB从入门到实践从入门到实践4.3 4.3 本章实例本章实例本章实例实现单行本章实例实现单行If语句、多重语句、多重If语句判断工资范围计算税语句判断工资范围计算税款、款、Select Case语句判断不同职务人员工资和显示学生成语句判断不同职务人员工资和显示学生成绩、绩、For循环显示高斯运算总和、循环显示高斯运算总和、Do循环显示循环显示5行行#号、枚号、枚举循环显示打印机设备名称。举循环显示打印机设备名称。【实例实例4-1】演示单行演示单行If语语句的使用。句的使用。VB从入门到实践从入门到实践4.4 4.4 常见问题及解答常见问题及解答1是否可以使用多重是否可以使用多重If语句代替语句代替Select Case语句?语句?2运行包括循环语句的程序时系统没有任何反映?运行包括循环语句的程序时系统没有任何反映?3For循环与循环与Do循环、循环、While循环有什么区别?循环有什么区别?VB从入门到实践从入门到实践4.5 4.5 小结小结本章主要介绍了判断语句和循环语句的定义,主要包括本章主要介绍了判断语句和循环语句的定义,主要包括If语语句和句和Select Case语句、语句、For循环、循环、Do循环、循环、While循环、循环、枚举循环的语法知识,以及如何根据应用程序需要使用判枚举循环的语法知识,以及如何根据应用程序需要使用判断和循环语句。其中,循环语句循环过程难于控制,需要断和循环语句。其中,循环语句循环过程难于控制,需要结合实例多加分析和实践。结合实例多加分析和实践。VB从入门到实践从入门到实践第第5 5章章 过程和函数过程和函数过程和函数就是在程序中可以被重复使用的代码。当应用程过程和函数就是在程序中可以被重复使用的代码。当应用程序比较复杂时,开发人员可能需要在程序多处使用相同的序比较复杂时,开发人员可能需要在程序多处使用相同的代码。在代码。在Visual Basic应用程序开发中,重要任务之一就应用程序开发中,重要任务之一就是创建可重复使用的代码。本章内容包括:是创建可重复使用的代码。本章内容包括:l过程过程l函数函数VB从入门到实践从入门到实践5.1 5.1 过程过程过程就是在应用程序可以被多次重复使用的代码段。使用过过程就是在应用程序可以被多次重复使用的代码段。使用过程具有以下优点:复杂任务分解成多个简单代码段;易于程具有以下优点:复杂任务分解成多个简单代码段;易于读写,具有较强的可读性和可维护性。前面章节介绍的事读写,具有较强的可读性和可维护性。前面章节介绍的事件过程就是件过程就是Visual Basci定义过程的一种。本节介绍的过定义过程的一种。本节介绍的过程是用户创建的自定义过程。程是用户创建的自定义过程。VB从入门到实践从入门到实践5.1.1 Sub5.1.1 Sub过程概述过程概述Sub过程是可以被重复执行的无返回值的代码段。过程是可以被重复执行的无返回值的代码段。Private | Public Static Sub Name (Arglist) statements Exit Sub statementsEnd SubVB从入门到实践从入门到实践5.1.2 5.1.2 添加添加SubSub过程过程添加添加Sub过程有第一种方法:过程有第一种方法:VB从入门到实践从入门到实践5.1.2 5.1.2 添加添加SubSub过程过程添加添加Sub过程有第二种方法。过程有第二种方法。Sub showmsg()End SubVB从入门到实践从入门到实践5.1.3 5.1.3 调用调用SubSub过程过程调用调用Sub过程主要使用过程主要使用Call语句或过程名语句或过程名+参数形式调用。参数形式调用。Call SubName ArglistSubName ArglistVB从入门到实践从入门到实践5.1.4 5.1.4 使用使用Sub MainSub Main1设置启动窗体设置启动窗体2无启动窗体时启动无启动窗体时启动VB从入门到实践从入门到实践5.1.5 5.1.5 确定过程作用域确定过程作用域1公共过程公共过程2局部过程局部过程3静态变量过程静态变量过程VB从入门到实践从入门到实践5.2 5.2 传递参数传递参数Visual Basic提供了非常灵活的传递参数方式,允许使用可选提供了非常灵活的传递参数方式,允许使用可选参数和可变参数,使用传值引用和传地址引用方法。参数和可变参数,使用传值引用和传地址引用方法。Optional ByVal | ByRef ParamArray varName( ) As type = defaultvalueVB从入门到实践从入门到实践5.2.1 5.2.1 可选参数和可变参数可选参数和可变参数1可选参数可选参数2可变参数可变参数VB从入门到实践从入门到实践5.2.2 5.2.2 传值引用和传地址引用传值引用和传地址引用1传值引用传值引用2传地址引用传地址引用Sub prog(byval a as integer) (添加代码)End SubSub prog(byref a as integer) (添加代码)End SubVB从入门到实践从入门到实践5.3 5.3 函数函数函数为编辑代码时可以被程序调用带有返回值的代码段。本函数为编辑代码时可以被程序调用带有返回值的代码段。本节将介绍函数定义和使用方法。节将介绍函数定义和使用方法。VB从入门到实践从入门到实践5.3.1 5.3.1 定义函数定义函数Function过程又被称为函数过程,与过程又被称为函数过程,与Visual Basic内置函数完内置函数完全相同。函数与子过程区别为,函数带有返回值,而子过全相同。函数与子过程区别为,函数带有返回值,而子过程没有返回值。程没有返回值。Public | Private | Static Function Name (Arglist) As type statements Name = ExpressionExit Function statementsName = ExpressionEnd FunctionVB从入门到实践从入门到实践5.3.2 5.3.2 确定函数作用域确定函数作用域1公共函数公共函数2局部函数局部函数3静态变量函数静态变量函数VB从入门到实践从入门到实践5.3.3 5.3.3 调用函数调用函数函数调用和过程调用基本相似,惟一不同之处在于函数可以函数调用和过程调用基本相似,惟一不同之处在于函数可以有返回值。如果无返回值,用有返回值。如果无返回值,用Call语句调用函数。语句调用函数。Call funName ArglistReturn=funName ArglistVB从入门到实践从入门到实践5.3.4 5.3.4 传递参数和返回值传递参数和返回值函数传递参数的方法与过程完全相同。不在此赘述。函数与函数传递参数的方法与过程完全相同。不在此赘述。函数与过程最重要的区别是函数有返回值。过程的数据类型决定过程最重要的区别是函数有返回值。过程的数据类型决定其返回值的数据类型。可以在其返回值的数据类型。可以在Arglist之后使用之后使用As关键字来关键字来指定函数返回值的数据类型。在指定函数返回值的数据类型。在Arglist中,可以使用中,可以使用As子子句来指定任何传给该过程的参数的数据类型。不但可以指句来指定任何传给该过程的参数的数据类型。不但可以指定为任何标准数据类型,还可以在定为任何标准数据类型,还可以在Arglist中指定中指定As Any来来禁止类型检查,从而允许将任意数据类型传递给该过程。禁止类型检查,从而允许将任意数据类型传递给该过程。VB从入门到实践从入门到实践5.4 5.4 本章实例本章实例本章实例创建过程、函数计算三个数平方之和、创建加密字本章实例创建过程、函数计算三个数平方之和、创建加密字符串。符串。【实例实例5-1】创建一个过程,计算三个数平方之和。创建一个过程,计算三个数平方之和。 图图5.4 运行窗体运行窗体 VB从入门到实践从入门到实践5.5 5.5 常见问题及解答常见问题及解答1过程或函数在窗体和模块有什么区别?过程或函数在窗体和模块有什么区别?2参数可以设计为可选参数和可变参数,是否可以多设计参数可以设计为可选参数和可变参数,是否可以多设计几个可选参数?几个可选参数?3如何使用传值引用和传地址引用?如何使用传值引用和传地址引用?VB从入门到实践从入门到实践5.6 5.6 小结小结本章主要介绍了过程和函数的定义以及如何根据应用程序的本章主要介绍了过程和函数的定义以及如何根据应用程序的需要调用过程和函数。本章重点难点包括:过程和函数如需要调用过程和函数。本章重点难点包括:过程和函数如何传递参数、函数如何返回值。其中,函数传递参数和返何传递参数、函数如何返回值。其中,函数传递参数和返回值结构复杂难于掌握。回值结构复杂难于掌握。VB从入门到实践从入门到实践第第6 6章章 数组数组数组是具有相同名字、不同下标的一组变量。使用数组可以数组是具有相同名字、不同下标的一组变量。使用数组可以缩短和简化程序,可以利用索引值设计循环,高效处理各缩短和简化程序,可以利用索引值设计循环,高效处理各种程序运行需要。数组包括固定大小的数组和动态数组。种程序运行需要。数组包括固定大小的数组和动态数组。本章内容包括:本章内容包括:l固定数组。固定数组。l动态数组。动态数组。VB从入门到实践从入门到实践6.1 6.1 固定数组固定数组固定数组顾名思义就是固定元素数量的数组。固定数组包括固定数组顾名思义就是固定元素数量的数组。固定数组包括一维数组和多维数组。固定数组中使用一个下标就能确定一维数组和多维数组。固定数组中使用一个下标就能确定数组元素在数组中的位置称为一维数组。具有两个或多个数组元素在数组中的位置称为一维数组。具有两个或多个下标的变量数组称为二维或多维数组。本节将介绍固定数下标的变量数组称为二维或多维数组。本节将介绍固定数组的定义和使用方法。组的定义和使用方法。VB从入门到实践从入门到实践6.1.1 6.1.1 声明数组声明数组数组和变量使用方法不完全相同。变量可以有隐式声明。数数组和变量使用方法不完全相同。变量可以有隐式声明。数组必须显式声明后使用。组必须显式声明后使用。Public|Dim|private|static arraryname(Num1 to Num2) as typeVB从入门到实践从入门到实践6.1.2 6.1.2 设定上下界设定上下界Visual Basic声明数组时,在数组名之后跟一个用括号括起来声明数组时,在数组名之后跟一个用括号括起来的上界。上界不得超过长整型的上界。上界不得超过长整型Long数据类型的范围(数据类型的范围(-2,147,483,648到到2,147,483,647)。默认下标下界为)。默认下标下界为0。如果。如果希望下标下界从希望下标下界从1开始,可以通过开始,可以通过Option Base语句来声明。语句来声明。该语句用来指定数组下标默认下界。该语句用来指定数组下标默认下界。Option base 1数组下界从1开始Dim Numbers (10) As Integer数组包含10个元素Dim Sums (20) As Double数组包含20个元素VB从入门到实践从入门到实践6.1.3 6.1.3 多维数组多维数组多维数组与一维数组相对应。多维数组在现实生活中具有很多维数组与一维数组相对应。多维数组在现实生活中具有很重要的意义。如屏幕坐标、三维动画数据的设定值等是典重要的意义。如屏幕坐标、三维动画数据的设定值等是典型的多维数组。声明多维数组与一维数组完全相同。型的多维数组。声明多维数组与一维数组完全相同。Dim matrix(9,9) as integerDim matrix(9,9,9) as integerVB从入门到实践从入门到实践6.2 6.2 动态数组动态数组动态数组可以在程序运行时动态改变数组大小。动态数组可以在程序运行时动态改变数组大小。Visual Basic应用程序开发中需要动态数组来保存多维数组数值。动态应用程序开发中需要动态数组来保存多维数组数值。动态数组具有灵活方便管理数组的能力。本节介绍动态数组定数组具有灵活方便管理数组的能力。本节介绍动态数组定义和使用方法。义和使用方法。VB从入门到实践从入门到实践6.2.1 6.2.1 创建动态数组创建动态数组声明动态数组和普通数组基本相同。根据不同关键字定义不声明动态数组和普通数组基本相同。根据不同关键字定义不同作用域范围。为数组赋予一个空维数表,将该数组声明同作用域范围。为数组赋予一个空维数表,将该数组声明为动态数组。为动态数组。Public|Private|Static|Dim arr()ReDim Preserve varname(subscripts) As typeVB从入门到实践从入门到实践6.2.2 6.2.2 使用动态数组使用动态数组动态数组使用动态数组使用ReDim关键字。每次使用关键字。每次使用ReDim关键字,以前关键字,以前数组内容全部自动清空。数组内容全部自动清空。声明数组Dim array_m()动态声明数组为二维数组ReDim array_m(3, 3)For i = 1 To 3For j = 1 To 3 计算表达式 array_m(i, j) = i * j Print 动态数组乘积为: & array_m(i, j) Next jNext iVB从入门到实践从入门到实践6.3 6.3 本章实例本章实例本章实例创建声明数组、多维数组、动态数组,说明如何计本章实例创建声明数组、多维数组、动态数组,说明如何计算数组最大值、二维数组运算表达式数值、动态数组运算算数组最大值、二维数组运算表达式数值、动态数组运算结果。结果。【实例实例6-1】计算数组最大值。计算数组最大值。 图图6.3 运行窗体运行窗体VB从入门到实践从入门到实践6.4 6.4 常见问题及解答常见问题及解答1数组数组num(9)中共计中共计9个数字是否正确?个数字是否正确?2动态数组可以在程序运行时改变数组大小,是否可以将动态数组可以在程序运行时改变数组大小,是否可以将数组全部声明为动态数组?数组全部声明为动态数组?3可以在声明动态数组时保存以前动态数组内容?可以在声明动态数组时保存以前动态数组内容?VB从入门到实践从入门到实践6.5 6.5 小结小结本章主要介绍了固定数组、动态数组的创建、使用方法。并本章主要介绍了固定数组、动态数组的创建、使用方法。并结合实例演示如何创建固定数组和动态数组。本章重点难结合实例演示如何创建固定数组和动态数组。本章重点难点包括:如何正确声明和使用动态数组。动态数组在编程点包括:如何正确声明和使用动态数组。动态数组在编程开发中使用方法复杂,需要结合实例多分析和实践。开发中使用方法复杂,需要结合实例多分析和实践。VB从入门到实践从入门到实践第第7 7章章 错误处理错误处理现在的现在的Windows应用程序都非常庞大和复杂,不可避免将出应用程序都非常庞大和复杂,不可避免将出现一些错误。当事情出现错误时应用程序如何响应是用户现一些错误。当事情出现错误时应用程序如何响应是用户程序设计非常重要的一部分。一个功能完善的应用程序应程序设计非常重要的一部分。一个功能完善的应用程序应该预料到错误可能出现并及时处理或提示用户。该预料到错误可能出现并及时处理或提示用户。Visual Basic不仅提供了功能强大的程序设计环境,也提供了一不仅提供了功能强大的程序设计环境,也提供了一个界面友好、简便实用的程序调试工具。本章内容包括:个界面友好、简便实用的程序调试工具。本章内容包括:l错误概述。错误概述。l错误捕获和处理。错误捕获和处理。l调试程序。调试程序。VB从入门到实践从入门到实践7.1 7.1 错误概述错误概述错误在应用程序开发和运行过程中表现多样。错误通常包括错误在应用程序开发和运行过程中表现多样。错误通常包括语法错误、运行错误、逻辑错误三种。本节将分别介绍三语法错误、运行错误、逻辑错误三种。本节将分别介绍三种错误不同的表现形式和处理方法。种错误不同的表现形式和处理方法。VB从入门到实践从入门到实践7.1.1 7.1.1 语法错误语法错误语法错误是初学编程者最常见的错误。通常是输入不正确的语法错误是初学编程者最常见的错误。通常是输入不正确的代码,包括错误地输入关键字、遗忘了标点符号或引用不代码,包括错误地输入关键字、遗忘了标点符号或引用不正确的数据结构。具有语法错误的程序不能正常运行,也正确的数据结构。具有语法错误的程序不能正常运行,也不能编译成可执行文件。通常不能编译成可执行文件。通常Visual Basic中包含中包含“自动自动语法检测语法检测”选项,可以发现大部分语法错误并提示改正。选项,可以发现大部分语法错误并提示改正。VB从入门到实践从入门到实践7.1.2 7.1.2 逻辑错误逻辑错误如果代码没有语法错误可以运行,但是运行结果与设计时完如果代码没有语法错误可以运行,但是运行结果与设计时完全不同。这样的代码中必然存在逻辑错误,如语法错误全不同。这样的代码中必然存在逻辑错误,如语法错误(陷入死循环)、符号错误(加法改为减法)、数值范围(陷入死循环)、符号错误(加法改为减法)、数值范围错误(设计数值为错误(设计数值为1至至100,运行时为,运行时为1至至99)等。程序逻)等。程序逻辑错误是最不容易发现的严重错误。大部分逻辑错误可以辑错误是最不容易发现的严重错误。大部分逻辑错误可以归结为数据错误、流程控制错误。归结为数据错误、流程控制错误。Dim n As Integer声明变量Dim s As IntegerN=1For n = 1 To 3for循环3次 s = s + n运算表达式Next nVB从入门到实践从入门到实践7.1.3 7.1.3 运行错误运行错误运行错误是在程序运行过程中发生的。有时语法没有错误,运行错误是在程序运行过程中发生的。有时语法没有错误,但但Visual Basic中却无法运行程序。例如,除法运算中,中却无法运行程序。例如,除法运算中,除数为除数为0;读取文件时,该文件不存在等。当出现运行错;读取文件时,该文件不存在等。当出现运行错误时,误时,Visual Basic会自动终止应用程序,并弹出错误信会自动终止应用程序,并弹出错误信息提示。息提示。VB从入门到实践从入门到实践7.2 7.2 错误捕获处理错误捕获处理优秀的应用程序应该具备较强的捕获和处理运行错误的能力。优秀的应用程序应该具备较强的捕获和处理运行错误的能力。硬件问题或用户错误操作都将引发错误并终止应用程序。硬件问题或用户错误操作都将引发错误并终止应用程序。错误捕获功能可以拦截错误并进行处理,进而可以避免硬错误捕获功能可以拦截错误并进行处理,进而可以避免硬件问题或用户操作错误。本节将介绍错误捕获和处理方法。件问题或用户操作错误。本节将介绍错误捕获和处理方法。VB从入门到实践从入门到实践7.2.1 7.2.1 错误捕获错误捕获Visual Basic中使用中使用On Error语句来进行错误捕获,当错误发语句来进行错误捕获,当错误发生,程序自动运行到处理错误的相关代码,予以解决错误生,程序自动运行到处理错误的相关代码,予以解决错误或提示用户可能需要的帮助。标准代码如下:或提示用户可能需要的帮助。标准代码如下:lOn Error GoTo line发生错误时,跳转到指定处理错误程发生错误时,跳转到指定处理错误程序代码。序代码。lOn Error Resume Next发生错误时,忽略错误行,继续执发生错误时,忽略错误行,继续执行下一语句。行下一语句。lOn Error GoTo 0发生错误时,不使用错误处理程序代码。发生错误时,不使用错误处理程序代码。VB从入门到实践从入门到实践7.2.2 7.2.2 错误处理错误处理在理想程序中,在理想程序中,Visual Basic过程根本不需要错误处理代码。过程根本不需要错误处理代码。但实际上硬件问题或用户操作都会造成运行时错误。没有但实际上硬件问题或用户操作都会造成运行时错误。没有错误捕获和处理的程序中,只能选择终止程序。但是优秀错误捕获和处理的程序中,只能选择终止程序。但是优秀的应用程序应该按以下方式处理错误:的应用程序应该按以下方式处理错误:(1)错误发生时,提示用户出错并退出子过程,程序有限)错误发生时,提示用户出错并退出子过程,程序有限的功能继续运行。的功能继续运行。(2)跳过错误语句,继续执行下一句。)跳过错误语句,继续执行下一句。(3)继续尝试纠正错误并重新运行该语句。)继续尝试纠正错误并重新运行该语句。VB从入门到实践从入门到实践7.3 7.3 调试程序调试程序Visual Basic集成开发环境可以分为三种模式:设计模式、执集成开发环境可以分为三种模式:设计模式、执行模式、中断模式。设计模式下可以进行程序的界面设计行模式、中断模式。设计模式下可以进行程序的界面设计和代码编写。执行模式运行程序,可以查阅代码,不允许和代码编写。执行模式运行程序,可以查阅代码,不允许更改程序。中断模式下程序处于挂起状态,可以阅读和修更改程序。中断模式下程序处于挂起状态,可以阅读和修改代码并进行调试程序。改代码并进行调试程序。VB从入门到实践从入门到实践7.3.1 7.3.1 单步调试单步调试单步调试包括三种调试方法:单步调试包括三种调试方法:(1)逐语句:单步调试当前过程和调用过程中代码。快捷)逐语句:单步调试当前过程和调用过程中代码。快捷键为键为F8。(2)逐过程:单步调试当前过程中的代码,不调试程序中逐过程:单步调试当前过程中的代码,不调试程序中其他代码。快捷键为其他代码。快捷键为Shift+F8。(3)跳出:一直运行到当前过程的结束。快捷键为跳出:一直运行到当前过程的结束。快捷键为Ctrl+Shift+F8。VB从入门到实践从入门到实践7.3.2 7.3.2 立即窗体立即窗体Visual Basic在开发中断点模式还提供了在开发中断点模式还提供了“立即立即”窗体显示运窗体显示运行结果。行结果。“立即立即”窗体允许中断模式下输入代码立即执行窗体允许中断模式下输入代码立即执行和显示运行结果。要显示和显示运行结果。要显示“立即立即”窗体,要保证在中断模窗体,要保证在中断模式下,单击式下,单击“视图视图”|“立即窗体立即窗体”命令或按键命令或按键Ctrl+G。VB从入门到实践从入门到实践7.3.3 7.3.3 监视窗体监视窗体Visual Basic开发过程中,需要时刻观察运行时程序变量值。开发过程中,需要时刻观察运行时程序变量值。当程序处于中断模式下,可以将鼠标指向代码窗体的变量当程序处于中断模式下,可以将鼠标指向代码窗体的变量悬停,将自动提示该变量值。如果为多个变量还可以通过悬停,将自动提示该变量值。如果为多个变量还可以通过监视窗体方法来观察变量值。监视窗体方法来观察变量值。VB从入门到实践从入门到实践7.4 7.4 本章实例本章实例本章实例包括捕获图片文件不存在错误、单步调试程序。本章实例包括捕获图片文件不存在错误、单步调试程序。【实例实例7-1】程序处理不存在图片文件错误。程序处理不存在图片文件错误。VB从入门到实践从入门到实践7.5 7.5 常见问题及解答常见问题及解答1如何让如何让Visual Basic自动检测语法错误?自动检测语法错误?2如何在程序中避免死循环?如何在程序中避免死循环?3既然既然On Error Resume Next语句可以忽略错误行,语句可以忽略错误行,VB从入门到实践从入门到实践7.6 7.6 小结小结本章主要介绍了错误的类型、捕获和处理错误以及如何调试本章主要介绍了错误的类型、捕获和处理错误以及如何调试程序。本章重点难点包括:错误捕获处理。程序运行时会程序。本章重点难点包括:错误捕获处理。程序运行时会产生不同类型异常错误,需要读者结合不同具体情况具体产生不同类型异常错误,需要读者结合不同具体情况具体分析和解决。下一章将介绍窗体的特性和创建方法。分析和解决。下一章将介绍窗体的特性和创建方法。VB从入门到实践从入门到实践第第8 8章章 窗体窗体窗体是窗体是Visual Basic开发应用程序中最重要控件之一。用户通开发应用程序中最重要控件之一。用户通过窗体及其所见控件与应用程序进行交互操作。窗体包括过窗体及其所见控件与应用程序进行交互操作。窗体包括单文档窗体(单文档窗体(SDI窗体)和多文档窗体(窗体)和多文档窗体(MDI窗体)。本窗体)。本章内容包括:章内容包括:l单文档窗体。单文档窗体。l多文档窗体。多文档窗体。VB从入门到实践从入门到实践8.1 SDI8.1 SDI窗体窗体窗体是应用程序界面的其他控件的最主要容器。窗体作为最窗体是应用程序界面的其他控件的最主要容器。窗体作为最直接交互界面,包含很多属性、方法、事件。本节将介绍直接交互界面,包含很多属性、方法、事件。本节将介绍单文档窗体(单文档窗体(SDI窗体)的设计和使用。窗体)的设计和使用。VB从入门到实践从入门到实践8.1.1 SDI8.1.1 SDI窗体简介窗体简介启动启动Visual Basic应用程序后,会显示一个默认的应用程序后,会显示一个默认的Visual Basic工程。一般包括一个标准窗体,其界面组成如图工程。一般包括一个标准窗体,其界面组成如图8.1所示。包括标题栏、标题、最小化按钮、最大化按钮、关所示。包括标题栏、标题、最小化按钮、最大化按钮、关闭按钮等。闭按钮等。VB从入门到实践从入门到实践8.1.2 8.1.2 公共属性公共属性Visual Basic中所有对象属性都不尽相同。但是部分属性是许中所有对象属性都不尽相同。但是部分属性是许多对象共有。多对象共有。 1Caption属性属性2Font属性属性3Backcolor和和Forecolor属性属性4Icon属性属性5Windowstate属性属性6Borderstyle属性属性Object.attribute=valueVB从入门到实践从入门到实践8.1.3 8.1.3 方法方法方法实际是内置于对象的程序函数。方法实际是内置于对象的程序函数。1Show方法方法2Hide方法方法3Setfocus方法方法4Refresh方法方法Object.actionVB从入门到实践从入门到实践8.1.4 8.1.4 事件事件1Load和和Unload事件事件2Click和和Dblclick3Activate和和DeactivateLoad frmappUnload frmappVB从入门到实践从入门到实践8.1.5 8.1.5 设置启动窗体设置启动窗体当程序为惟一窗体时,程序启动并自动执行。该窗体称为当程序为惟一窗体时,程序启动并自动执行。该窗体称为“启动窗体启动窗体”或或“启动对象启动对象”。当程序运行时,。当程序运行时,Visual Basic会将启动窗体加载到内存并显示直至程序结束。如会将启动窗体加载到内存并显示直至程序结束。如果程序包括多个窗体,必须将其中一个设为果程序包括多个窗体,必须将其中一个设为“启动窗体启动窗体”或在或在Main过程中设定。过程中设定。 VB从入门到实践从入门到实践8.1.6 SDI8.1.6 SDI窗体实例窗体实例本节创建本节创建SDI窗体示例窗体示例“关于窗体关于窗体”和窗体属性。和窗体属性。“关于窗关于窗体体”是是Windows应用程序中主要窗体,用以声明程序名称、应用程序中主要窗体,用以声明程序名称、版本、公司名称。版本、公司名称。VB从入门到实践从入门到实践8.2 MDI8.2 MDI窗体窗体Windows应用程序中应用程序中Office系列文件为最典型多文档窗体系列文件为最典型多文档窗体(MDI窗体)。多文档窗体允许在单个主窗体中包含多个窗体)。多文档窗体允许在单个主窗体中包含多个子窗体的应用程序。本节介绍如何创建和使用子窗体的应用程序。本节介绍如何创建和使用MDI窗体。窗体。VB从入门到实践从入门到实践8.2.1 MDI8.2.1 MDI窗体简介窗体简介多文档窗体(多文档窗体(MDI窗体)中父窗体是包含子窗体的主要窗体。窗体)中父窗体是包含子窗体的主要窗体。父窗体位于最外层,包含其内子窗体。其操作如最大化、父窗体位于最外层,包含其内子窗体。其操作如最大化、最小化、关闭将同步操作子窗体。最小化、关闭将同步操作子窗体。VB从入门到实践从入门到实践8.2.2 8.2.2 建立父窗体建立父窗体MDI窗体属性中有两个特别的窗体属性中有两个特别的属性属性Autoshowchildren和和Scrollbars属性。属性。Autoshowchildren属性决定属性决定了子窗体在加载时是否自了子窗体在加载时是否自动显示。如果该属性为默动显示。如果该属性为默认值,子窗体自动显示出认值,子窗体自动显示出来。来。Scrollbars属性决定了属性决定了父窗体在运行时是否需要父窗体在运行时是否需要滚动条。当该属性设置为滚动条。当该属性设置为默认值默认值True时,如果子窗时,如果子窗体延伸到父窗体外部,滚体延伸到父窗体外部,滚动条自动显示在父窗体上;动条自动显示在父窗体上;设为设为False时不显示滚动条。时不显示滚动条。VB从入门到实践从入门到实践8.2.3 8.2.3 建立子窗体建立子窗体子窗体建立相对简单一些。一个子窗体只需要将子窗体建立相对简单一些。一个子窗体只需要将MDIchild属属性设置为性设置为True即成为标准窗体。即成为标准窗体。VB从入门到实践从入门到实践8.2.4 MDI8.2.4 MDI窗体实例窗体实例本节创建包含一个本节创建包含一个TextBox控件和控件和CommandButton控件的控件的MDI窗体。窗体。VB从入门到实践从入门到实践8.3 8.3 本章实例本章实例【实例实例8-1】使用模板创建一个通用使用模板创建一个通用“登录对话框窗体登录对话框窗体”。 图图8.17 运行窗体运行窗体 VB从入门到实践从入门到实践8.4 8.4 常见问题及解答常见问题及解答1如何在运行时在窗体标题栏上显示程序名称?如何在运行时在窗体标题栏上显示程序名称?2如何更改窗体背景颜色?如何更改窗体背景颜色?3BorderStyle属性中的属性中的vbSizable和和vbFixedSingle有什么区有什么区别?别?VB从入门到实践从入门到实践8.5 8.5 小结小结本章主要介绍了本章主要介绍了SDI窗体的创建和使用方法、窗体的创建和使用方法、MDI窗体的创窗体的创建和使用方法。本章重点难点包括:建和使用方法。本章重点难点包括:SDI窗体主要属性、窗体主要属性、如何设定启动窗体。窗体属性非常多,需要熟练掌握各种如何设定启动窗体。窗体属性非常多,需要熟练掌握各种不同选项。启动窗体决定程序运行步骤。不同选项。启动窗体决定程序运行步骤。VB从入门到实践从入门到实践第第9 9章章 菜单和工具栏菜单和工具栏菜单和工具栏是应用程序最重要的组成部分之一。在菜单和工具栏是应用程序最重要的组成部分之一。在Windows环境下,几乎所有应用程序都是通过菜单和工具环境下,几乎所有应用程序都是通过菜单和工具栏实现操作,为用户提供运行命令的快捷方式。本章包括:栏实现操作,为用户提供运行命令的快捷方式。本章包括:l菜单栏菜单栏l弹出式菜单弹出式菜单l工具栏工具栏VB从入门到实践从入门到实践9.1 9.1 菜单栏菜单栏菜单是用户界面中的重要组成部分。在程序中加入菜单可以菜单是用户界面中的重要组成部分。在程序中加入菜单可以便于用户使用。用户对应用文档的许多操作命令都可以从便于用户使用。用户对应用文档的许多操作命令都可以从菜单开始。菜单开始。VB从入门到实践从入门到实践9.1.1 9.1.1 创建菜单创建菜单1菜单模板向导菜单模板向导 VB从入门到实践从入门到实践9.1.1 9.1.1 创建菜单创建菜单2菜单编辑器菜单编辑器VB从入门到实践从入门到实践9.1.2 9.1.2 修改菜单修改菜单 在应用程序开发中,开发人员可能需要定制或者修改编辑好在应用程序开发中,开发人员可能需要定制或者修改编辑好的菜单。用的菜单。用“菜单编辑器菜单编辑器”可以轻而易举完成修改任务。可以轻而易举完成修改任务。1分隔菜单项分隔菜单项VB从入门到实践从入门到实践9.1.2 9.1.2 修改菜单修改菜单 2设置访问键和快捷键设置访问键和快捷键 菜单项快捷键说明文件|新建Ctrl+N新建一个文件文件|打开Ctrl+O打开对话框,用户打开一个文件文件|保存Ctrl+S保存一个文件文件|打印Ctrl+P打印文件编辑|复制Ctrl+C复制编辑|粘贴Ctrl+V粘贴编辑|剪切Ctrl+X剪切VB从入门到实践从入门到实践9.1.3 9.1.3 多级菜单多级菜单技巧:技巧:Visual Basic允许菜单层级达到允许菜单层级达到6级,但在实际应用中级,但在实际应用中避免太多层级出现,应限制在避免太多层级出现,应限制在2-3级。级。VB从入门到实践从入门到实践9.1.4 9.1.4 编写代码编写代码1编写菜单执行代码编写菜单执行代码2代码编写菜单属性代码编写菜单属性VB从入门到实践从入门到实践9.1.5 9.1.5 菜单栏实例菜单栏实例1标准菜单标准菜单2多级菜单多级菜单VB从入门到实践从入门到实践9.2 9.2 弹出式菜单弹出式菜单弹出式菜单是独立于菜单栏显示在窗体上的浮动菜单。在窗弹出式菜单是独立于菜单栏显示在窗体上的浮动菜单。在窗体上显示的项目取决于鼠标右键指针所处位置。通常用于体上显示的项目取决于鼠标右键指针所处位置。通常用于对窗体中特定区域操作或选项进行操作,又被称为上下文对窗体中特定区域操作或选项进行操作,又被称为上下文菜单,具有使用方便、灵活性较强的特点。菜单,具有使用方便、灵活性较强的特点。VB从入门到实践从入门到实践9.2.1 9.2.1 创建弹出式菜单创建弹出式菜单 创建弹出式菜单与创建标准菜单方法相同,采用菜单模板或创建弹出式菜单与创建标准菜单方法相同,采用菜单模板或“菜单编辑器菜单编辑器”均可以创建弹出式菜单。注意弹出式菜单均可以创建弹出式菜单。注意弹出式菜单应隐藏起来,避免显示在菜单栏上。应隐藏起来,避免显示在菜单栏上。注意:隐藏菜单既可以为弹出式菜单,也可以称为标准菜单注意:隐藏菜单既可以为弹出式菜单,也可以称为标准菜单栏的一部分。栏的一部分。VB从入门到实践从入门到实践9.2.2 9.2.2 使用弹出式菜单使用弹出式菜单 弹出式菜单建立后,需要在特定条件下使其显示在窗体上。该方弹出式菜单建立后,需要在特定条件下使其显示在窗体上。该方法可以应用于窗体任何位置,但是多数情况下响应鼠标单击右键。法可以应用于窗体任何位置,但是多数情况下响应鼠标单击右键。Object.popupmenu menuName,Flags,X,Y,Boldcommand功能定位常量数值说明指定菜单位置VbPopupMenuLeftAlign0默认。X坐标定义该弹出式菜单的左边界VbPopupMenuCenterAlign4指定X坐标为中心VbPopupMenuRightAlign8X坐标定义该弹出式菜单的右边界定义菜单行为VbPopupMenuLeftButton0单击左键显示弹出式菜单VbPopupMenuRightButton8单击右键显示弹出式菜单VB从入门到实践从入门到实践9.2.3 9.2.3 弹出式菜单实例弹出式菜单实例 【示例示例9-13】创建弹出式菜单。创建弹出式菜单。VB从入门到实践从入门到实践9.3 9.3 工具栏工具栏工具栏(工具栏(Toolbox)通常包含对应应用程序菜单命令的按钮,通常包含对应应用程序菜单命令的按钮,进一步便捷应用程序命令的使用。工具栏采用图标按钮形进一步便捷应用程序命令的使用。工具栏采用图标按钮形式来显示相应的功能。本小节将介绍如何创建工具栏以及式来显示相应的功能。本小节将介绍如何创建工具栏以及编写程序响应工具栏事件。编写程序响应工具栏事件。VB从入门到实践从入门到实践9.3.1 9.3.1 工具栏简介工具栏简介 工具栏通常包含一些带有图标的按钮,通常与菜单命令相对工具栏通常包含一些带有图标的按钮,通常与菜单命令相对应,提供了快速访问应用程序常用功能的简便方法。应,提供了快速访问应用程序常用功能的简便方法。VB从入门到实践从入门到实践9.3.2 9.3.2 创建工具栏创建工具栏 创建工具栏需要多个控件:工具栏控件(创建工具栏需要多个控件:工具栏控件(Toolbox控件)和控件)和ImageList控件。控件。ImageList控件包括其他控件需要使用的控件包括其他控件需要使用的图片集(详见图片集(详见9.3.3小节添加图标)。小节添加图标)。VB从入门到实践从入门到实践9.3.3 9.3.3 添加图标添加图标 工具栏控件添加到窗体后,需要将要显示在工具栏上的图像工具栏控件添加到窗体后,需要将要显示在工具栏上的图像添加到添加到“图像列表图像列表”ImageList控件中。控件中。VB从入门到实践从入门到实践9.3.4 9.3.4 添加按钮添加按钮工具栏控件中添加按钮要在工具栏控件中添加按钮要在“工具栏工具栏”|“按钮按钮”选项卡中选项卡中设置,包括设置,包括“插入按钮插入按钮”、“删除按钮删除按钮”两个按钮和两个按钮和“标标题题”、“关键字关键字”、“样式样式”、“图像图像”等几个属性。等几个属性。VB从入门到实践从入门到实践9.3.5 9.3.5 编写代码编写代码通过以上小节所述步骤,已经创建一个完整通过以上小节所述步骤,已经创建一个完整“工具栏工具栏”框架。框架。必须为其添加代码执行功能。通过必须为其添加代码执行功能。通过“工具栏工具栏”自身自身ButtonClick事件可以为其编写代码。通过事件可以为其编写代码。通过“关键字关键字”属属性来判断按钮是否被单击。性来判断按钮是否被单击。(1)双击窗体上的)双击窗体上的“工具栏工具栏”控件,弹出代码编辑窗口。控件,弹出代码编辑窗口。(2)选择对象为)选择对象为“toolbar1”,过程为过程为“buttonClick”。输入需要运行代码。输入需要运行代码。(3)关闭代码编辑窗口。至此编写代码结束。)关闭代码编辑窗口。至此编写代码结束。VB从入门到实践从入门到实践9.3.6 9.3.6 自定义工具栏自定义工具栏工具栏控件允许用户按照自己的喜好定制工具栏。用户定制工具栏控件允许用户按照自己的喜好定制工具栏。用户定制工具栏必须设置工具栏必须设置Allowcustomize属性为属性为True,用户可以双用户可以双击工具栏访问自定义工具栏对话框。击工具栏访问自定义工具栏对话框。VB从入门到实践从入门到实践9.3.7 9.3.7 工具栏实例工具栏实例 【示例示例9-17】综合以上所述方法创建一个窗体实例,包括一综合以上所述方法创建一个窗体实例,包括一个标准菜单和标准工具栏。个标准菜单和标准工具栏。VB从入门到实践从入门到实践9.4 9.4 本章实例本章实例本章实例包括创建标准菜单、弹出式菜单、工具栏三项内容,本章实例包括创建标准菜单、弹出式菜单、工具栏三项内容,并编写运行代码控制菜单和工具栏显示。并编写运行代码控制菜单和工具栏显示。【实例实例9-1】使使用用“菜单编辑器菜单编辑器”创建一个标准菜单、工具栏、弹出式菜创建一个标准菜单、工具栏、弹出式菜单。单。 图图9.22 运行窗体运行窗体VB从入门到实践从入门到实践9.5 9.5 常见问题及解答常见问题及解答1设计菜单有没有简单快捷的方法?设计菜单有没有简单快捷的方法?2可以自由设置自定义快捷键?可以自由设置自定义快捷键?3Visual Basic中是否包含工具栏中常用图标?中是否包含工具栏中常用图标?VB从入门到实践从入门到实践9.6 9.6 小结小结本章介绍了菜单栏、弹出式菜单、工具栏的创建方法,以及本章介绍了菜单栏、弹出式菜单、工具栏的创建方法,以及如何编程实现运行代码功能。本章重点难点包括:如何为如何编程实现运行代码功能。本章重点难点包括:如何为菜单、工具栏编写代码。菜单、工具栏编写代码。Visual Basic程序中菜单和工具程序中菜单和工具栏是实现程序功能的重要组成部分,为菜单和工具栏编写栏是实现程序功能的重要组成部分,为菜单和工具栏编写代码需要结合实例多分析实践。代码需要结合实例多分析实践。VB从入门到实践从入门到实践第第1010章章 信息对话框信息对话框信息对话框用来显示或者接受信息的窗体。常见的信息对话信息对话框用来显示或者接受信息的窗体。常见的信息对话框包括显示信息和接受信息窗体。信息对话框一般模式化框包括显示信息和接受信息窗体。信息对话框一般模式化显示,用户必须选择或输入信息方可继续运行程序。本章显示,用户必须选择或输入信息方可继续运行程序。本章内容主要包括:内容主要包括:l显示信息对话框显示信息对话框l输入信息对话框输入信息对话框l内置信息对话框内置信息对话框l自定义对话框自定义对话框VB从入门到实践从入门到实践10.1 10.1 信息对话框简介信息对话框简介Visual Basic开发应用程序中重要组成部分是为用户显示信息开发应用程序中重要组成部分是为用户显示信息和接受信息。信息对话框将提供显示信息窗体和接受信息和接受信息。信息对话框将提供显示信息窗体和接受信息窗体。信息对话框是窗体。信息对话框是Visual Basic中内置标准对话框,使中内置标准对话框,使用方法与函数和过程类似。用方法与函数和过程类似。Msgbox “一个显示信息对话框”VB从入门到实践从入门到实践10.2 10.2 显示信息显示信息显示信息主要使用显示信息主要使用Msgbox函数。本节介绍函数。本节介绍Msgbox函数的用函数的用法。法。VB从入门到实践从入门到实践10.2.1 10.2.1 使用使用MsgboxMsgbox函数函数Msgbox函数在对话框中显示消息,等待用户单击按钮,并函数在对话框中显示消息,等待用户单击按钮,并返回一个整数值返回一个整数值Integer告诉程序用户所选择按钮。告诉程序用户所选择按钮。Msgbox(Prompt, Buttons , Title , Helpfile, ConText)VB从入门到实践从入门到实践10.2.2 10.2.2 从从MsgboxMsgbox函数返回值函数返回值Msgbox函数最重要作用是接受用户选择结果,将返回值赋予程序函数最重要作用是接受用户选择结果,将返回值赋予程序继续运行。带有返回值的继续运行。带有返回值的Msgbox函数与无返回值相比,参数必须函数与无返回值相比,参数必须用括号括起来。用括号括起来。常数值描述vbOK1OK确认信息vbCancel2Cancel取消vbAbort3Abort终止vbRetry4Retry重试vbIgnore5Ignore忽略vbYes6Yes是vbNo7No否VB从入门到实践从入门到实践10.2.3 10.2.3 MsgboxMsgbox函数实例函数实例Msgbox函数在函数在Visual Basic应用程序中是非常重要的信息函应用程序中是非常重要的信息函数。数。【示例示例10-4】窗体只包含一个窗体只包含一个CommandButton控件,控件,设置其设置其Caption属性为属性为“退出退出”。当单击该按钮时,调用。当单击该按钮时,调用Msgbox函数询问用户是否退出,如果用户选择函数询问用户是否退出,如果用户选择“是是”按按钮,退出程序;否则,显示钮,退出程序;否则,显示“程序继续运行程序继续运行”。If Msgbox(smsg, vbYesNo + vbQuestion, 退出提示) = vbYes Then End结束程序Else Msgbox 程序继续运行显示信息End IfVB从入门到实践从入门到实践10.3 10.3 输入信息输入信息在在Visual Basic中使用中使用InputBox函数显示提示信息,等待用户函数显示提示信息,等待用户输入文本信息或按下按钮,返回包含文本框内容的字符串。输入文本信息或按下按钮,返回包含文本框内容的字符串。VB从入门到实践从入门到实践10.3.1 10.3.1 使用使用InputboxInputbox函数函数使用使用Msgbox函数可以让用户选定指定结果。该函数只允许函数可以让用户选定指定结果。该函数只允许选择不允许更改。用户可能还需要输入信息以响应程序运选择不允许更改。用户可能还需要输入信息以响应程序运行,在行,在Visual Basic中可以使用中可以使用Inputbox函数。函数。Inputbox函数在信息对话框来中显示提示信息,等待用户输入正文函数在信息对话框来中显示提示信息,等待用户输入正文或按下按钮,返回包含文本框内容的字符串。或按下按钮,返回包含文本框内容的字符串。Inputbox(Prompt, Title , Default , Xpos , Ypos , Helpfile, ConText)VB从入门到实践从入门到实践10.3.2 10.3.2 从从InputboxInputbox函数返回值函数返回值信息对话框信息对话框Inputbox函数接受输入最多函数接受输入最多255个字符。当用户个字符。当用户选择选择“确定确定”按钮时,函数返回文本框的字符串;否则返按钮时,函数返回文本框的字符串;否则返回一个空字符串,忽略文本框内的内容。应用程序运行时回一个空字符串,忽略文本框内的内容。应用程序运行时接受接受Inputbox函数输入的数值,必须判断返回值是否为程函数输入的数值,必须判断返回值是否为程序所需数据。如果运行程序需要字符型数据,默认返回值序所需数据。如果运行程序需要字符型数据,默认返回值为字符串。为字符串。VB从入门到实践从入门到实践10.3.3 10.3.3 InputboxInputbox函数实例函数实例【示例示例10-7】程序窗体包含两个文本框和两个程序窗体包含两个文本框和两个CommandButton控件。一个文本框显示姓名,另一个文控件。一个文本框显示姓名,另一个文本框显示年龄。一个本框显示年龄。一个CommandButton控件显示控件显示Inputbox函数,输入函数,输入“姓名姓名”字符串显示在字符串显示在“姓名姓名”文本框。另一文本框。另一个个CommandButton控件显示控件显示Inputbox函数,输入函数,输入“年龄年龄”显示在显示在“年龄年龄”文本框。文本框。VB从入门到实践从入门到实践10.4 10.4 内置信息对话框内置信息对话框以上几节介绍了信息对话框以及如何使用显示信息和输入信以上几节介绍了信息对话框以及如何使用显示信息和输入信息对话框。本节介绍内置信息对话框息对话框。本节介绍内置信息对话框Microsoft CommonDialog控件。该控件可以使用控件。该控件可以使用Windows用户所熟用户所熟悉的通用对话框。悉的通用对话框。Visual Basic开发中易于创建和使用通开发中易于创建和使用通用对话框。用对话框。VB从入门到实践从入门到实践10.4.1 10.4.1 使用使用CommonDialogCommonDialog控件控件内置信息对话框内置信息对话框CommonDialog控件可以访问以下控件可以访问以下Windows标准对话框:标准对话框:l打开打开Open对话框:允许用户选取指定文件的名称和位置。对话框:允许用户选取指定文件的名称和位置。l保存保存Save对话框:允许用户指定用来保存内容的文件名和对话框:允许用户指定用来保存内容的文件名和路径。路径。l字体字体Font对话框:允许用户选取系统字体并设置其属性。对话框:允许用户选取系统字体并设置其属性。l颜色颜色Color对话框:允许用户在程序中选取标准颜色或指对话框:允许用户在程序中选取标准颜色或指定颜色。定颜色。l打印打印Print对话框:允许用户选取打印机并设置参数。对话框:允许用户选取打印机并设置参数。l帮助帮助help对话框:使用对话框:使用Windows帮助文件。帮助文件。VB从入门到实践从入门到实践10.4.1 10.4.1 使用使用CommonDialogCommonDialog控件控件VB从入门到实践从入门到实践10.4.2 10.4.2 文件文件FileFile对话框对话框1使用文件对话框使用文件对话框2“打开打开”和和“保存保存”对话框对话框3主要属性主要属性object.Filter = dEscription1 |filter1 |dEscription2 |filter2.VB从入门到实践从入门到实践10.4.3 10.4.3 字体字体FontFont对话框对话框CommonDialog控件调用控件调用“字体字体”对话框将弹出一个显示当前字体对话框将弹出一个显示当前字体属性的对话框,允许返回用户选择的字体属性。属性的对话框,允许返回用户选择的字体属性。字体设置数值常量屏幕字体1cdlCFScreenFonts打印机字体2cdlCFPrinterFonts二者都设置3cdlCFBothVB从入门到实践从入门到实践10.4.3 10.4.3 字体字体FontFont对话框对话框属性解释说明Color颜色返回选定字体的颜色。如要使用这个属性,必须先将Flags属性设置为cdlCFEffects。FontBold粗体返回是否选定了粗体。FontItalic斜体返回是否选定了斜体。FontStrikethru删除线返回是否选定删除线。如要使用这个属性,必须先将Flags属性设置为cdlCFEffects。FontUnderline下划线返回是否选定下划线。如要使用这个属性,必须先将Flags属性设置为cdlCFEffects。FontName字体名称返回选定字体的名称。FontSize字体大小返回选定字体的大小。VB从入门到实践从入门到实践10.4.4 10.4.4 颜色颜色ColorColor对话框对话框通过使用通过使用CommonDialog控件的控件的ShowColor方法可显示方法可显示“颜色颜色”对话框。对话框。“颜色颜色”对话框用以从调色板选择颜色,或是生成和选择自定义颜色。对话框用以从调色板选择颜色,或是生成和选择自定义颜色。常数值说明cdlCCFullOpen&H2显示全部的对话框,包括定义自定义颜色部分。cdlCCShowHelpButton&H8使对话框显示帮助按钮。cdlCCPreventFullOpen&H4使定义自定义颜色按钮无效并防止定义自定义颜色。cdlCCRGBInit&H1为对话框设置初始颜色值。VB从入门到实践从入门到实践10.4.4 10.4.4 颜色颜色ColorColor对话框对话框常数值说明vbBlack&H0黑色vbRed&HFF红色vbGreen&HFF00绿色vbYellow&HFFFF黄色vbBlue&HFF0000兰色vbMagenta&HFF00FF洋红vbCyan&HFFFF00青色vbWhite&HFFFFFF白色VB从入门到实践从入门到实践10.4.5 10.4.5 打印打印PrintPrint对话框对话框通过使用通过使用CommonDialog控件的控件的ShowPrinter方法可显示方法可显示“打印打印”对话框。对话框。“打印打印”对话框可用以指定打印输出方式。可以指定被对话框可用以指定打印输出方式。可以指定被打印页的范围,打印质量,打印的份数等。该对话框还包含当前打印页的范围,打印质量,打印的份数等。该对话框还包含当前安装的打印机的信息,并允许配置或重新安装默认打印机。安装的打印机的信息,并允许配置或重新安装默认打印机。属性决定Copies打印的份数。FromPage开始打印页。ToPage结束打印页。hDC所选打印机的设备描述。VB从入门到实践从入门到实践10.4.6 10.4.6 帮助帮助HelpHelp对话框对话框CommonDialog控件的控件的ShowHelp方法可运行方法可运行Windows的帮助的帮助引擎引擎WINHELP.EXE,并显示并显示Helpfile属性设定的一个帮属性设定的一个帮助文件。该对话框必须设定帮助文件(助文件。该对话框必须设定帮助文件(hlp文件)的名称文件)的名称和位置。和位置。CommonDialog1.Helpfile = winhelp.hlp帮助文件名称CommonDialog1.HelpConText = 22帮助文本名称VB从入门到实践从入门到实践10.5 10.5 自定义对话框自定义对话框CommonDialog控件提供了程序中经常使用的内置对话框。控件提供了程序中经常使用的内置对话框。但是内置对话框功能不符合程序开发要求,用户可以在标但是内置对话框功能不符合程序开发要求,用户可以在标准窗体基础上自行开发自定义对话框使其符合程序的需要。准窗体基础上自行开发自定义对话框使其符合程序的需要。VB从入门到实践从入门到实践10.5.1 10.5.1 创建自定义对话框创建自定义对话框创建自定义对话框需遵循以下规则:创建自定义对话框需遵循以下规则:(1)窗体)窗体BorderStytle风格设置为风格设置为“3-fixed dialog”。(2)删除窗体删除窗体Icon属性,或自行设定属性,或自行设定Icon图标。图标。(3)窗体)窗体“StartupPosition”属性设置为属性设置为“1-centerowner”,该对话框处于父窗体的中心。该对话框处于父窗体的中心。(4)添加其他必要控件显示信息。)添加其他必要控件显示信息。(5)包含)包含“确定确定”和和“取消取消”按钮。按钮。用户可以参考其他用户可以参考其他Windows程序中默认对话框扩展思路设计程序中默认对话框扩展思路设计出更为合理的自定义对话框。出更为合理的自定义对话框。VB从入门到实践从入门到实践10.5.2 10.5.2 窗体模板创建对话框窗体模板创建对话框Visual Basic程序中可以使用窗体模板创建对话框。程序中可以使用窗体模板创建对话框。VB从入门到实践从入门到实践10.6 10.6 本章实例本章实例本章实例改变文本框文本字体、颜色、演示打印程序。本章实例改变文本框文本字体、颜色、演示打印程序。【实实例例10-1】改变文本框文本字体、颜色和演示打印实例。改变文本框文本字体、颜色和演示打印实例。VB从入门到实践从入门到实践10.7 10.7 常见问题及解答常见问题及解答1如何设计自定义对话框?如何设计自定义对话框?2Msgbox函数图标使用有区别吗?函数图标使用有区别吗?3如何解决如何解决Msgbox函数返回值数值难以记忆问题?函数返回值数值难以记忆问题?VB从入门到实践从入门到实践10.8 10.8 小结小结本章主要介绍了本章主要介绍了Visual Basic程序中显示信息程序中显示信息Msgbox函数、函数、接受信息接受信息Inputbox函数、内置信息对话框函数、内置信息对话框CommonDialog控件的常见用法及如何常见自定义对话框。本章重点难点控件的常见用法及如何常见自定义对话框。本章重点难点如下:如何使用各种参数调用内置信息对话框如下:如何使用各种参数调用内置信息对话框CommonDialog控件。信息对话框控件。信息对话框CommonDialog控件参控件参数众多难于掌握,需要结合实例分析和实践。数众多难于掌握,需要结合实例分析和实践。VB从入门到实践从入门到实践第第1111章章 标准控件标准控件控件是控件是Visual Basic开发应用程序中最重要的内容之一。每个开发应用程序中最重要的内容之一。每个控件都有自己的属性、事件和方法。本章内容包括:控件都有自己的属性、事件和方法。本章内容包括:l基本控件;基本控件;l显示图片控件;显示图片控件;l绘制图形控件;绘制图形控件;l复选框控件;复选框控件;l单选框控件;单选框控件;l选择信息控件;选择信息控件;l日期控件;日期控件;l数据显示控件;数据显示控件;l容器控件;容器控件;l状态进程控件。状态进程控件。VB从入门到实践从入门到实践11.1 11.1 基本控件基本控件本节涉及的三种控件在所有的本节涉及的三种控件在所有的Visual Basic应用程序中都必须应用程序中都必须用到。主要包括标签用到。主要包括标签Label控件、文本框控件、文本框TextBox控件、控件、CommandButtonbutton控件。本节将分别结合实例介绍控件。本节将分别结合实例介绍三种控件的属性、方法、事件。三种控件的属性、方法、事件。VB从入门到实践从入门到实践11.1.1 11.1.1 标签标签LabelLabel控件控件标签标签Label控件可以显示文本信息。该文本信息不允许被用控件可以显示文本信息。该文本信息不允许被用户直接更改。该控件主要用来标注没有户直接更改。该控件主要用来标注没有Caption属性的控属性的控件。例如,为文本框件。例如,为文本框TextBox控件添加描述性信息。尽管控件添加描述性信息。尽管Label控件不允许用户直接更改文本,但是允许开发人员控件不允许用户直接更改文本,但是允许开发人员用代码间接更改控件的文本信息、事件和属性。用代码间接更改控件的文本信息、事件和属性。1AutoSize属性属性2Wordwrap属性属性 VB从入门到实践从入门到实践11.1.2 11.1.2 文本框文本框TextBoxTextBox控件控件1多行文本多行文本2密码显示密码显示3锁定信息锁定信息4选择信息选择信息5有效输入有效输入6焦点事件焦点事件VB从入门到实践从入门到实践11.1.3 11.1.3 按钮按钮CommandButtonCommandButton控件控件1默认按钮默认按钮2取消按钮取消按钮3快捷键快捷键4提示信息提示信息5图形化按钮图形化按钮VB从入门到实践从入门到实践11.2 11.2 显示图片显示图片Visual Basic控件中常见的图形图像控件包括控件中常见的图形图像控件包括PictureBox控件控件和和Image控件、控件、ImageList控件。前二者都可以显示图片,控件。前二者都可以显示图片,区别在于区别在于Image控件占用内存小速度快但只能显示图像,控件占用内存小速度快但只能显示图像,PictureBox控件既可以作为图片容器又可以作为其他控件控件既可以作为图片容器又可以作为其他控件的容器。的容器。ImageList控件作为图形图像的容器控件,为其控件作为图形图像的容器控件,为其他控件提供相应需要的图片。他控件提供相应需要的图片。VB从入门到实践从入门到实践11.2.1 11.2.1 PictureBoxPictureBox控件控件1设计阶段添加图片设计阶段添加图片2程序运行添加图片程序运行添加图片LoadPicture(fileName, size, colordepth,x,y)VB从入门到实践从入门到实践11.2.2 Image11.2.2 Image控件控件Image控件占用内存小,速度快。在控件占用内存小,速度快。在PictureBox和和Image控件控件都可以满足需要情况下,优先使用都可以满足需要情况下,优先使用Image控件存储图片。控件存储图片。Image控件使用方法和属性、事件与控件使用方法和属性、事件与PictureBox控件完全控件完全相同。增加了相同。增加了Stretch属性,该属性允许改变图像的大小。属性,该属性允许改变图像的大小。该属性为该属性为False时,时,Image控件匹配图片尺寸;反之,图片控件匹配图片尺寸;反之,图片尺寸自动调整适应尺寸自动调整适应Image控件边界。控件边界。VB从入门到实践从入门到实践11.2.3 11.2.3 ImageListImageList控件控件ImageList控件为一个向其他控件提供图形图像的图片库控控件为一个向其他控件提供图形图像的图片库控件。件。ImageList控件包含控件包含ListImage对象集合。该集合中的对象集合。该集合中的每个对象都可以通过其索引或关键字被其他每个对象都可以通过其索引或关键字被其他Visual Basic公共控件引用,包括公共控件引用,包括ListView控件、控件、TreeView控件、控件、TabStrip控件和控件和Toolbar控件。控件。VB从入门到实践从入门到实践11.3 11.3 绘制简单图形绘制简单图形图形和图像可以让应用程序界面丰富美观。一个优秀的应用图形和图像可以让应用程序界面丰富美观。一个优秀的应用程序拥有漂亮的外观可以让客户感觉更专业。本节介绍程序拥有漂亮的外观可以让客户感觉更专业。本节介绍Visual Basic中的两种图形控件中的两种图形控件Shape控件和控件和Line控件。控件。VB从入门到实践从入门到实践11.3.1 Shape11.3.1 Shape控件控件 常数设置值说明VbShapeRectangle0(默认值)矩形VbShapeSquare1正方形VbShapeOval2椭圆形VbShapeOval3圆形VbShapeRoundedRectangle4圆角矩形VbShapeRoundedSquare5圆角正方形VB从入门到实践从入门到实践11.3.2 Line11.3.2 Line控件控件Line控件是显示水平线、垂直线或者对角线的图形控件。其主要控件是显示水平线、垂直线或者对角线的图形控件。其主要属性为属性为BorderStytle属性,包括很多固定常数。属性,包括很多固定常数。常数设置值描述vbTransParent0透明vbBSSolid1(默认值)实线。边框处于形状边缘的中心。vbBSDash2虚线vbBSDot3点线vbBSDashDot4点划线vbBSDashDotDot5双点划线vbBSInsideSolid6内收实线。边框的外边界就是形状的外边缘。VB从入门到实践从入门到实践11.3.2 Line11.3.2 Line控件控件VB从入门到实践从入门到实践11.4 11.4 CheckBoxCheckBox控件复选选项控件复选选项CheckBox控件主要用来表示从用户获得控件主要用来表示从用户获得“是是”或或“否否”信信息。如字体加粗选项为息。如字体加粗选项为“加粗加粗”或或“正常正常”是最典型的是最典型的CheckBox控件复选项数值。包括标准化和图形化两种形控件复选项数值。包括标准化和图形化两种形式显示。式显示。VB从入门到实践从入门到实践11.4.1 11.4.1 CheckBoxCheckBox控件标准用法控件标准用法复选复选CheckBox控件后,该控件将显示对号(控件后,该控件将显示对号();清除);清除CheckBox控件后,对号(控件后,对号()消失。该控件可用来提供消失。该控件可用来提供True、False或或Yes、No选项。主要属性为选项。主要属性为Value属性,包属性,包括括0-UnChecked、1-Checked、2-Grayed三种数值。三种数值。VB从入门到实践从入门到实践11.4.2 11.4.2 CheckBoxCheckBox控件图形化用法控件图形化用法CheckBox控件如果采用图形化显示复选项,必须设置控件如果采用图形化显示复选项,必须设置Stytle属性为属性为1-Graphical图形化(默认值为图形化(默认值为0-Standard标准化)。标准化)。Picture属性为清空复选图片。属性为清空复选图片。VB从入门到实践从入门到实践11.5 11.5 选项组选项组OptionButtonOptionButton控件控件选项组选项组OptionButton控件显示一个可以打开或者关闭的选项。控件显示一个可以打开或者关闭的选项。该控件以组的形式存在,每次只可以选择其中一项。包括该控件以组的形式存在,每次只可以选择其中一项。包括标准化和图形化两种形式显示。标准化和图形化两种形式显示。VB从入门到实践从入门到实践11.5.1 11.5.1 OptionButtonOptionButton控件标准用法控件标准用法在选项组在选项组OptionButton控件中,用控件中,用OptionButton显示选项,显示选项,用户只能选择其中的一项。在用户只能选择其中的一项。在Frame控件、控件、PictureBox控控件或者窗体这样的容器中绘制件或者窗体这样的容器中绘制OptionButton控件,就可以控件,就可以把这些控件分组。把这些控件分组。VB从入门到实践从入门到实践11.5.2 11.5.2 OptionButtonOptionButton控件图形化用法控件图形化用法选项组选项组OptionButton控件可以采用图形化形式显示。主要属控件可以采用图形化形式显示。主要属性性Stytle设置为设置为1-Graphical图形化方式。图形化方式。Picture属性为未属性为未选择图片,选择图片,DownPicture属性为选择图片,如图属性为选择图片,如图11.20所示。所示。Visual Basic程序中使用程序中使用OptionButton选项组中响应鼠标选项组中响应鼠标单击事件。单击事件。VB从入门到实践从入门到实践11.6 11.6 选择信息控件选择信息控件Visual Basic程序中可能需要用户选择固定信息。选择固定信程序中可能需要用户选择固定信息。选择固定信息可以使用组合框息可以使用组合框ComboBox控件和列表框控件和列表框ListBox控件。控件。本章介绍本章介绍ComboBox控件和列表框控件和列表框ListBox控件的用法。控件的用法。VB从入门到实践从入门到实践11.6.1 11.6.1 ListBoxListBox控件控件1增加条目增加条目object.Additem item, IndexVB从入门到实践从入门到实践11.6.1 11.6.1 ListBoxListBox控件控件2删除条目删除条目3清空条目清空条目4条目数目条目数目5条目排序条目排序object.ReMoveitem IndexList1.ClearList1.sorted=TrueVB从入门到实践从入门到实践11.6.1 11.6.1 ListBoxListBox控件控件6外观设置外观设置7多项选择多项选择VB从入门到实践从入门到实践11.6.2 11.6.2 ComboBoxComboBox控件控件组合框组合框ComboBox控件包括三种样式。控件包括三种样式。常数值说明VbComboDropDown0(默认值)下拉式组合框。包括一个下拉式列表和一个文本框。可以从列表选择或在文本框中输入。VbComboSimple1简单组合框。包括一个文本框和一个不能下拉的列表。可以从列表中选择或在文本框中输入。简单组合框的大小包括编辑和列表部分。VbComboDrop-DownList2下拉式列表。该样式仅允许从下拉式列表中选择。VB从入门到实践从入门到实践11.7 11.7 日期选择控件日期选择控件Visual Basic程序中包含两个极大方便开发人员输入日期的控程序中包含两个极大方便开发人员输入日期的控件:件:DateTimePicker控件和控件和MonthView控件。日期控件均控件。日期控件均可以可视化输入日期。可以可视化输入日期。VB从入门到实践从入门到实践11.7.1 11.7.1 MonthViewMonthView控件控件1返回值返回值2显示多个月份显示多个月份VB从入门到实践从入门到实践11.7.1 11.7.1 MonthViewMonthView控件控件3外观属性外观属性名称说明Titlebackcolor月份标题背景颜色TitleForecolor月份标题前景颜色Monthbackcolor月份中日期除标题外的背景颜色Forecolor月份的日期颜色TrailingForecolor确定当前显示月份以外日期颜色VB从入门到实践从入门到实践11.7.2 11.7.2 DateTimePickerDateTimePicker控件控件1格式化日期格式化日期2返回值返回值常数值说明DtpLongDate0长型数据格式(例如:Friday,Nov14,1972)。dtpShortDate1短型数据格式(例如:11/14/72)。dtpTime2时间格式(例如5:31:47PM)。dtpCustom3用户自定义格式。VB从入门到实践从入门到实践11.8 11.8 数据调整控件数据调整控件 数据调整控件与其他数据控件相配合改变数据值。主要包括数据调整控件与其他数据控件相配合改变数据值。主要包括Slider控控件和件和UpDown控件。数据调整控件不是控件。数据调整控件不是Visual Basic程序中默认内部控件,程序中默认内部控件,必须手动添加。必须手动添加。Slider控件添加方法参见控件添加方法参见11.2节。节。UpDown控件添加方法控件添加方法参见参见11.7。Slider控件和控件和UpDown控件使用方法与内部控件完全相同。控件使用方法与内部控件完全相同。VB从入门到实践从入门到实践11.8.1 Slider11.8.1 Slider控件控件属性设置说明BroderStytle0-ccNone控件无边界1-ccfixedsingle控件为单线边界Orientation0-ccOrientationhorizontal控件水平放置1-ccOrientationvertical控件垂直放置TickStytle0-sldBottomRight(默认值)底端右侧。如果控件放置水平方向,则刻度标记沿Slider的底端放置,如果控件沿垂直方向,刻度标记沿其右侧放置。1-sldTopLeft顶端/左侧。如果控件沿水平方向,则刻度标记沿Slider的顶端放置,如果控件沿垂直方向,则刻度标记沿其左侧放置。2-sldBoth全部。刻度标记放置在Slider的两侧或顶、底两端。3-sldNoticks无。Slider上没有刻度标记。VB从入门到实践从入门到实践11.8.1 Slider11.8.1 Slider控件控件VB从入门到实践从入门到实践11.8.2 UpDown控件控件1伙伴属性伙伴属性2数值属性数值属性3外观属性外观属性4运行事件运行事件VB从入门到实践从入门到实践11.9 11.9 数据显示控件数据显示控件ListView控件和控件和TreeView控件可以有效组织和显示数据,可控件可以有效组织和显示数据,可以指定排序方式、分门别类显示不同数据。以指定排序方式、分门别类显示不同数据。注意:注意:ListView控件和控件和TreeView控件是两种非常重要控件。控件是两种非常重要控件。熟练掌握这两种控件的使用方法对开发程序有很大的帮助。熟练掌握这两种控件的使用方法对开发程序有很大的帮助。但是这两种控件也是非常难以掌握的复杂控件,需要开发但是这两种控件也是非常难以掌握的复杂控件,需要开发人员结合实例不断摸索使用技巧。人员结合实例不断摸索使用技巧。VB从入门到实践从入门到实践11.9.1 11.9.1 ListViewListView控件控件ListView控件可将项目以列标头、图标、文本方式形成的列控件可将项目以列标头、图标、文本方式形成的列表显示。表显示。VB从入门到实践从入门到实践11.9.1 11.9.1 ListViewListView控件控件1使用图像使用图像2View属性属性常数值说明lvwIcon0(默认)图标。每个ListItem对象由标准的图标和文本标签显示。lvwSmallIcon1小图标。每个ListItem对象由小图标及其右侧的文本标签显示。所有项目水平排列。lvwList2列表。每个ListItem对象由小图标及其右侧的文本标签显示。ListItem对象及其相关的信息在列中垂直排列。lvwReport3报表。每个ListItem对象显示为小图标和文本标签。可在子项目中提供关于每个ListItem对象的附加信息。图标、文本标签和信息显示在列中,其中最左侧一列包含小图标和文本标签。附加列显示每个项目的子项目的文本。VB从入门到实践从入门到实践11.9.1 11.9.1 ListViewListView控件控件3Columnheader对象对象4Listitem对象对象object.Add(Index, key, Text, width, Alignment, Icon)VB从入门到实践从入门到实践11.9.2 11.9.2 TreeViewTreeView控件控件TreeView控件采用树形结构显示文本和图形信息。控件采用树形结构显示文本和图形信息。1Node对象对象2Root属性属性3Parent属性属性4Children属性属性5Child属性属性object.Add(relative, Relationship, key, Text, Image, SelectedImage)VB从入门到实践从入门到实践11.10 11.10 容器控件容器控件部分控件可以作为其他控件的容器,便于对控件按功能分组部分控件可以作为其他控件的容器,便于对控件按功能分组等。容器控件包括等。容器控件包括Frame控件、控件、SSTab控件、控件、TabStrip控控件。件。Frame控件为控件为Visual Basic程序中内部控件。程序中内部控件。VB从入门到实践从入门到实践11.10.1 Frame11.10.1 Frame控件控件Frame控件用于将对象进行分组,如图控件用于将对象进行分组,如图11.42所示。主要属性所示。主要属性如下:如下:Caption属性设置显示在框架可见文字信息。属性设置显示在框架可见文字信息。Enabled属性设置当前属性设置当前Frame控件及其附属对象是否可用。控件及其附属对象是否可用。如果结果为如果结果为False,该,该Frame控件标题和内部对象均不可控件标题和内部对象均不可用。用。Font属性更改显示文字字体。属性更改显示文字字体。VB从入门到实践从入门到实践11.10.2 11.10.2 SSTabSSTab控件控件1选项卡属性选项卡属性2外观属性外观属性常数值说明SSTabOrientationTop0选项卡出现在控件顶端。SSTabOrientationBottom1选项卡出现在控件底部。SSTabOrientationLeft2选项卡出现在控件左边。SSTabOrientationRight3选项卡出现在控件右边。VB从入门到实践从入门到实践11.10.3 11.10.3 TabStripTabStrip控件控件1选项卡属性选项卡属性2外观属性外观属性VB从入门到实践从入门到实践11.11 11.11 状态进程控件状态进程控件应用程序在运行过程中需要随时通知用户程序运行状态和进应用程序在运行过程中需要随时通知用户程序运行状态和进程提示。这时,需要使用状态进程控件。这些控件包括状程提示。这时,需要使用状态进程控件。这些控件包括状态栏态栏Statusbar控件、进度条控件、进度条Progressbar控件、动画控件、动画Animation控件。控件。VB从入门到实践从入门到实践11.11.1 11.11.1 StatusBarStatusBar控件控件1外观属性外观属性常数设置值说明VbAlignNone0(非MDI窗体的默认值)无可以在设计时或在程序中确定大小和位置。VbAlignTop1(MDI窗体的默认值)顶部对象显示在窗体的顶部,其宽度等于窗体的ScaleWidth属性设置值。VbAlignBottom2底部对象显示在窗体的底部,其宽度等于窗体的ScaleWidth属性设置值。默认选项。VbAlignLeft3左边对象在窗体的左面,其宽度等于窗体的ScaleWidth属性设置值。VbAlignRight4右边对象在窗体的右面,其宽度为窗体的ScaleWidth属性设置值。VB从入门到实践从入门到实践11.11.1 11.11.1 StatusBarStatusBar控件控件2属性窗体属性窗体3代码控制代码控制常数值说明sbrText0显示文本或图片。sbrCaps1显示CapsLock状态。sbrNum2显示NumberLock状态。sbrIns3显示Insert键状态。sbrScrl4显示ScrollLock状态。sbrTime5以System格式显示时间。sbrDate6以System格式显示日期。sbrKana7Kana。当激活滚动锁定时,显示黑体字母KANA,反之当停用滚动锁定时,则显示暗淡的字母KANA。VB从入门到实践从入门到实践11.11.2 11.11.2 ProgressBarProgressBar控件控件Windows程序中复制文件时可见复制文件的进度条。进度条程序中复制文件时可见复制文件的进度条。进度条Progressbar用来显示程序操作的进度。用来显示程序操作的进度。VB从入门到实践从入门到实践11.11.3 Animation11.11.3 Animation控件控件动画动画Animation控件允许播放无声的控件允许播放无声的AVI动画来提醒用户程序动画来提醒用户程序正在进行操作。如复制文件、删除文件等操作。动画正在进行操作。如复制文件、删除文件等操作。动画Animation控件在使用之前,必须指定控件在使用之前,必须指定AVI动画文件,然动画文件,然后使用后使用play方法播放动画文件,方法播放动画文件,stop方法停止播放。方法停止播放。VB从入门到实践从入门到实践11.12 11.12 本章实例本章实例本节综合实例学习和使用本节综合实例学习和使用Visual Basic程序的控件的基本用法。程序的控件的基本用法。【实例实例11-1】创建一个动态调整图片、增加和显示地址信息创建一个动态调整图片、增加和显示地址信息应用程序。应用程序。 图图11.58 运行窗体运行窗体VB从入门到实践从入门到实践11.13 11.13 常见问题及解答常见问题及解答1为什么在为什么在Visual Basic工具箱中没有需要的控件?工具箱中没有需要的控件?2TreeView控件非常难以理解,如何能够快速掌握该控件控件非常难以理解,如何能够快速掌握该控件使用方法?使用方法?3状态栏控件状态栏控件Statusbar控件是否可以使用控件是否可以使用Label控件和控件和TextBox控件进行编写?控件进行编写?4TextBox控件中可否使用控件中可否使用“*”以外的符号显示?以外的符号显示?5使用使用ImageList控件和在程序运行时使用控件和在程序运行时使用load语句有区别语句有区别吗?吗?VB从入门到实践从入门到实践11.14 11.14 小结小结本章主要介绍了本章主要介绍了Visual Basic程序中内部控件及其扩展程序中内部控件及其扩展ActiveX控件的使用方法。包括基本控件、显示图片控件、控件的使用方法。包括基本控件、显示图片控件、简单图形控件、简单图形控件、CheckBox控件、控件、OptionButton控件、选控件、选择信息控件、日期控件、数据调整控件、数据显示控件、择信息控件、日期控件、数据调整控件、数据显示控件、容器控件、状态进程控件。容器控件、状态进程控件。本章重点包括本章重点包括CheckBox控件、控件、OptionButton控件、控件、ListBox控件、控件、ComboBox控件、控件、MonthView控件、控件、Dtpicker控件、控件、Statusbar控件、控件、Progressbar控件。以上控件是程序开发控件。以上控件是程序开发中非常重要的组成部分。难点包括中非常重要的组成部分。难点包括ListView控件和控件和TreeView控件。下一章将介绍控件数组定义和使用方法。控件。下一章将介绍控件数组定义和使用方法。VB从入门到实践从入门到实践第第1212章章 控件数组控件数组上一章介绍了上一章介绍了Visual Basic程序中的标准控件和程序中的标准控件和ActiveX控件。控件。添加到窗体的控件可以组成控件数组来执行复杂的程序操添加到窗体的控件可以组成控件数组来执行复杂的程序操作。本章内容包括:作。本章内容包括:l操作控件数组;操作控件数组;l菜单项数组。菜单项数组。VB从入门到实践从入门到实践12.1 12.1 控件数组简介控件数组简介控件数组是一组具有共同名称和类型的控件。一个控件数组控件数组是一组具有共同名称和类型的控件。一个控件数组至少应有一个元素。控件数组有共同事件过程。通过索引至少应有一个元素。控件数组有共同事件过程。通过索引Index属性来标识每个控件。属性来标识每个控件。VB从入门到实践从入门到实践12.1.1 12.1.1 控件数组元素控件数组元素控件数组中包含至少一个控件,每个控件称为一个元素。控控件数组中包含至少一个控件,每个控件称为一个元素。控件数目可在系统资源和内存允许的范围内增加。数组的大件数目可在系统资源和内存允许的范围内增加。数组的大小也取决于每个控件所需的内存和小也取决于每个控件所需的内存和Windows资源。资源。VB从入门到实践从入门到实践12.2 12.2 操作控件数组操作控件数组控件数组可以在设计模式或运行模式下来添加和删除控件数控件数组可以在设计模式或运行模式下来添加和删除控件数组元素,但是控件数组的第一个元素必须在设计模式下添组元素,但是控件数组的第一个元素必须在设计模式下添加。本节将分别介绍设计模式和运行模式下添加和删除控加。本节将分别介绍设计模式和运行模式下添加和删除控件数组元素的方法。件数组元素的方法。VB从入门到实践从入门到实践12.2.1 12.2.1 添加控件数组添加控件数组1设计模式添加控件数组设计模式添加控件数组2运行模式添加控件数组运行模式添加控件数组Load button(Maxid)VB从入门到实践从入门到实践12.2.2 12.2.2 删除控件数组删除控件数组1设计模式删除控件数组设计模式删除控件数组2运行模式删除控件数组运行模式删除控件数组VB从入门到实践从入门到实践12.3 12.3 菜单项数组菜单项数组菜单项数组可以在程序运行时动态增加和删除菜单项。用户菜单项数组可以在程序运行时动态增加和删除菜单项。用户可以使用菜单项数组来显示最近编辑的文件列表。本节介可以使用菜单项数组来显示最近编辑的文件列表。本节介绍菜单项数组的创建和使用方法。绍菜单项数组的创建和使用方法。VB从入门到实践从入门到实践12.3.1 12.3.1 创建菜单项数组创建菜单项数组菜单项数组同控件数组一样,必须满足以下条件:菜单项数组同控件数组一样,必须满足以下条件:所有菜单项数组元素必须具有相同所有菜单项数组元素必须具有相同Name属性。属性。所有菜单项数组元素必须在同一层。所有菜单项数组元素必须在同一层。所有菜单项数组元素必须拥有惟一索引所有菜单项数组元素必须拥有惟一索引Index属性。属性。VB从入门到实践从入门到实践12.3.2 12.3.2 动态菜单项数组动态菜单项数组创建菜单项数组第一个元素后,可以在程序中动态加载和删创建菜单项数组第一个元素后,可以在程序中动态加载和删除菜单项。运行模式下动态添加菜单项数组使用除菜单项。运行模式下动态添加菜单项数组使用load语句语句来添加菜单项数组。来添加菜单项数组。运行模式下动态删除菜单项数组使用运行模式下动态删除菜单项数组使用unload语句来删除菜单语句来删除菜单项数组元素。项数组元素。Load button(Maxid)Unload button(Maxid)VB从入门到实践从入门到实践12.4 12.4 本章实例本章实例本章实例学习如何动态添加和删除控件数组。本章实例学习如何动态添加和删除控件数组。【实例实例12-1】动态添加和删除控件数组。动态添加和删除控件数组。 图图12.6 运行窗体运行窗体VB从入门到实践从入门到实践12.5 12.5 常见问题及解答常见问题及解答1为什么使用控件数组?为什么使用控件数组?2控件数组最多可以设置多少个控件?控件数组最多可以设置多少个控件?VB从入门到实践从入门到实践12.6 12.6 小结小结本章介绍了添加控件数组、删除控件数组和菜单项数组的操本章介绍了添加控件数组、删除控件数组和菜单项数组的操作方法。本章重点难点包括:动态添加控件数组、动态删作方法。本章重点难点包括:动态添加控件数组、动态删除控件数组、动态添加菜单项数组、动态删除菜单项数组。除控件数组、动态添加菜单项数组、动态删除菜单项数组。动态控件数组和动态菜单项数组不易掌握,需要读者结合动态控件数组和动态菜单项数组不易掌握,需要读者结合实例多加分析和实践。实例多加分析和实践。VB从入门到实践从入门到实践第第1313章章 鼠标键盘事件鼠标键盘事件事件机制是事件机制是Visual Basic程序运行的主要方式。程序运行的主要方式。Visual Basic中面向对象的编程方法主要响应鼠标和键盘事件。本章内中面向对象的编程方法主要响应鼠标和键盘事件。本章内容包括:容包括:l鼠标事件;鼠标事件;l键盘事件。键盘事件。VB从入门到实践从入门到实践13.1 13.1 鼠标事件鼠标事件鼠标事件是鼠标事件是Windows应用程序中最重要的事件之一。用户在应用应用程序中最重要的事件之一。用户在应用程序中主要操作使用鼠标操作,响应鼠标事件。程序中主要操作使用鼠标操作,响应鼠标事件。事件说明Click鼠标单击事件DblClick鼠标双击事件MouseMove鼠标在对象上移动事件MouseDown鼠标按下事件Mouseup鼠标松开事件Dragdrop和Dragover鼠标拖动事件VB从入门到实践从入门到实践13.1.1 13.1.1 鼠标事件概述鼠标事件概述1Click和和DblClick事件事件2Mouseup和和MouseDown事件事件Private Sub object_Click(Index As Integer)Private Sub object_DblClick(Index As Integer)Private Sub object_MouseDown(Index As Integer,button As Integer, shift As Integer, x As Single, y As Single)Private Sub object _Mouseup(Index As Integer,button As Integer, shift As Integer, x As Single, y As Single)VB从入门到实践从入门到实践13.1.1 13.1.1 鼠标事件概述鼠标事件概述3MouseMove事件事件4Dragdrop和和Dragover事件事件Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)Private Sub object_Dragdrop(Index As Integer,source As Control, x As Single, y As Single)VB从入门到实践从入门到实践13.1.2 13.1.2 鼠标事件实例鼠标事件实例本节以本节以4个示例来显示鼠标事件的使用方法。个示例来显示鼠标事件的使用方法。VB从入门到实践从入门到实践13.2 13.2 键盘事件键盘事件键盘事件是用户和应用程序之间交互操作主要方法之一,主键盘事件是用户和应用程序之间交互操作主要方法之一,主要提供数据输入、控件、菜单之间移动的主要方式。本节要提供数据输入、控件、菜单之间移动的主要方式。本节介绍键盘事件的使用方法。介绍键盘事件的使用方法。VB从入门到实践从入门到实践13.2.1 13.2.1 键盘事件概述键盘事件概述1Keypress事件事件2KeyDown和和Keyup事件事件Private Sub object_KeyPress(Index As Integer,KeyAscii As Integer)Private Sub object_KeyDown(Index As Integer,keycode As Integer, shift As Integer)Private Sub object_Keyup(Index As Integer,keycode As Integer, shift As Integer)VB从入门到实践从入门到实践13.2.2 13.2.2 键盘事件实例键盘事件实例VB从入门到实践从入门到实践13.3 13.3 本章实例本章实例本章实例学习编程鼠标动态画线实例。本章实例学习编程鼠标动态画线实例。【实例实例13-1】鼠标动鼠标动态画线实例。态画线实例。 图图13.8 运行窗体运行窗体VB从入门到实践从入门到实践13.4 13.4 常见问题及解答常见问题及解答1鼠标鼠标Click事件和事件和MouseDown、Mouseup事件有什么区别事件有什么区别?2键盘键盘KeyPress事件与事件与KeyDown、KeyUp事件有什么区别事件有什么区别?VB从入门到实践从入门到实践13.5 13.5 小结小结本章介绍了鼠标的内部事件、键盘的内部事件。本章重点难本章介绍了鼠标的内部事件、键盘的内部事件。本章重点难点包括:鼠标事件点包括:鼠标事件MouseDown事件、事件、Mouseup事件和键事件和键盘事件盘事件KeyDown事件、事件、Keyup事件。鼠标和键盘事件参事件。鼠标和键盘事件参数众多、情况复杂不易掌握。数众多、情况复杂不易掌握。VB从入门到实践从入门到实践第第1414章章 文件目录操作文件目录操作在在Visual Basic应用程序开发中,文件目录操作是非常重要的应用程序开发中,文件目录操作是非常重要的内容。文件操作需要定位、复制、删除、重命名等操作。内容。文件操作需要定位、复制、删除、重命名等操作。目录操作需要显示、改变、删除目录等操作。本章内容主目录操作需要显示、改变、删除目录等操作。本章内容主要包括:要包括:l文件操作;文件操作;l文本文件操作;文本文件操作;l随机文件操作;随机文件操作;lINI文件;文件;l目录操作。目录操作。VB从入门到实践从入门到实践14.1 14.1 文件操作文件操作文件是文件是Windows操作系统基本组成部分。文件操作在操作系统基本组成部分。文件操作在Visual Basic应用程序中起到很重要的作用。主要包括文件定位、应用程序中起到很重要的作用。主要包括文件定位、文件删除、文件复制、文件重命名。本节介绍如何操作文文件删除、文件复制、文件重命名。本节介绍如何操作文件的具体方法。件的具体方法。VB从入门到实践从入门到实践14.1.1 14.1.1 文件定位文件定位进行各种文件操作之前必须对文件进行定位。主要使用进行各种文件操作之前必须对文件进行定位。主要使用Dir函数。函数。Dir(PathName, Attributes)Dir(D:tempmyfile.Doc,vbhidden)Dir(D:temp*.Doc)Dir()VB从入门到实践从入门到实践14.1.2 14.1.2 文件复制文件复制在在Windows操作系统中,复制文件是非常普通操作。操作系统中,复制文件是非常普通操作。Visual Basic开发应用程序时实现该功能也非常简单。开发应用程序时实现该功能也非常简单。FileCopy source, destinationDim SourceFile, DestinationFileSourceFile = Text.Doc 指定源文件名。DestinationFile = d:tempdest.Doc 指定目的文件名。FileCopy SourceFile, DestinationFile 将源文件的内容复制到目的文件中。VB从入门到实践从入门到实践14.1.3 14.1.3 文件删除文件删除文件在开发过程中从磁盘中删除文件使用文件在开发过程中从磁盘中删除文件使用kill函数。函数。Kill PathName 假设 TESTFILE是一数据文件。Kill Testfile 删除Testfile文件Kill *.TXT 将当前目录下所有 *.TXT 文件全部删除VB从入门到实践从入门到实践14.1.4 14.1.4 文件重命名文件重命名重命名文件使用重命名文件使用Name函数来改变文件的名称。函数来改变文件的名称。OldName = C:MYDIROLDFILE:旧文件名NewName = C:YOURDIRNEWFILE新文件名Name OldName As NewName 更改文件名,并移动文件Name oldPathName As newPathNameVB从入门到实践从入门到实践14.1.5 14.1.5 文件操作实例文件操作实例【示例示例14-5】演示文件复制、删除、重命名操作。演示文件复制、删除、重命名操作。VB从入门到实践从入门到实践14.2 14.2 文本文件操作文本文件操作文本文件用以存储文字文本信息,不可以包括图片等多媒体文本文件用以存储文字文本信息,不可以包括图片等多媒体信息。在信息。在Visual Basic应用程序开发中,文本文件用来存应用程序开发中,文本文件用来存储简单相应的文本信息。储简单相应的文本信息。VB从入门到实践从入门到实践14.2.1 14.2.1 顺序文本文件顺序文本文件文本文件格式包括两种:自由格式和顺序文本文件。顺序文文本文件格式包括两种:自由格式和顺序文本文件。顺序文本文件说明该文件按顺序存储文本信息。自由格式说明该本文件说明该文件按顺序存储文本信息。自由格式说明该文件没有固定结构,由开发人员来决定如何设定该文件格文件没有固定结构,由开发人员来决定如何设定该文件格式。式。顺序文本文件编辑非常简单。记事本等文本编辑器都可以直顺序文本文件编辑非常简单。记事本等文本编辑器都可以直接改写顺序文本文件内容。接改写顺序文本文件内容。VB从入门到实践从入门到实践14.2.2 14.2.2 读取顺序文本文件读取顺序文本文件1打开文件打开文件2关闭文件关闭文件3读取语句读取语句Open PathName For Mode Access access lock As #fileNumber Len=reclengthClose fileNumberlistLine Input #fileNumber, varNameVB从入门到实践从入门到实践14.2.3 14.2.3 写入顺序文本文件写入顺序文本文件 顺序文本文件写入需要使用顺序文本文件写入需要使用Print#和和write#语句。语句。Print语句语句标准语法如下:标准语法如下: Write语句标准语法如下:语句标准语法如下:Print #fileNumber, outputlistWrite #fileNumber, outputlistVB从入门到实践从入门到实践14.2.4 14.2.4 顺序文本文件实例顺序文本文件实例【示例示例14-10】将文本写入顺序文本文件中。将文本写入顺序文本文件中。VB从入门到实践从入门到实践14.3 14.3 随机文件操作随机文件操作随机文件与顺序文本文件不同,顺序文本文件没有任何结构。随机文件与顺序文本文件不同,顺序文本文件没有任何结构。随机文件可以定义文件结构,便于开发人员开发程序过程随机文件可以定义文件结构,便于开发人员开发程序过程中查找定位需要的数据。本节介绍随机文件操作使用方法。中查找定位需要的数据。本节介绍随机文件操作使用方法。VB从入门到实践从入门到实践14.3.1 14.3.1 打开随机文件打开随机文件随机文件可以自定义文件结构,使用随机文件可以自定义文件结构,使用Type语句可以创建用户语句可以创建用户自定义数据类型。自定义数据类型。Private | Public Type varName elementName (subscripts) As Type elementName (subscripts) As Type . . .End TypeVB从入门到实践从入门到实践14.3.2 14.3.2 写入随机文件记录写入随机文件记录 写入随机文件记录使用写入随机文件记录使用put语句。标准语法如下:语句。标准语法如下: Put #fileNumber, recNumber, varNamePut #1, RecordNumber, MyRecord 将记录写入文件中。VB从入门到实践从入门到实践14.3.3 14.3.3 读取随机文件记录读取随机文件记录读取随机文件使用读取随机文件使用get语句来读取信息返回给记录类型变量。语句来读取信息返回给记录类型变量。Get #fileNumber, recNumber, varNameGet #1, Position, MyRecord 读记录。VB从入门到实践从入门到实践14.3.4 14.3.4 查找随机文件记录查找随机文件记录查找随机文件使用查找随机文件使用seek语句。语句。Seek #fileNumber, positionVB从入门到实践从入门到实践14.3.5 14.3.5 随机文件实例随机文件实例 VB从入门到实践从入门到实践14.4 INI14.4 INI文件文件INI文件是一种特殊信息文件,用以存储程序信息和用户设文件是一种特殊信息文件,用以存储程序信息和用户设置信息,其扩展名为置信息,其扩展名为INI。在。在INI信息文件中保存的信息可信息文件中保存的信息可以直接被程序调用。如果需要更改信息内容,只需要更改以直接被程序调用。如果需要更改信息内容,只需要更改INI信息文件中的信息记录而不必重新编译程序。信息文件中的信息记录而不必重新编译程序。VB从入门到实践从入门到实践14.4.1 INI14.4.1 INI文件简介文件简介INI信息文件结构非常简单,实质为文本文件。该文件可以被记信息文件结构非常简单,实质为文本文件。该文件可以被记事本或其他文本编辑器查看和编辑。事本或其他文本编辑器查看和编辑。项目说明段落方括号内的名称,程序中通过读取段落来调用关键字和具体数值。关键字字符串。后附等号和具体数值。该关键字必须是惟一的字符串。数值INI信息文件中关键字的具体数值。在应用程序通过段落和关键字调用的具体数值。VB从入门到实践从入门到实践14.4.2 INI14.4.2 INI文件使用文件使用读读INI文件文件API函数语法如下:函数语法如下:写写INI文件文件API函数语法如下:函数语法如下:Public Declare Function GetPrivateProfileString Lib kernel32 Alias GetPrivateProfileStringA (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPublic Declare Function WritePrivateProfileString Lib kernel32 Alias WritePrivateProfileStringA (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As LongVB从入门到实践从入门到实践14.4.3 INI14.4.3 INI文件实例文件实例本实例将读写名称为本实例将读写名称为app.ini的信息文件,并将读取数值显示的信息文件,并将读取数值显示在三个文本框内。同时可以更改三个文本框内容来重新写在三个文本框内。同时可以更改三个文本框内容来重新写入到信息文件。本实例在入到信息文件。本实例在Visual Basic开发中是非常实用开发中是非常实用的一个代码模块。的一个代码模块。VB从入门到实践从入门到实践14.5 14.5 目录操作目录操作在在Windows应用程序中需要改变硬盘目录来进行文件操作。应用程序中需要改变硬盘目录来进行文件操作。操作目录主要包括改变目录、建立目录、删除目录三项内操作目录主要包括改变目录、建立目录、删除目录三项内容。本节介绍如何进行操作目录。容。本节介绍如何进行操作目录。VB从入门到实践从入门到实践14.5.1 14.5.1 目录改变目录改变1显示当前目录显示当前目录2改变当前的驱动器改变当前的驱动器3改变当前的目录或文件夹改变当前的目录或文件夹CurDir(Drive)ChDrive DriveChDir PathVB从入门到实践从入门到实践14.5.2 14.5.2 目录建立目录建立在应用程序开发中,可能需要在应用程序目录下建立目录。在应用程序开发中,可能需要在应用程序目录下建立目录。MkDir PathVB从入门到实践从入门到实践14.5.3 14.5.3 目录删除目录删除如果某个目录在应用程序中不需要,需要将该目录删除。如果某个目录在应用程序中不需要,需要将该目录删除。RmDir PathVB从入门到实践从入门到实践14.5.4 14.5.4 目录操作实例目录操作实例【示例示例14-20】演示常见的目录操作方法。演示常见的目录操作方法。VB从入门到实践从入门到实践14.6 14.6 本章实例本章实例本章实例学习如何操作改进本章实例学习如何操作改进INI信息文件,程序窗体按读取信息文件,程序窗体按读取INI信息文件指定属性运行,并可以自行设置运行窗体相信息文件指定属性运行,并可以自行设置运行窗体相关属性。关属性。【实例实例14-1】改进改进INI信息文件读写实例。信息文件读写实例。VB从入门到实践从入门到实践14.7 14.7 常见问题及解答常见问题及解答1使用使用kill命令为何无法删除文件?命令为何无法删除文件?2使用使用Name函数为何无法改变文件名称?函数为何无法改变文件名称?3为何使用为何使用rd命令无法删除目录?命令无法删除目录?VB从入门到实践从入门到实践14.8 14.8 小结小结本章介绍了文件、目录操作,如何读写顺序文件和随机文件、本章介绍了文件、目录操作,如何读写顺序文件和随机文件、INI信息文件。本章重点难点包括:文件目录操作函数、信息文件。本章重点难点包括:文件目录操作函数、读写顺序文件和随机文件函数、操作读写顺序文件和随机文件函数、操作INI信息文件函数。信息文件函数。以上操作目录和文件函数参数众多、情况复杂不易掌握。以上操作目录和文件函数参数众多、情况复杂不易掌握。VB从入门到实践从入门到实践第第1515章章 多媒体编程多媒体编程现代社会日益发展,多媒体技术包括声音、图形、图像等出现代社会日益发展,多媒体技术包括声音、图形、图像等出现极大丰富了现代生活。现极大丰富了现代生活。Visual Basic应用程序开发中同应用程序开发中同样支持多媒体编程。可以非常简单创建有关多媒体编程程样支持多媒体编程。可以非常简单创建有关多媒体编程程序。本章内容包括:序。本章内容包括:lMMControl控件简介;控件简介;lMMControl设备类型;设备类型;lMMControl控件命令。控件命令。VB从入门到实践从入门到实践15.1 15.1 多媒体播放功能多媒体播放功能在在Visual Basic应用程序开发中,多媒体文件播放使用应用程序开发中,多媒体文件播放使用MMControl控件。该控件可以非常简单的实现多媒体播控件。该控件可以非常简单的实现多媒体播放功能。放功能。VB从入门到实践从入门到实践15.1.1 15.1.1 MMControlMMControl控件简介控件简介MMControl(Multimedia Control)控件可用于管理媒体控控件可用于管理媒体控制接口制接口(MCI)设备。包括声卡、设备。包括声卡、MIDI发生器、发生器、CD-ROM驱动器、音频播放器、视盘播放器和视频磁带录放器等多驱动器、音频播放器、视盘播放器和视频磁带录放器等多媒体设备。媒体设备。VB从入门到实践从入门到实践15.1.2 15.1.2 MMControlMMControl控件设备类型控件设备类型设备类型字符串文件类型说明CDaudioCdaudio音频CD播放器DigitalAudioTapeDat数字音频磁带播放器Digitalvideo(NotGDI-based)DigitalVideo窗体中的数字视频OtherOther未定义MCI设备OverlayOverlay覆盖设备ScannerScanner图像扫描仪SequencerSequencer.mid音响设备数字接口(MIDI)序列发生器VcrVCR视频磁带录放器AVIAVIVideo.avi视频文件VideodiscVideodisc视盘播放器WaveaudioWaveaudio.wav播放数字波形文件的音频设备。VB从入门到实践从入门到实践15.1.3 15.1.3 MMControlMMControl控件命令控件命令命令MCI命令描述OpenMCI_OPEN打开MCI设备。CloseMCI_CLOSE关闭MCI设备。PlayMCI_PLAY用MCI设备进行播放。PauseMCI_PAUSE或MCI_RESUME暂停播放或录制。StopMCI_STOP停止MCI设备。BackMCI_STEP向后步进可用的曲目。StepMCI_STEP向前步进可用的曲目。PrevMCI_SEEK使用Seek命令跳到当前曲目的起始位置。NextMCI_SEEK使用Seek命令跳到下一个曲目的起始位置。SeekMCI_SEEK向前或向后查找曲目。RecordMCI_RECORD录制MCI设备的输入。EjectMCI_SET从CD驱动器中弹出音频CD。SaveMCI_SAVE保存打开的文件。VB从入门到实践从入门到实践15.1.4 15.1.4 MMControlMMControl控件播放实例控件播放实例【示例示例15-2】使用使用MMControl控件播放波形文件。控件播放波形文件。VB从入门到实践从入门到实践15.1.5 15.1.5 MMControlMMControl控件录音实例控件录音实例【示例示例15-3】创建一个使用创建一个使用MMControl控件录制波形文件实控件录制波形文件实例。例。VB从入门到实践从入门到实践15.2 15.2 本章实例本章实例本章实例学习本章实例学习MMControl控件如何播放音乐文件。控件如何播放音乐文件。VB从入门到实践从入门到实践15.3 15.3 常见问题及解答常见问题及解答1如何使用如何使用MMControl控件连续播放控件连续播放ListBox控件中的文件控件中的文件?2如何使用如何使用MMControl来循环播放指定文件?来循环播放指定文件?VB从入门到实践从入门到实践15.4 15.4 小结小结本章介绍了多媒体播放控件本章介绍了多媒体播放控件MMControl的使用方法。本章重的使用方法。本章重点难点包括:添加点难点包括:添加MMControl到工具箱,到工具箱,MMControl控控件操作命令。件操作命令。MMControl控件播放设备类型较多,参数控件播放设备类型较多,参数较多难于掌握。读者结合实例多加分析和实践。下一章将较多难于掌握。读者结合实例多加分析和实践。下一章将介绍介绍Internet和网络编程。和网络编程。VB从入门到实践从入门到实践第第1616章章 InternetInternet和网络编程和网络编程互联网在现代信息社会中起到越来越重要的作用。互联网在现代信息社会中起到越来越重要的作用。Visual Basic在应用程序开发中完全考虑到网络的发展,赋予程在应用程序开发中完全考虑到网络的发展,赋予程序强劲支持网络的功能。本章内容包括:序强劲支持网络的功能。本章内容包括:l网络传输控件网络传输控件l应用程序中访问网页应用程序中访问网页l电子邮件编程电子邮件编程VB从入门到实践从入门到实践16.1 16.1 网络传输文件网络传输文件随着网络的日益普及网络传输扮演着非常重要的角色。网络随着网络的日益普及网络传输扮演着非常重要的角色。网络传输控件传输控件Internet Transfer允许连接到其他计算机和传输允许连接到其他计算机和传输文件。网络传输包括两个协议:文件。网络传输包括两个协议:HTTP协议(协议(HyperText Transfer Protocol超文本传送协议),通过网络使网络浏超文本传送协议),通过网络使网络浏览器与网络服务器相互连接通信;览器与网络服务器相互连接通信;FTP协议(协议(File Transfer Protocol文件传输协议),支持网络互传文件。文件传输协议),支持网络互传文件。本节分别介绍两种不同协议的编程方法。本节分别介绍两种不同协议的编程方法。VB从入门到实践从入门到实践16.1.1 16.1.1 用用Internet TransferInternet Transfer控件检索网页控件检索网页Internet Transfer控件支持超文本传输协议(控件支持超文本传输协议(HTTP)。)。使用使用HTTP协议,可以连接全球信息网(协议,可以连接全球信息网(World Wide Web)服务器,以检索服务器,以检索HTML文档。文档。VB从入门到实践从入门到实践16.1.1 16.1.1 用用Internet TransferInternet Transfer控件检索网页控件检索网页1Protocol属性属性2StillExecuting属性属性3StateChanged事件事件4GetChunk方法5Execute方法方法object.Protocol = integerobject.StillExecuting = Booleanobject_StateChanged(ByVal State As Integer)object.GetChunk( size ,dataType )object.Execute url, operation, data, requestHeadersVB从入门到实践从入门到实践16.1.2 16.1.2 用用Internet TransferInternet Transfer控件传输文件控件传输文件Internet Transfer控件同样支持文件传输协议控件同样支持文件传输协议(FTP)。使用使用FTP协议可以跨平台在协议可以跨平台在FTP服务器上登录,可以下载和上服务器上登录,可以下载和上传数据文件。传数据文件。FTP协议使用方法与协议使用方法与DOS命令非常相似。命令非常相似。Internet Transfer控件传输文件时主要使用控件传输文件时主要使用Execute方法。方法。该方法执行对远程服务器的数据传输。只能发送对特定的该方法执行对远程服务器的数据传输。只能发送对特定的协议有效的数据。协议有效的数据。object.Execute url, operation, data, requestHeadersVB从入门到实践从入门到实践16.2 16.2 应用程序访问网页应用程序访问网页开发人员在使用开发人员在使用Visual Basic开发应用程序时可能需要将开发应用程序时可能需要将Internet浏览功能添加到标准程序中。用户只需要单击一浏览功能添加到标准程序中。用户只需要单击一个链接,可以自动在程序中浏览网页内容。通过个链接,可以自动在程序中浏览网页内容。通过WebBrowser控件可以非常容易的实现该功能。控件可以非常容易的实现该功能。VB从入门到实践从入门到实践16.2.1 16.2.1 用用WebBrowserWebBrowser控件创建浏览器控件创建浏览器1Busy属性属性2Stop属性属性3Navigate方法方法object.navigate urlVB从入门到实践从入门到实践16.2.2 16.2.2 从应用程序中登录浏览器从应用程序中登录浏览器Internet快捷方式指向固定的网站,格式类似普通文本文件。快捷方式指向固定的网站,格式类似普通文本文件。InternetShortcuturl=http:/www.skyrising.comVB从入门到实践从入门到实践16.3 16.3 电子邮件编程电子邮件编程电子邮件已经成为现代社会不可缺少的信息联系方式。电子邮件已经成为现代社会不可缺少的信息联系方式。Visual Basic应用程序开发中提供了对电子邮件开发的应用程序开发中提供了对电子邮件开发的MAPI控件。消息处理应用程序接口控件。消息处理应用程序接口(Messaging Application Programming Interface,简称简称MAPI)控件可控件可用于创建具有电子邮件功能的用于创建具有电子邮件功能的Visual Basic应用程序。应用程序。VB从入门到实践从入门到实践16.3.1 16.3.1 注册电子邮件注册电子邮件1UserName和和Password属性属性2LoginUI属性属性3NewSession属性属性4DownloadMail属性属性5SignOn和和SignOff方法方法6SessionID属性属性VB从入门到实践从入门到实践16.3.2 16.3.2 收发电子邮件收发电子邮件1关联关联SessionID属性属性2管理电子邮件管理电子邮件mpmMessage.SessionID = mpsSession.SessionID方法描述Compose撰写新的消息Copy将当前编号的消息复制到撰写缓冲区Delete删除一条消息、收件人或附件Fetch从收件箱中选定的消息中创建消息集合Forward转发消息Reply答复消息ReplyAll答复消息的所有收件人Save保存撰写缓冲区中的当前消息Send发送消息VB从入门到实践从入门到实践16.3.2 16.3.2 收发电子邮件收发电子邮件3编写电子邮件编写电子邮件(1)收件人地址)收件人地址 (2)邮件主题和文本)邮件主题和文本 mapiMessage.ComposeVB从入门到实践从入门到实践16.3.2 16.3.2 收发电子邮件收发电子邮件4发送电子邮件发送电子邮件5处理文件附件处理文件附件mpmMessage.Send = False属性描述AttachmentCount返回与当前编号消息相关联的附件总数。AttachmentIndex设置当前编号的附件。AttachmentName指定当前编号文件附件的名称。AttachmentPathName指定当前编号文件附件的完整路径。AttachmentPosition指定在消息体中当前编号的附件位置。AttachmentType指定当前编号文件附件的类型。mapiMessage.AttachmentPathName = c:StatusReport.DocVB从入门到实践从入门到实践16.4 16.4 本章实例本章实例本章实例学习如何使用本章实例学习如何使用WebBrowser控件创建通用浏览器登控件创建通用浏览器登录网站。录网站。【实例实例16-1】通用浏览器程序。本节实例将使用通用浏览器程序。本节实例将使用WebBrowser控件打开指定网址,在打开过程中显示下载控件打开指定网址,在打开过程中显示下载文件进度。文件进度。VB从入门到实践从入门到实践16.5 16.5 常见问题及解答常见问题及解答1如何添加如何添加Internet Transfer到工具箱?到工具箱?2如何让如何让Internet Transfer自动下载文件并保存?自动下载文件并保存?VB从入门到实践从入门到实践16.6 16.6 小结小结本章介绍了网络传输控件本章介绍了网络传输控件Internet Transfer、网页浏览控件网页浏览控件WebBrowser、电子邮件控件电子邮件控件MAPI。本章重点难点包括:本章重点难点包括:Internet Transfer控件、控件、WebBrowser控件和控件和MAPI控件重控件重要属性、方法、事件。以上三种网络控件参数众多、网络要属性、方法、事件。以上三种网络控件参数众多、网络开发情况复杂难于掌握。开发情况复杂难于掌握。VB从入门到实践从入门到实践第第1717章章 访问访问APIAPI函数和函数和OLEOLE控件控件WindowsAPI(应用程序编程接口)是提供给程序员的一套应用程序编程接口)是提供给程序员的一套标准函数。在标准函数。在Visual Basic应用程序中调用应用程序中调用API函数可以实函数可以实现标准现标准Visual Basic程序无法实现的功能。程序无法实现的功能。OLE控件控件(Object Linking and Embedding,对象链接和嵌入)支对象链接和嵌入)支持在一个应用程序中调用另外一个应用程序而无需打开原持在一个应用程序中调用另外一个应用程序而无需打开原有程序。该控件主要将有程序。该控件主要将Microsoft Office产品集成起来并在产品集成起来并在Visual Basic中使用的一种方法。本章内容包括:中使用的一种方法。本章内容包括:l操作操作WindowsAPI;l使用使用Word对象;对象;l使用使用Excel对象。对象。VB从入门到实践从入门到实践17.1 17.1 WindowsAPIWindowsAPI简介简介VB从入门到实践从入门到实践17.2 17.2 操作操作WindowsAPIWindowsAPI使用使用Windows API函数必须在在公共模块中声明该函数。该函数必须在在公共模块中声明该函数。该函数包含固定的语法结构输入参数、输出参数、返回值。函数包含固定的语法结构输入参数、输出参数、返回值。Public | Private Declare Sub Name Lib LibName Alias aliasName (Arglist)VB从入门到实践从入门到实践17.3 17.3 WindowsAPIWindowsAPI实例实例WindowsAPI函数具有非常重要的作用。在应用程序开发中函数具有非常重要的作用。在应用程序开发中可以实现许多系统级的功能。本节介绍可以实现许多系统级的功能。本节介绍WindowsAPI函数函数的应用实例:获得磁盘信息、获得磁盘容量、获得系统目的应用实例:获得磁盘信息、获得磁盘容量、获得系统目录。录。VB从入门到实践从入门到实践17.3.1 17.3.1 获取磁盘信息获取磁盘信息【示例示例17-2】获得磁盘信息,如卷标名称、文件系统、最大获得磁盘信息,如卷标名称、文件系统、最大文件长度等文件长度等VB从入门到实践从入门到实践17.3.2 17.3.2 获取磁盘容量获取磁盘容量当在应用程序中操作文件时可能需要判断磁盘容量大小。获当在应用程序中操作文件时可能需要判断磁盘容量大小。获得磁盘容量可以使用得磁盘容量可以使用GetDiskFreeSpaceEx函数来获得磁函数来获得磁盘容量数据,包括总容量、可用容量等数据。盘容量数据,包括总容量、可用容量等数据。VB从入门到实践从入门到实践17.3.3 17.3.3 获取系统目录获取系统目录在程序开发中需要使用系统和在程序开发中需要使用系统和Windows目录的路径。目录的路径。Visual Basic应用程序开发可以使用应用程序开发可以使用API函数来判断获得系统目录函数来判断获得系统目录和和Windows目录的路径。这里主要使用目录的路径。这里主要使用WindowsAPIWindowsAPI函数函数getsystemdirectorygetsystemdirectory和和getWindowsdirectorygetWindowsdirectory。VB从入门到实践从入门到实践17.4 OLE17.4 OLE简介简介OLE(Object linking and embedding)对象链接和嵌入允许对象链接和嵌入允许用户在一个应用程序中调用另外一个应用程序,无需使用用户在一个应用程序中调用另外一个应用程序,无需使用原有程序的操作界面。原有程序的操作界面。Visual Basic程序中支持使用程序中支持使用OLE方式调用方式调用Word和和Excel程序。使用程序。使用OLE方式的优点:方式的优点:l生成专业报表:生成专业报表:Word和和Excel程序可以生成非常专业美观程序可以生成非常专业美观的报表。的报表。l自动创建文档:在自动创建文档:在Visual Basic程序中可以直接创建程序中可以直接创建Doc文文件和件和Xls文件。文件。VB从入门到实践从入门到实践17.4.1 OLE控件使用控件使用OLE控件允许在程序中链接或嵌入控件允许在程序中链接或嵌入OLE对象。在程序中可以对象。在程序中可以在窗体上直接放置在窗体上直接放置OLE控件,程序运行时允许用户直接控件,程序运行时允许用户直接操作该操作该OLE控件链接或嵌入的对象。并且该控件可以在控件链接或嵌入的对象。并且该控件可以在设计阶段或运行阶段链接或嵌入所需对象。设计阶段或运行阶段链接或嵌入所需对象。VB从入门到实践从入门到实践17.4.2 17.4.2 链接对象与嵌入对象链接对象与嵌入对象OLE控件还可以创建链接对象。该链接对象被链接到一个外控件还可以创建链接对象。该链接对象被链接到一个外部文件,而不是嵌入到应用程序中。当双击激活部文件,而不是嵌入到应用程序中。当双击激活OLE控控件时,该应用程序窗体显示出来可以编辑该链接对象。要件时,该应用程序窗体显示出来可以编辑该链接对象。要创建链接文件,必须指定链接文件名称路径。对于创建链接文件,必须指定链接文件名称路径。对于“画笔画笔”程序需要指定一个图片的名称。该链接文件在程序需要指定一个图片的名称。该链接文件在Visual Basic程序中所做的任何改变保存到该文件中去。程序中所做的任何改变保存到该文件中去。VB从入门到实践从入门到实践17.5 17.5 使用使用WordWord对象对象在在Visual Basic程序中可以以程序中可以以OLE方式使用方式使用Word对象的一个对象的一个实例,用户可以在不必退出应用程序情况下打开实例,用户可以在不必退出应用程序情况下打开Word程程序来编辑调整一个序来编辑调整一个Word文档内容。本节介绍如何在文档内容。本节介绍如何在Visual Basic程序中使用程序中使用Word对象。对象。VB从入门到实践从入门到实践17.5.1 Word17.5.1 Word对象简介对象简介在在Visual Basic中使用中使用Word对象必须首先安装对象必须首先安装Microsoft Office程序到计算机上。安装时默认安装程序到计算机上。安装时默认安装Word程序,单程序,单击击“工程工程”|“引用引用”命令,弹出命令,弹出“引用引用”对话框。对话框。VB从入门到实践从入门到实践17.5.2 17.5.2 创建创建WordWord对象对象Word对象中主要包括对象中主要包括Word.application和和Word.Document对对象。该对象分别对于象。该对象分别对于Word应用程序和应用程序和Word文档。文档。Visible属性属性lAdd方法:方法:lActive方法方法lQuit方法和方法和Close方法方法VB从入门到实践从入门到实践17.5.3 17.5.3 操作操作WordWord对象对象在在Visual Basic程序中可以打开、保存、打印程序中可以打开、保存、打印Word文档。文档。VB从入门到实践从入门到实践17.6 17.6 使用使用ExcelExcel对象对象在在Visual Basic程序中同样可以以程序中同样可以以OLE方式使用方式使用Excel对象的对象的一个实例,用户可以在不必退出应用程序打开一个实例,用户可以在不必退出应用程序打开Excel程序程序来编辑来编辑Excel文档内容。本节介绍如何在文档内容。本节介绍如何在Visual Basic程序程序中使用中使用Excel对象。对象。VB从入门到实践从入门到实践17.6.1 Excel17.6.1 Excel对象简介对象简介在在Visual Basic中使用中使用Word对象必须首先安装对象必须首先安装Microsoft office程序到计算机上。安装时默认安装程序到计算机上。安装时默认安装Excel程序。程序。VB从入门到实践从入门到实践17.6.2 17.6.2 操作操作ExcelExcel对象对象Excel对象中主要包括对象中主要包括application和和Workbook对象。该对象对象。该对象分别对于分别对于Excel应用程序和应用程序和Excel文档。文档。Excel对象重要属性、对象重要属性、方法如下:方法如下:Visible属性属性Add方法方法Quit方法和方法和Close方法方法VB从入门到实践从入门到实践17.7 17.7 本章实例本章实例本章实例学习使用本章实例学习使用API函数显示一幅透明蝴蝶图片。函数显示一幅透明蝴蝶图片。【实例实例17-1】显示一幅透明蝴蝶图片。显示一幅透明蝴蝶图片。 VB从入门到实践从入门到实践17.8 17.8 常见问题及解答常见问题及解答1全局声明和局部声明全局声明和局部声明API函数有区别吗?函数有区别吗?2每次使用每次使用OLE方式使用方式使用Word对象实例时,程序反映总是对象实例时,程序反映总是很慢。如何解决?很慢。如何解决?VB从入门到实践从入门到实践17.9 17.9 小结小结本章介绍了本章介绍了API函数和函数和OLE控件的使用方法。以及如何在控件的使用方法。以及如何在Visual Basic中使用中使用Word对象和对象和Excel对象。本章重点难点对象。本章重点难点包括:如何操作包括:如何操作WindowsAPI函数开发程序。函数开发程序。WindowsAPI函数数量庞大、参数众多、实现功能强大非函数数量庞大、参数众多、实现功能强大非常难于掌握。读者需要结合实例多分析和实践。下一章将常难于掌握。读者需要结合实例多分析和实践。下一章将介绍数据库基础知识。介绍数据库基础知识。VB从入门到实践从入门到实践第第1818章章 数据库基础数据库基础数据处理在现代社会中起到至关重要的作用。数据处理在现代社会中起到至关重要的作用。为解决特定的为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合任务,以一定的组织方式存储在一起的相关的数据的集合被称为数据库。数据库在所有大型商业软件中都是非常重被称为数据库。数据库在所有大型商业软件中都是非常重要的一项内容。通常在数据库中保存所有相关数据信息。要的一项内容。通常在数据库中保存所有相关数据信息。使用使用Visual Basic可以非常轻松的建立功能全面的数据管可以非常轻松的建立功能全面的数据管理程序。理程序。l使用使用Visual Datagrid Manager创建数据库创建数据库l使用使用Microsoft Access创建数据库创建数据库lSQL结构化查询语言简介结构化查询语言简介lSQL结构化查询语言语句结构化查询语言语句VB从入门到实践从入门到实践18.1 18.1 数据库简介数据库简介数据库可以理解为数据库可以理解为按照数据结构来组织、存储和管理数据的按照数据结构来组织、存储和管理数据的仓库仓库。一个设计良好的数据库可以在后期非常方便的维护。一个设计良好的数据库可以在后期非常方便的维护和扩展程序功能。设计数据库通常包括确定设计目的、组和扩展程序功能。设计数据库通常包括确定设计目的、组织数据信息、创建数据库文件。织数据信息、创建数据库文件。VB从入门到实践从入门到实践18.1.1 18.1.1 设计目的设计目的数据库设计如同建筑工程一样需要明确程序内容的需要。必数据库设计如同建筑工程一样需要明确程序内容的需要。必须根据程序设计开发的需要来设计数据库存放的物理文件须根据程序设计开发的需要来设计数据库存放的物理文件和逻辑功能。一个良好的数据库设计方案是实现数据库最和逻辑功能。一个良好的数据库设计方案是实现数据库最重要的一步。重要的一步。l最简洁有效的方式存放数据,避免数据库浪费太多的空间。最简洁有效的方式存放数据,避免数据库浪费太多的空间。l更新数据功能简单快捷。更新数据功能简单快捷。l数据库结构易于维护。数据库结构易于维护。l数据库文件易于扩展,可以在后期修改时实现更多功能。数据库文件易于扩展,可以在后期修改时实现更多功能。l数据库文件具有一定的安全性和保障性。数据库文件具有一定的安全性和保障性。VB从入门到实践从入门到实践18.1.2 18.1.2 主要步骤主要步骤设计一个功能完善的数据库包括以下几个主要步骤:设计一个功能完善的数据库包括以下几个主要步骤:(1)根据应用程序需要选择数据库程序。)根据应用程序需要选择数据库程序。(2)确定应用程序所需数据基本结构。)确定应用程序所需数据基本结构。(3)根据所需数据设计应用到表。)根据所需数据设计应用到表。(4)设计表之间关系。)设计表之间关系。(5)设计索引和有效性规则。)设计索引和有效性规则。(6)设计各种特殊需要查询。)设计各种特殊需要查询。VB从入门到实践从入门到实践18.1.3 18.1.3 组织数据组织数据1规范化组织数据规范化组织数据2基本表基本表3索引索引VB从入门到实践从入门到实践18.2 18.2 使用使用Visual Data ManagerVisual Data ManagerVisual Basic中提供了一个创建和修改数据库的程序文件中提供了一个创建和修改数据库的程序文件可视化数据管理器(可视化数据管理器(Visual Data Manager)。)。该程序可该程序可以通过单击以通过单击“外接程序外接程序”|“可视化数据管理器可视化数据管理器”命令运命令运行。行。VB从入门到实践从入门到实践18.2.1 18.2.1 创建数据库文件创建数据库文件创建数据库需要创建一个物理文件,该文件为数据存放提供创建数据库需要创建一个物理文件,该文件为数据存放提供了一个物理空间。了一个物理空间。VB从入门到实践从入门到实践18.2.2 18.2.2 创建表创建表创建一个数据库文件后,右击数据库窗口中的空白处,选择创建一个数据库文件后,右击数据库窗口中的空白处,选择“新建表新建表”命令,弹出命令,弹出“表结构表结构”对话框,如图对话框,如图18.6所示。所示。VB从入门到实践从入门到实践18.2.3 18.2.3 修改表修改表当数据库中表结构需要改变时可以在表结构窗体中进行修改。当数据库中表结构需要改变时可以在表结构窗体中进行修改。单击单击“删除字段删除字段”按钮,可以删除一个列表中显示的字段;按钮,可以删除一个列表中显示的字段;单击单击“添加索引添加索引”按钮,可以增加一个新索引;单击按钮,可以增加一个新索引;单击“删删除索引除索引”按钮,可以删除一个已有索引。按钮,可以删除一个已有索引。VB从入门到实践从入门到实践18.3 Microsoft Access18.3 Microsoft Access创建数据库创建数据库Microsoft Access是是Microsoft公司创建的一个公司创建的一个Office程序中的程序中的一个组件。该程序可以以可视化方式创建和修改一个组件。该程序可以以可视化方式创建和修改Access数数据库程序。本节介绍如何使用据库程序。本节介绍如何使用Microsoft Access创建和修创建和修改改Access数据库。数据库。VB从入门到实践从入门到实践18.3.1 18.3.1 创建数据库文件创建数据库文件Microsoft Access可以非常简单的创建一个新数据库。单击可以非常简单的创建一个新数据库。单击“新建新建”选项,输入文件名称和保存目录。该设计窗体可以选项,输入文件名称和保存目录。该设计窗体可以添加表、查询、窗体等等。本书只涉及到创建表一项内容。添加表、查询、窗体等等。本书只涉及到创建表一项内容。VB从入门到实践从入门到实践18.3.2 18.3.2 创建和修改表创建和修改表创建表可以通过三个选项来实现:使用设计器创建表;使用创建表可以通过三个选项来实现:使用设计器创建表;使用向导创建表;通过输入数据创建表。选择第一项向导创建表;通过输入数据创建表。选择第一项“选用设选用设计器创建表计器创建表”选项。选项。VB从入门到实践从入门到实践18.4 SQL18.4 SQL结构化查询语言简介结构化查询语言简介结构化查询语言结构化查询语言SQL(Structure Query Language)是一种是一种高级的非过程化编程语言。该语言无需用户了解数据的存高级的非过程化编程语言。该语言无需用户了解数据的存放方法和具体存放方式,允许用户在高层数据结构上工作。放方法和具体存放方式,允许用户在高层数据结构上工作。SQL语句创建一个由数据库引擎处理的查询。语句创建一个由数据库引擎处理的查询。l从一个或多个表中查询数据。从一个或多个表中查询数据。l通过插入、删除或更新记录来处理表中的数据。通过插入、删除或更新记录来处理表中的数据。l可以汇总表中数据,如总和、最大值、最小值等。可以汇总表中数据,如总和、最大值、最小值等。l创建、修改或删除数据库中的表。创建、修改或删除数据库中的表。VB从入门到实践从入门到实践18.5 SQL18.5 SQL结构化查询语言语句结构化查询语言语句SQL结构化查询语言主要包括以下几个重要语句:结构化查询语言主要包括以下几个重要语句:SELECT、DELETE、INSERT INTO、UPDATE语句。语句。SELECT语句在表或动态集合中提取查询的数据。语句在表或动态集合中提取查询的数据。DELETE语句从语句从表中删除数据。表中删除数据。INSERT INTO语句想表中添加数据。语句想表中添加数据。UPDATE语句更新表中已有字段值。本节分别介绍以上语语句更新表中已有字段值。本节分别介绍以上语句语法及如何使用该语句。句语法及如何使用该语句。VB从入门到实践从入门到实践18.5.1 SELECT18.5.1 SELECT语句语句SELECT语句实现从表或动态集合中查询数据,允许进行进语句实现从表或动态集合中查询数据,允许进行进一步操作。一步操作。SELECT ALL | DISTINCTFROM FORCEDatabaseName!Table AS Local_AliasINNER | LEFT OUTER | RIGHT OUTER | FULL OUTER JOINDatabaseName!Table AS Local_AliasON JoinCondition INTO DestinationWHERE JoinCondition AND JoinCondition .AND | OR FilterCondition AND | OR FilterCondition .GROUP BY GroupColumn , GroupColumn .ORDER BY Order_Item ASC | DESC , Order_Item ASC | DESC .VB从入门到实践从入门到实践18.5.2 DELETE18.5.2 DELETE语句语句DELETE语句实现从表中删除数据。语句实现从表中删除数据。Delete from tableName where statementVB从入门到实践从入门到实践18.5.3 INSERT INTO18.5.3 INSERT INTO语句语句INSERT INTO语句向表中添加数据。使用该语句需要先用语句向表中添加数据。使用该语句需要先用Select语句查询数据,再在表或动态集合中添加数据。语句查询数据,再在表或动态集合中添加数据。INSERT INTO tableName (fName1 , fName2, .)VALUES (eExpression1 , eExpression2, .)VB从入门到实践从入门到实践18.5.4 UPDATE18.5.4 UPDATE语句语句UPDATE语句更新表中已有字段值。语句更新表中已有字段值。UPDATE DatabaseName1!TableName1SET Column_Name1 = eExpression1, Column_Name2 = eExpression2 .WHERE FilterCondition1 AND | OR FilterCondition2 .VB从入门到实践从入门到实践18.6 18.6 本章实例本章实例本章实例学习使用本章实例学习使用Visual Data Manager程序创建程序创建Access数据库文数据库文件、使用件、使用Microsoft Access创建创建Access数据库文件。数据库文件。【实例实例18-1】使用使用Visual Data Manager程序创建程序创建Access数据库文件。数据库文件。名称类型大小商品Text2数量Integer2单价Currency8金额CurrencyVB从入门到实践从入门到实践18.7 18.7 常见问题及解答常见问题及解答1创建数据库中的表可以不使用主键吗?创建数据库中的表可以不使用主键吗?2先建立一个程序中使用的数据库,在开发后期再完善该先建立一个程序中使用的数据库,在开发后期再完善该数据库?数据库?VB从入门到实践从入门到实践18.8 18.8 小结小结本章介绍了数据库基础知识、如何使用本章介绍了数据库基础知识、如何使用Visual Data Manager和和Microsoft Access创建数据库文件。本章重点难点包括:创建数据库文件。本章重点难点包括:如何使用如何使用SQL语言按条件查询记录。语言按条件查询记录。SQL语言功能强大、语言功能强大、参数复杂需要读者结合实例多加分析和实践。下一章将介参数复杂需要读者结合实例多加分析和实践。下一章将介绍绍DAO数据对象。数据对象。VB从入门到实践从入门到实践第第1919章章 DAODAO数据对象数据对象数据访问对象(数据访问对象(Data Access Objects,DAO)是一种面向对是一种面向对象的数据接口,主要为象的数据接口,主要为Microsoft公司公司Jet数据库引擎数据库引擎(MDB数据库文件)或其他数据库文件)或其他ODBC数据源提供数据接口。数据源提供数据接口。通常情况下通常情况下Visual Basic中使用中使用DAO主要操作主要操作Access数据数据库文件。本章内容包括:库文件。本章内容包括:l记录集类型记录集类型l数据管理数据管理l数据导航数据导航VB从入门到实践从入门到实践19.1 DAO19.1 DAO数据对象简介数据对象简介DAO专门针对数据编程提供了强大的开发功能,同时也增加专门针对数据编程提供了强大的开发功能,同时也增加了编程的复杂程度。了编程的复杂程度。DAO模型是设计关系数据库系统结模型是设计关系数据库系统结构的对象类集合,可以访问并操作数据库,如创建数据库,构的对象类集合,可以访问并操作数据库,如创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据定义表、字段和索引,建立表间的关系,定位和查询数据库等。库等。VB从入门到实践从入门到实践19.2 19.2 记录集类型记录集类型当创建一个当创建一个DAO数据对象后,需要在程序中打开一个记录集数据对象后,需要在程序中打开一个记录集(Recordset)。)。记录集用以访问表、表中字段和记录等。记录集用以访问表、表中字段和记录等。主要包括三种记录集类型:表(主要包括三种记录集类型:表(Table)、)、动态集动态集(Dynaset)、)、快照集(快照集(Snapshot)。)。本节分别介绍这本节分别介绍这三种记录集类型。三种记录集类型。VB从入门到实践从入门到实践19.2.1 19.2.1 使用表使用表表(表(Table)与存放数据库的表相关联。它提供了与数据最与存放数据库的表相关联。它提供了与数据最直接的联系。表是惟一支持索引的记录集。使用表可以在直接的联系。表是惟一支持索引的记录集。使用表可以在运行中创建和修改索引,因此在表中搜索特定记录要比在运行中创建和修改索引,因此在表中搜索特定记录要比在动态集或快照集要速度快很多。通过程序中对表进行修改动态集或快照集要速度快很多。通过程序中对表进行修改可以同步实现。使用表不可以限定设置过滤内容。可以同步实现。使用表不可以限定设置过滤内容。object.OpenRecordset (Name,type , options ,lockEdits VB从入门到实践从入门到实践19.2.2 19.2.2 使用动态集使用动态集动态集(动态集(Dynaset)是从数据库中一个或多个表中提取过滤是从数据库中一个或多个表中提取过滤指定条件的数据信息。动态集是具有动态属性的记录集。指定条件的数据信息。动态集是具有动态属性的记录集。在动态集生存周期内,动态集与数据源所有数据保持同步。在动态集生存周期内,动态集与数据源所有数据保持同步。动态集可以连接多个表中的信息,用户可以通过限制条件动态集可以连接多个表中的信息,用户可以通过限制条件来提取指定记录集中的字段或记录的数量。来提取指定记录集中的字段或记录的数量。object.OpenRecordset (Name,type , options ,lockEdits VB从入门到实践从入门到实践19.2.3 19.2.3 使用快照集使用快照集快照集(快照集(Snapshot)是特定时刻的记录集数据的静默副本。是特定时刻的记录集数据的静默副本。快照集无法及时更新数据库内更改的数据。使用快照集可快照集无法及时更新数据库内更改的数据。使用快照集可以非常快速的查询定位记录。创建快照集首先要打开一个以非常快速的查询定位记录。创建快照集首先要打开一个数据库对象,再使用数据库对象,再使用OpenRecordSet方法来访问指定包含方法来访问指定包含记录的表。指定创建表类型记录集使用记录的表。指定创建表类型记录集使用DBOpensnapshot常数。常数。object.OpenRecordset (Name,type , options ,lockEdits )VB从入门到实践从入门到实践19.3 19.3 数据管理数据管理在在DAO中数据管理是非常重要的一项操作。中数据管理是非常重要的一项操作。Visual Basic中中提供了非常易于操作的命令来管理数据库中数据。主要包提供了非常易于操作的命令来管理数据库中数据。主要包括增加记录、编辑记录、更新记录、删除记录。本节分别括增加记录、编辑记录、更新记录、删除记录。本节分别介绍如何操作数据库中数据。介绍如何操作数据库中数据。VB从入门到实践从入门到实践19.3.1 19.3.1 增加记录增加记录DAO数据对象在数据库中增加数据使用数据对象在数据库中增加数据使用Addnew方法。方法。Addnew方法实际上并不是真正增加记录,只是清空缓冲方法实际上并不是真正增加记录,只是清空缓冲区允许添加新记录的信息。使用区允许添加新记录的信息。使用Addnew方法后,必须使方法后,必须使用用Update方法更新数据库才能真正将数据保存到记录集方法更新数据库才能真正将数据保存到记录集内。内。准备增加一个新记录Rs.Addnew赋予姓名字段为张三Rs.Fields(“姓名”)=”张三”更新保存数据Rs.UpdateVB从入门到实践从入门到实践19.3.2 19.3.2 编辑记录编辑记录DAO数据对象在数据库中修改数据使用数据对象在数据库中修改数据使用Edit方法。方法。Edit方法方法与与Addnew方法相似,将数据存储在缓冲区内,允许数据方法相似,将数据存储在缓冲区内,允许数据被修改。只有当使用被修改。只有当使用Update方法时才真正将修改后的内方法时才真正将修改后的内容保存到记录集内。容保存到记录集内。Edit方法使用前必须定位到待修改的方法使用前必须定位到待修改的数据。数据。准备编辑一个新记录Rs.Edit修改姓名字段为张三Rs.Fields(“姓名”)=”张三”更新保存数据Rs.UpdateVB从入门到实践从入门到实践19.3.3 19.3.3 更新记录更新记录在上两节内增加和编辑记录后都必须使用更新记录在上两节内增加和编辑记录后都必须使用更新记录Update方方法来真正存储数据到数据库内。法来真正存储数据到数据库内。Update方法将数据信息方法将数据信息从缓冲区内正式写入记录集内。如果只是使用从缓冲区内正式写入记录集内。如果只是使用Addnew方方法后,运行法后,运行Update方法将自动增加一个空白新记录。方法将自动增加一个空白新记录。Rs.UpdateVB从入门到实践从入门到实践19.3.4 19.3.4 删除记录删除记录DAO数据对象在数据库内删除数据使用数据对象在数据库内删除数据使用Delete方法。使用该方法。使用该方法之前必须定位到待删除记录,并指定为当前记录,可方法之前必须定位到待删除记录,并指定为当前记录,可以使用以使用Delete方法从表中永久删除该记录。删除记录后,方法从表中永久删除该记录。删除记录后,数据记录指针自动设置为空值。数据记录指针自动设置为空值。Rs.deleteVB从入门到实践从入门到实践19.4 19.4 数据导航数据导航DAO数据对象提供了在记录集中在记录之间移动和过滤的方数据对象提供了在记录集中在记录之间移动和过滤的方式。主要包括式。主要包括Move方法、方法、Bookmark属性、属性、Find方法、方法、Seek方法、方法、Filter属性、属性、Sort属性。本节介绍如何使用以属性。本节介绍如何使用以上方法、属性来进行数据导航和过滤的方法。上方法、属性来进行数据导航和过滤的方法。VB从入门到实践从入门到实践19.4.1 Move19.4.1 Move方法方法Visual Basic中中DAO数据对象提供了不同记录集都可以操作的数据对象提供了不同记录集都可以操作的Move方方法。法。Move方法操作MoveFirst在当前打开记录集中,将记录指针从当前记录移动到第一个记录上。Movenext在当前打开记录集中,将记录指针从当前记录移动到下一个记录上。Moveprevious在当前打开记录集中,将记录指针从当前记录移动到上一个记录上。Movelast在当前打开记录集中,将记录指针从当前记录移动到最后一个记录上。Moven在当前打开记录集中,将记录指针从当前记录移动到指定记录上。VB从入门到实践从入门到实践19.4.2 Bookmark19.4.2 Bookmark属性属性当数据库中的记录指针移动或新增加记录后,用户可能希望当数据库中的记录指针移动或新增加记录后,用户可能希望回到指定记录。回到指定记录。Bookmark属性就是系统设定与数据库内属性就是系统设定与数据库内记录相关的属性。该属性可以使用字符串标记当前记录指记录相关的属性。该属性可以使用字符串标记当前记录指针所在位置。当需要移动返回该记录时,将针所在位置。当需要移动返回该记录时,将Bookmark属属性设置为保存字符串即可。性设置为保存字符串即可。VB从入门到实践从入门到实践19.4.3 Find19.4.3 Find方法方法当处理数据库中数量庞大的记录时,如何高效查询数据就变得当处理数据库中数量庞大的记录时,如何高效查询数据就变得非常重要。非常重要。Visual Basic中使用中使用DAO数据对象提供了非常强大数据对象提供了非常强大的查询方法的查询方法Find方法。该方法只适用于动态集和快照集类方法。该方法只适用于动态集和快照集类型。型。Find方法操作FindfiRst在当前打开记录集中,查找指定条件的第一个记录上。Findenext在当前打开记录集中,查找指定条件的下一个记录上。Findprevious在当前打开记录集中,查找指定条件的上一个记录上。Findlast在当前打开记录集中,查找指定条件的最后一个记录上。VB从入门到实践从入门到实践19.4.4 Seek19.4.4 Seek方法方法Seek方法与方法与Find方法相类似,惟一区别在于方法相类似,惟一区别在于Seek方法只适用方法只适用于表类型记录集,并且该数据库内有激活索引。该方法是于表类型记录集,并且该数据库内有激活索引。该方法是最受限制,但定位记录最快的方式。使用最受限制,但定位记录最快的方式。使用Seek方法查询定方法查询定位数据库记录时,需要指定查询条件和使用记录集的位数据库记录时,需要指定查询条件和使用记录集的nomatch属性。查询条件可以使用比较运算符(属性。查询条件可以使用比较运算符(、=、=、=、#)等。)等。VB从入门到实践从入门到实践19.4.5 Filter19.4.5 Filter属性属性该属性仅能在动态集和快照集中使用,用以来过滤显示指定该属性仅能在动态集和快照集中使用,用以来过滤显示指定条件的记录。该过滤条件可以包含一个或多个条件,也可条件的记录。该过滤条件可以包含一个或多个条件,也可以使用复杂的表达式。以使用复杂的表达式。VB从入门到实践从入门到实践19.4.6 Sort19.4.6 Sort属性属性该属性仅能在动态集和快照集中使用。通过对排序的动态集该属性仅能在动态集和快照集中使用。通过对排序的动态集中字段提供字段名称和排序方式来指定中字段提供字段名称和排序方式来指定Sort属性。可以指属性。可以指定任意字段或字段集合。多个字段的前后顺序对排序很重定任意字段或字段集合。多个字段的前后顺序对排序很重要。与要。与SQL语句的语句的Order by子句类似。子句类似。VB从入门到实践从入门到实践19.5 19.5 本章实例本章实例本章实例学习本章实例学习DAO数据对象的引用、创建一个完整的实用数数据对象的引用、创建一个完整的实用数据管理程序。据管理程序。【实例实例19-1】DAO数据对象创建一个数据管理程序。数据对象创建一个数据管理程序。 VB从入门到实践从入门到实践19.6 19.6 常见问题及解答常见问题及解答1如何添加如何添加DAO数据对象引用?数据对象引用?2网络开发程序中,网络开发程序中,DAO数据对象是否可以使用数据对象是否可以使用Opendatabase方法以独占方式打开一个数据库?方法以独占方式打开一个数据库?3打开数据库方式使用表、动态集、快照集三种方式都可打开数据库方式使用表、动态集、快照集三种方式都可以,如何选择在程序开发中使用三种方式?以,如何选择在程序开发中使用三种方式?VB从入门到实践从入门到实践19.7 19.7 小结小结本章介绍了本章介绍了DAO数据对象基础知识、记录集的三种类型、数数据对象基础知识、记录集的三种类型、数据管理和导航方法。本章重点难点包括:如何使用据管理和导航方法。本章重点难点包括:如何使用DAO各种方法进行数据导航、查询和管理。各种方法进行数据导航、查询和管理。DAO数据对象层数据对象层次结构复杂、参数众多难于掌握。下一章将介绍次结构复杂、参数众多难于掌握。下一章将介绍ADO数数据对象。据对象。VB从入门到实践从入门到实践第第2020章章 ADOADO数据对象数据对象ADO(ActiveX数据对象,数据对象,ActiveX Data Object)是)是Visual Basic程序中数据库开发中的最新内容。程序中数据库开发中的最新内容。ADO提供了提供了OLE DB接口与各种不同类型数据库的连接方式。接口与各种不同类型数据库的连接方式。lADO数据控件访问数据库;数据控件访问数据库;lADO对象访问数据库。对象访问数据库。VB从入门到实践从入门到实践20.1 ADO20.1 ADO简介简介ADO(ActiveX Data Object)是)是Microsoft公司最新的数据访公司最新的数据访问技术。问技术。ADO在在Visual Basic程序中即将替代程序中即将替代DAO数据对数据对象。象。ADO与其他数据对象相比具有以下优点:与其他数据对象相比具有以下优点:l高效处理速度、较低内存占用;高效处理速度、较低内存占用;l熟悉界面、易于使用;熟悉界面、易于使用;l同一个同一个Connection对象,多个记录集操作;对象,多个记录集操作;l针对网络和客户针对网络和客户/服务器模式进行了优化。服务器模式进行了优化。VB从入门到实践从入门到实践20.1.1 20.1.1 连接数据源方法连接数据源方法ADO在程序中通过新的数据访问接口在程序中通过新的数据访问接口OLE DB Provider进行进行数据访问。数据访问。OLE DB是一个底层的数据访问接口,可以访是一个底层的数据访问接口,可以访问各种不同类型的数据源,包括传统的关系型数据库、大问各种不同类型的数据源,包括传统的关系型数据库、大型网络数据库或电子邮件服务器之类等。型网络数据库或电子邮件服务器之类等。VB从入门到实践从入门到实践20.1.2 20.1.2 安装安装ADOADOADO数据对象在使用之前必须在数据对象在使用之前必须在Visual Basic程序中引用该程序中引用该对象。选择对象。选择“工程工程”|“引用引用”命令,弹出命令,弹出“引用引用”对话对话框。复选框。复选“Microsoft ActiveX Data Object 2.8 Library”选项。自动添加版本为选项。自动添加版本为1.5的的ADO数据对象。数据对象。VB从入门到实践从入门到实践20.1.3 20.1.3 建立建立DSNDSN连接连接在在Visual Basic中操作一个中操作一个DSN非常简单。依次双击非常简单。依次双击“我的电我的电脑脑”|“控制面板控制面板”“管理工具管理工具”|“数据源数据源(ODBC)”图标,图标,弹出弹出“ODBC数据源管理器数据源管理器”对话框。用户可以进行添加、对话框。用户可以进行添加、删除、配置等各项数据源操作。删除、配置等各项数据源操作。VB从入门到实践从入门到实践20.1.3 20.1.3 建立建立DSNDSN连接连接VB从入门到实践从入门到实践20.2 ADO20.2 ADO数据控件访问数据库数据控件访问数据库ADO数据对象包含非常强大的功能和良好的灵活性。在数据对象包含非常强大的功能和良好的灵活性。在Visual Basic中包含一个新数据控件:中包含一个新数据控件:ADO数据控件。该数据控件。该控件主要操作控件主要操作ADO数据对象。数据对象。ADO数据控件可以在设计数据控件可以在设计模式下绑定到某个控件,该控件即成为一个绑定控件用以模式下绑定到某个控件,该控件即成为一个绑定控件用以显示数据记录。显示数据记录。VB从入门到实践从入门到实践20.2.1 20.2.1 建立建立ADOADO数据控件数据控件ADO数据控件不是数据控件不是Visual Basic中默认控件,必须手动添加。中默认控件,必须手动添加。选择选择“工程工程”|“部件部件”选项,弹出选项,弹出“部件部件”对话框,选对话框,选择择“Microsoft ADO Data Control 6.0”选项。单击选项。单击“确定确定”按钮。按钮。VB从入门到实践从入门到实践20.2.2 20.2.2 连接数据源连接数据源连接方式包括以下几种方法:连接方式包括以下几种方法:l使用使用Data Link文件。文件。l使用使用ODBC数据资源名称。数据资源名称。l使用连接字符串。使用连接字符串。l记录源连接方式包括记录源连接方式包括SQL语言查询、表类型、存储过程和语言查询、表类型、存储过程和未知类型四种,如图未知类型四种,如图20.7所示。具体参数说明如下:所示。具体参数说明如下:lAdcmdText:使用一个使用一个SQL查询字符串。查询字符串。lAdcmdtable:使用给一个数据库的表。使用给一个数据库的表。lAdcmdstoredproc:调用一个已存的过程名称。调用一个已存的过程名称。VB从入门到实践从入门到实践20.2.3 20.2.3 代码修改数据源代码修改数据源ADO数据控件可以在设计期间设定记录源,也可以在程序运数据控件可以在设计期间设定记录源,也可以在程序运行期间设置数据源名称。主要修改行期间设置数据源名称。主要修改Connectionstring和和Commandtype、Recordsource属性。最后调用属性。最后调用Refresh方方法来刷新查询数据。法来刷新查询数据。VB从入门到实践从入门到实践20.2.4 ADO20.2.4 ADO数据控件实例数据控件实例数据控件可以将数据连接至数据源。用户需要在最终界面来数据控件可以将数据连接至数据源。用户需要在最终界面来查看和修改这些数据记录。因此需要使绑定显示数据控件查看和修改这些数据记录。因此需要使绑定显示数据控件与数据控件相关联。绑定控件必须要指定显示数据控件的与数据控件相关联。绑定控件必须要指定显示数据控件的Datasource和和Datafield属性。其中,属性。其中,Datasource属性可以属性可以与数据控件相关联。与数据控件相关联。Datafield属性设置数据库中表的字段属性设置数据库中表的字段名称。名称。VB从入门到实践从入门到实践20.2.5 20.2.5 建立建立DatagridDatagrid控件控件Datagrid控件不是控件不是Visual Basic中的默认控件,需要手动添加。中的默认控件,需要手动添加。选择选择“工程工程”|“部件部件”选项,弹出选项,弹出“部件部件”对话框,选对话框,选择择“Microsoft Data grid Control 6.0”选项。单击选项。单击“确定确定”按钮。按钮。VB从入门到实践从入门到实践20.2.6 20.2.6 DatagridDatagrid控件显示数据控件显示数据Datagrid控件显示数据需要指定其数据源,主要设置控件显示数据需要指定其数据源,主要设置Datasource属性。属性。Datagrid控件不同于其他数据显示控件,控件不同于其他数据显示控件,不需要指定不需要指定Datafield属性。属性。Datagrid控件中显示表或控件中显示表或SQL语句中多个字段名。右击语句中多个字段名。右击Datagrid控件,选择控件,选择“属性属性”命命令,弹出令,弹出“属性页属性页”对话框。对话框。VB从入门到实践从入门到实践20.2.7 20.2.7 代码修改代码修改DatagridDatagrid控件控件Datagrid控件可以在设计期间显示数据内容和格式。还可以控件可以在设计期间显示数据内容和格式。还可以在程序运行期间修改在程序运行期间修改Datagrid控件的内容。控件的内容。Datagrid1.Caption = 进销存Datagrid1.Columns(0).Locked = TrueDatagrid1.Columns(0).NumberFormat = #,#0.00Datagrid1.Columns(0).Width = 300Datagrid1.Columns(0).Visible = TrueDatagrid1.Columns(0).Alignment = dbgRightVB从入门到实践从入门到实践20.2.8 20.2.8 DatagridDatagrid控件实例控件实例【示例示例20-4】使用使用Datagrid控件显示数据。控件显示数据。VB从入门到实践从入门到实践20.3 ADO20.3 ADO对象访问数据库对象访问数据库上一节介绍上一节介绍ADO数据控件的使用方法。当在数据控件的使用方法。当在Visual Basic程程序中使用序中使用ADO数据对象时,数据对象时,ADO数据对象的强大功能才数据对象的强大功能才能体现出来。本节介绍如何使用能体现出来。本节介绍如何使用ADO数据对象来访问数数据对象来访问数据库。据库。VB从入门到实践从入门到实践20.3.1 20.3.1 操作操作ADOADO对象对象1使用使用Open方法打开一个连接方法打开一个连接2使用使用Execute方法返回一个记录集方法返回一个记录集3使用使用Close方法关闭连接方法关闭连接VB从入门到实践从入门到实践20.3.2 DSN-less20.3.2 DSN-less连接数据源连接数据源最常见的最常见的DSN-less连接为连接连接为连接Access数据库的连接方法。数据库的连接方法。SQL Server的连接方法的连接方法Cn.Connectionstring=”Provider=Microsoft.jet.oledb.3.51;Data source=c:Test.mdb”Cn.Connectionstring=”Driver=Microsoft Access Driver(*.mdb);DBQ=c:Test.mdb”Cn.Connectionstring=”Provider=SQLOLEDB.1;Password=pwd;user id=myuser;Location=SQLSERVER;Database=MYDATABASE”VB从入门到实践从入门到实践20.3.3 20.3.3 操作记录集操作记录集1创建记录集创建记录集2显示记录显示记录Dim Rs as adodb.recordsetSet Rs=new adodb.recordsetRs.Fields(“姓名”)=”李四”VB从入门到实践从入门到实践20.3.3 20.3.3 操作记录集操作记录集3导航记录导航记录MoveFirst方法移动到数据库中第一笔记录。方法移动到数据库中第一笔记录。Moveprevious方法移动到数据库中上一笔记录。方法移动到数据库中上一笔记录。Movenext方法移动到数据库中下一笔记录。方法移动到数据库中下一笔记录。Movelast方法移动到数据库中最后一笔记录。方法移动到数据库中最后一笔记录。 4更新记录更新记录Rs.Fields(“月薪”)=2000Rs.UpdateVB从入门到实践从入门到实践20.4 20.4 本章实例本章实例本章实例学习本章实例学习ADO数据对象和数据控件操作,创建一个完整数据对象和数据控件操作,创建一个完整的实用数据管理程序。的实用数据管理程序。【实例实例20-1】实用数据管理程序。实用数据管理程序。 VB从入门到实践从入门到实践20.5 20.5 常见问题及解答常见问题及解答1ADO数据对象与数据对象与DAO有什么区别?有什么区别?2ADO中使用数据控件方式和数据对象方式访问数据那种中使用数据控件方式和数据对象方式访问数据那种更快捷?更快捷?VB从入门到实践从入门到实践20.6 20.6 小结小结本章介绍了本章介绍了ADO数据控件基础知识、如何建立和修改数据源、数据控件基础知识、如何建立和修改数据源、使用使用Datagrid控件显示数据。控件显示数据。ADO数据对象基础知识、如何建立和操作数据对象基础知识、如何建立和操作ADO数据对象、如何操数据对象、如何操作记录集。本章重点难点包括:如何操作作记录集。本章重点难点包括:如何操作ADO数据对象、数据对象、如何使用如何使用ADO数据对象进行数据导航和管理。数据对象进行数据导航和管理。ADO数据数据对象层次相对复杂、参数众多需要熟练掌握。下一章将介对象层次相对复杂、参数众多需要熟练掌握。下一章将介绍如何设计报表。绍如何设计报表。VB从入门到实践从入门到实践第第2121章章 报表设计报表设计数据报表是应用程序中面对最终客户非常重要组成部分,具数据报表是应用程序中面对最终客户非常重要组成部分,具有预览数据、打印输出的功能。数据报表主要用来分页显有预览数据、打印输出的功能。数据报表主要用来分页显示查询数据、打印数据库内指定记录。本章内容包括:示查询数据、打印数据库内指定记录。本章内容包括:l创建报表创建报表l改进报表改进报表l水晶报表水晶报表VB从入门到实践从入门到实践21.1 21.1 创建报表创建报表数据报表(数据报表(Data Report)与普通程序窗体不同之处在于其与普通程序窗体不同之处在于其必须事先设计好显示报表格式。设计好报表格式后指定数必须事先设计好显示报表格式。设计好报表格式后指定数据源连接方式,这样就可以在应用程序中调用显示动态查据源连接方式,这样就可以在应用程序中调用显示动态查询报表。询报表。VB从入门到实践从入门到实践21.1.1 21.1.1 设计数据报表设计数据报表VB从入门到实践从入门到实践21.1.1 21.1.1 设计数据报表设计数据报表控件名称说明RptLabel显示文本标签RptTextBox显示数据库字段数据RptImage显示图片Rptline在报表中画线Rptshape在报表中画出图形Rptfunction在标题和注脚处放置包含统计功能的字段VB从入门到实践从入门到实践21.1.2 21.1.2 建立数据源建立数据源1使用使用Open方法打开一个连接方法打开一个连接2使用使用Execute方法返回一个记录集方法返回一个记录集3使用使用close方法关闭连接方法关闭连接Dim cn as adodb.Connection声明数据库Set cn=new adodb.Connection建立数据库连接Cn.Connectionstring=”dsn=gzb”连接字符串Cn.OpenSet Rs=cn.execute(“Select * from gzb”)Cn.closeVB从入门到实践从入门到实践21.1.3 21.1.3 预览报表预览报表数据报表根据客户需要设计好后,需要使用代码连接数据源数据报表根据客户需要设计好后,需要使用代码连接数据源并显示数据报表。建立一个空白窗体,添加一个显示预览并显示数据报表。建立一个空白窗体,添加一个显示预览报表命令控件,输入连接数据源代码,使用报表命令控件,输入连接数据源代码,使用Show方法来方法来显示已经设计好的数据报表。显示已经设计好的数据报表。VB从入门到实践从入门到实践21.2 21.2 改进报表改进报表上一节非常简单实现数据报表预览方式。用户可以使用更多上一节非常简单实现数据报表预览方式。用户可以使用更多函数、属性、方法等来改进报表显示内容,使其功能更加函数、属性、方法等来改进报表显示内容,使其功能更加全面、效果更加美观。本节介绍如何使用预定义报表字段全面、效果更加美观。本节介绍如何使用预定义报表字段用最简单的方式实现强大功能、加入图片等美化报表界面、用最简单的方式实现强大功能、加入图片等美化报表界面、控制打印和输入方式。控制打印和输入方式。VB从入门到实践从入门到实践21.2.1 21.2.1 预定义报表字段预定义报表字段数据报表中预定义很多报表字段,可以用最简单的方式实现复数据报表中预定义很多报表字段,可以用最简单的方式实现复杂的功能。杂的功能。预定义字段说明%p当前页码%P总页数%d当前日期(短格式)%D当前日期(长格式)%t当前时间(短格式)%T当前时间(长格式)%i报表标题VB从入门到实践从入门到实践21.2.2 21.2.2 图形化报表图形化报表图形和图像主要起到美化报表的功能。优秀的图形化报表也图形和图像主要起到美化报表的功能。优秀的图形化报表也是开发人员实力的表现。在数据报表中图形化主要包括三是开发人员实力的表现。在数据报表中图形化主要包括三种控件:报表图像控件种控件:报表图像控件RptImage、报表画线控件报表画线控件Rptline、报表图形控件报表图形控件Rptshape。VB从入门到实践从入门到实践21.2.3 21.2.3 统计函数统计函数数据报表功能非常强大,可以设置统计字段进行数据汇总。数据报表功能非常强大,可以设置统计字段进行数据汇总。主要使用主要使用Rptfunction控件创建的函数字段。该函数字段控件创建的函数字段。该函数字段只能操作数值类型的数据,且必须设置只能操作数值类型的数据,且必须设置Datafield属性为字属性为字段名称。主要包括以下功能类型:段名称。主要包括以下功能类型:Rptfuncsum实现求和;实现求和;Rptfuncave实现求平均值;实现求平均值;Rptfuncmin实现求最小值;实现求最小值;Rptfuncmax实现求最大值;实现求最大值;Rptfuncrcnt实现求行数。实现求行数。VB从入门到实践从入门到实践21.2.4 21.2.4 打印输出打印输出报表最重要的功能就是打印输出文件。数据报表包括三种方报表最重要的功能就是打印输出文件。数据报表包括三种方式传递报表:式传递报表:预览报表:使用预览报表:使用Show方法显示在屏幕上,允许用户进行预方法显示在屏幕上,允许用户进行预览后选择打印。览后选择打印。直接打印报表:使用直接打印报表:使用Printreport方法直接打印报表到打印机方法直接打印报表到打印机上。该方法可以自动实现打印功能。上。该方法可以自动实现打印功能。VB从入门到实践从入门到实践21.3 21.3 水晶报表水晶报表水晶报表(水晶报表(Crystal Report)是一款非常优秀的第三方的报是一款非常优秀的第三方的报表控件。它包含在表控件。它包含在Visual Basic程序中的为程序中的为4.6版本。水晶版本。水晶报表支持从众多知名数据库(诸如报表支持从众多知名数据库(诸如SQL server等大型数据等大型数据库)中创建报表。水晶报表中包含报表设计器和报表控件。库)中创建报表。水晶报表中包含报表设计器和报表控件。报表设计器可以创建、设计、修改报表。报表控件可以在报表设计器可以创建、设计、修改报表。报表控件可以在Visual Basic程序中使用预览报表。程序中使用预览报表。VB从入门到实践从入门到实践21.3.1 21.3.1 创建水晶报表创建水晶报表VB从入门到实践从入门到实践21.3.2 21.3.2 定制报表定制报表通过模板创建的报表文件不一定完全符合客户的需要。用户通过模板创建的报表文件不一定完全符合客户的需要。用户可以根据不同的报表显示内容要求来随意修改报表文件。可以根据不同的报表显示内容要求来随意修改报表文件。在设计模式下修改报表文件时,可以像标准控件一样添加在设计模式下修改报表文件时,可以像标准控件一样添加和修改报表字段。在和修改报表字段。在“插入(插入(Insert)”菜单项下可以插菜单项下可以插入以下不同类型字段:入以下不同类型字段:l数据库字段:显示数据库数据信息字段。数据库字段:显示数据库数据信息字段。l文本字段:显示固定文本信息。文本字段:显示固定文本信息。l公式字段:显示一个公式计算的结果。公式字段:显示一个公式计算的结果。l特殊字段:自动显示当前页、日期和时间的字段。特殊字段:自动显示当前页、日期和时间的字段。VB从入门到实践从入门到实践21.3.3 21.3.3 水晶报表控件水晶报表控件当一个水晶报表文件创建成功后,需要在程序中调用水晶报当一个水晶报表文件创建成功后,需要在程序中调用水晶报表控件来使用代码显示报表文件。在表控件来使用代码显示报表文件。在Visual Basic中调用中调用报表文件必须使用水晶报表控件。由于水晶报表是第三方报表文件必须使用水晶报表控件。由于水晶报表是第三方控件,必须手动添加到程序内。水晶报表控件中包含几个控件,必须手动添加到程序内。水晶报表控件中包含几个重要属性:重要属性:lReportfileName属性,用来设置报表文件的目录和名称。属性,用来设置报表文件的目录和名称。lDatafiles属性,用来指定报表操作的数据库文件名称。属性,用来指定报表操作的数据库文件名称。lPrintreport属性,用来显示和预览报表。属性,用来显示和预览报表。lAction属性,用来显示和预览报表。属性,用来显示和预览报表。VB从入门到实践从入门到实践21.3.4 21.3.4 水晶报表实例水晶报表实例【示例示例21-8】以以21.3.2小节创建的报表文件为例,创建一个小节创建的报表文件为例,创建一个显示报表的实例。显示报表的实例。VB从入门到实践从入门到实践21.4 21.4 本章实例本章实例本章实例学习创建数据报表并预览报表。下面详细介绍具体本章实例学习创建数据报表并预览报表。下面详细介绍具体操作步骤:操作步骤:【实例实例21-1】创建数据报表。创建数据报表。 VB从入门到实践从入门到实践21.5 21.5 常见问题及解答常见问题及解答1Visual Basic中内置报表与水晶报表有什么区别?中内置报表与水晶报表有什么区别?2如何快速使用水晶报表开发报表文件?如何快速使用水晶报表开发报表文件?3程序中查询数据已经更新且复制到水晶报表文件,预览程序中查询数据已经更新且复制到水晶报表文件,预览时数据为何不自动更新?时数据为何不自动更新?VB从入门到实践从入门到实践21.6 21.6 小结小结本章介绍了如何创建数据报表和水晶报表、在程序中预览报本章介绍了如何创建数据报表和水晶报表、在程序中预览报表。本章重点难点包括:如何使用水晶报表动态显示报表表。本章重点难点包括:如何使用水晶报表动态显示报表文件。设计界面完美、结构复杂的水晶报表需要在开发中文件。设计界面完美、结构复杂的水晶报表需要在开发中不断探索开发技巧。动态查询和预览打印数据库文件代码不断探索开发技巧。动态查询和预览打印数据库文件代码复杂难于掌握。复杂难于掌握。VB从入门到实践从入门到实践第第2222章章 电视抽奖程序电视抽奖程序现在电视节目都有丰富多彩的电视抽奖活动。当主持人宣布现在电视节目都有丰富多彩的电视抽奖活动。当主持人宣布开始抽奖时,电话号码、手机号码、姓名等数值随机显示开始抽奖时,电话号码、手机号码、姓名等数值随机显示在电视屏幕上,主持人宣布停时中奖的电话号码显示在电在电视屏幕上,主持人宣布停时中奖的电话号码显示在电视屏幕上。本章中将以一个电视抽奖程序为例,具体介绍视屏幕上。本章中将以一个电视抽奖程序为例,具体介绍建立一个完整的电视抽奖程序的完整的设计过程。建立一个完整的电视抽奖程序的完整的设计过程。VB从入门到实践从入门到实践22.1 22.1 项目分析项目分析项目分析是对整个工程项目的功能和模块设计进行分析决定项目分析是对整个工程项目的功能和模块设计进行分析决定如何开发项目和实现功能。如何开发项目和实现功能。VB从入门到实践从入门到实践22.1.1 22.1.1 项目功能分析项目功能分析项目功能分析是在项目开发总体任务基础上进行的。电视抽项目功能分析是在项目开发总体任务基础上进行的。电视抽奖程序总体任务是实现随机数值抽取。本项目中需要实现奖程序总体任务是实现随机数值抽取。本项目中需要实现的功能如下:的功能如下:l抽奖电话号码信息录入。抽奖电话号码信息录入。l抽奖电话号码信息修改。抽奖电话号码信息修改。l抽奖电话号码信息删除。抽奖电话号码信息删除。l抽奖电话号码中奖号码自动录入。抽奖电话号码中奖号码自动录入。l抽奖电话号码显示。抽奖电话号码显示。VB从入门到实践从入门到实践22.1.2 22.1.2 项目功能模块分析项目功能模块分析电视抽奖程序电话号码录入电话号码修改电话号码删除中奖电话号码显示中奖电话号码查询VB从入门到实践从入门到实践22.2 22.2 数据库设计与实现数据库设计与实现数据库在电视抽奖程序中占有非常重要的地位。数据库结构数据库在电视抽奖程序中占有非常重要的地位。数据库结构的好坏直接对系统实现的效率及效果产生巨大的影响。合的好坏直接对系统实现的效率及效果产生巨大的影响。合理的数据库结构可以提高数据存储的效率,保证数据的完理的数据库结构可以提高数据存储的效率,保证数据的完整性和一致性。本项目数据库主要存储电话号码信息以便整性和一致性。本项目数据库主要存储电话号码信息以便程序调入和显示。程序调入和显示。VB从入门到实践从入门到实践22.2.1 22.2.1 数据库需求分析数据库需求分析电话号码录入电话号码管理抽奖活动中奖电话号码录入中奖电话号码查询中奖电话号码显示VB从入门到实践从入门到实践22.2.2 22.2.2 数据库结构设计数据库结构设计电话号码信息实体电话号码姓名地址VB从入门到实践从入门到实践22.2.2 22.2.2 数据库结构设计数据库结构设计中奖电话号码信息实体电话号码姓名地址VB从入门到实践从入门到实践22.2.2 22.2.2 数据库结构设计数据库结构设计电话号码信息抽奖活动中奖电话号码录入中奖电话号码显示VB从入门到实践从入门到实践22.2.3 22.2.3 数据库结构实现数据库结构实现数据库结构设计好以后,需要将其转化为数据库结构设计好以后,需要将其转化为Access数据库所支持数据库所支持的数据库模型。电视抽奖程序数据库中电话号码信息表名为的数据库模型。电视抽奖程序数据库中电话号码信息表名为Phone,中奖电话号码信息表名为中奖电话号码信息表名为Award。列名数据类型可否为空说明No数字否序号Phone文本否电话号码Name文本可姓名Address文本可地址VB从入门到实践从入门到实践22.3 22.3 程序窗体的设计与实现程序窗体的设计与实现本程序主要使用图形来显示电话号码。在设计程序之前使用本程序主要使用图形来显示电话号码。在设计程序之前使用photoshop等图形图像处理软件来设计抽奖的背景图片和等图形图像处理软件来设计抽奖的背景图片和0-9所有的数字的图片。关于图像设计相关内容参看其他所有的数字的图片。关于图像设计相关内容参看其他资料进行设计。资料进行设计。VB从入门到实践从入门到实践22.3.1 “22.3.1 “抽奖主程序抽奖主程序”模块模块“抽奖主程序抽奖主程序”模块主要包括四个模块主要包括四个CommandButton控件:控件:开始抽奖、关于本程序、电话号码程序、电话号码录入。开始抽奖、关于本程序、电话号码程序、电话号码录入。分别调用运行其他程序模块。分别调用运行其他程序模块。VB从入门到实践从入门到实践22.3.2 “22.3.2 “抽奖录入窗体抽奖录入窗体”模块模块所有抽奖电话号码在进行抽奖之前必须录入到数据库的所有抽奖电话号码在进行抽奖之前必须录入到数据库的Phone表。表。“抽奖录入抽奖录入”窗体模块主要用以导航、显示、窗体模块主要用以导航、显示、输入电话号码信息。输入电话号码信息。VB从入门到实践从入门到实践22.3.3 “22.3.3 “抽奖窗体抽奖窗体”模块模块“抽奖窗体抽奖窗体”模块主要以图形化数字来动态显示电话号码,模块主要以图形化数字来动态显示电话号码,当按下空格键时停止运行。出现当按下空格键时停止运行。出现“祝您中奖祝您中奖”的图片,显的图片,显示中奖电话号码。示中奖电话号码。VB从入门到实践从入门到实践22.3.4 “22.3.4 “抽奖查询窗体抽奖查询窗体”模块模块“抽奖查询窗体抽奖查询窗体”模块主要用以根据姓名、电话号码、地址模块主要用以根据姓名、电话号码、地址查询数据库记录信息。查询数据库记录信息。VB从入门到实践从入门到实践22.3.5 “22.3.5 “关于窗体关于窗体”模块模块“关于窗体关于窗体”模块主要用来声明程序名称、版本、公司等。模块主要用来声明程序名称、版本、公司等。本节将使用本节将使用“关于窗体关于窗体”模板来创建一个标准模板来创建一个标准Visual Basic中的中的About窗体。窗体。VB从入门到实践从入门到实践22.3.6 22.3.6 运行程序运行程序电视抽奖程序各窗体设计好后,可以查看整个程序的运行状电视抽奖程序各窗体设计好后,可以查看整个程序的运行状况。运行程序,出现如图况。运行程序,出现如图22.13所示的电视抽奖主窗体。所示的电视抽奖主窗体。VB从入门到实践从入门到实践22.3.7 22.3.7 编译程序编译程序完成了电视抽奖程序的编程和调试工作,最后进行程序编译。完成了电视抽奖程序的编程和调试工作,最后进行程序编译。编译程序涉及到程序项目属性的设置、可执行应用程序的编译程序涉及到程序项目属性的设置、可执行应用程序的生成。生成。VB从入门到实践从入门到实践22.4 22.4 小结小结本章介绍了当前非常流行的电视抽奖程序的开发过程。在本本章介绍了当前非常流行的电视抽奖程序的开发过程。在本章中详细介绍了如何设计和实现系统程序,包括功能模块章中详细介绍了如何设计和实现系统程序,包括功能模块设计、数据库设计、窗体设计。最终创建了一个功能完整设计、数据库设计、窗体设计。最终创建了一个功能完整的电视抽奖程序。的电视抽奖程序。VB从入门到实践从入门到实践第第2323章章 网络聊天程序网络聊天程序互联网已经成为现代社会生活中非常普及的一项事务。在互互联网已经成为现代社会生活中非常普及的一项事务。在互联网可以查询信息、电子购物,还可以进行网络聊天。本联网可以查询信息、电子购物,还可以进行网络聊天。本章将用章将用Visual Basic开发一个网络聊天程序,详细介绍项开发一个网络聊天程序,详细介绍项目分析和设计、实现功能。目分析和设计、实现功能。VB从入门到实践从入门到实践23.1 23.1 项目分析项目分析项目分析是对整个工程项目的功能和模块设计进行分析决定项目分析是对整个工程项目的功能和模块设计进行分析决定如何开发项目和实现功能。如何开发项目和实现功能。VB从入门到实践从入门到实践23.1.1 23.1.1 项目功能分析项目功能分析项目功能分析是在项目开发总体任务基础上进行的。网络聊项目功能分析是在项目开发总体任务基础上进行的。网络聊天程序总体任务是实现网络连接并显示对话信息。本项目天程序总体任务是实现网络连接并显示对话信息。本项目中需要实现的功能如下:中需要实现的功能如下:l网络聊天程序验证密码。网络聊天程序验证密码。l网络聊天程序客户端输入和接受信息。网络聊天程序客户端输入和接受信息。l网络聊天程序服务器端输入和接受信息。网络聊天程序服务器端输入和接受信息。l网络聊天程序关于窗体。网络聊天程序关于窗体。VB从入门到实践从入门到实践23.1.2 23.1.2 项目功能模块分析项目功能模块分析网络聊天登录验证客户端信息服务器端信息关于窗体VB从入门到实践从入门到实践23.2 23.2 数据库设计与实现数据库设计与实现数据库在网络聊天程序中占有非常重要的地位。数据库结构数据库在网络聊天程序中占有非常重要的地位。数据库结构的好坏直接对系统实现的效率及效果产生巨大的影响。合的好坏直接对系统实现的效率及效果产生巨大的影响。合理的数据库结构可以提高数据存储的效率,保证数据的完理的数据库结构可以提高数据存储的效率,保证数据的完整性和一致性。本项目数据库主要存储用户信息、对话信整性和一致性。本项目数据库主要存储用户信息、对话信息内容等数据。息内容等数据。VB从入门到实践从入门到实践23.2.1 23.2.1 数据库需求分析数据库需求分析服务器登录客户端登录网络会话会话信息保存会话信息查询VB从入门到实践从入门到实践23.2.2 23.2.2 数据库结构设计数据库结构设计用户信息实体用户序号密码VB从入门到实践从入门到实践23.2.2 23.2.2 数据库结构设计数据库结构设计会话信息实体会话信息用户时间VB从入门到实践从入门到实践23.2.2 23.2.2 数据库结构设计数据库结构设计用户登录会话信息会话信息存储会话信息查询VB从入门到实践从入门到实践23.2.3 23.2.3 数据库结构实现数据库结构实现列名数据类型可否为空说明No数字否序号Name文本可用户Password文本可密码列名数据类型可否为空说明No数字否序号Name文本可用户Chat文本可会话信息Time日期/时间可时间VB从入门到实践从入门到实践23.3 23.3 程序窗体的设计与实现程序窗体的设计与实现数据库内各表设计完成后,有关数据库的后台工作已经完成。数据库内各表设计完成后,有关数据库的后台工作已经完成。现在将通过网络聊天程序各个功能模块的实现,讲解如何现在将通过网络聊天程序各个功能模块的实现,讲解如何使用使用Visual Basic来设计和编写网络聊天的窗体代码。来设计和编写网络聊天的窗体代码。网络聊天程序主要使用网络聊天程序主要使用Winsock控件。该控件不是控件。该控件不是Visual Basic中默认控件,必须手动添加。中默认控件,必须手动添加。VB从入门到实践从入门到实践23.3.1 “23.3.1 “登录窗体登录窗体”模块模块“登录窗体登录窗体”模块主要实现用户密码信息验证功能。包括用模块主要实现用户密码信息验证功能。包括用户名称和密码的文本框及二个户名称和密码的文本框及二个CommandButton控件。控件。VB从入门到实践从入门到实践23.3.2 “23.3.2 “客户端窗体客户端窗体”模块模块“客户端窗体客户端窗体”模块主要实现登录服务器后,发送和接受信模块主要实现登录服务器后,发送和接受信息并显示在文本框内。包括显示信息和发送信息的二个文息并显示在文本框内。包括显示信息和发送信息的二个文本框、连接网络和发送信息的二个本框、连接网络和发送信息的二个CommandButton控件。控件。VB从入门到实践从入门到实践23.3.3 “23.3.3 “服务器窗体服务器窗体”模块模块“服务器窗体服务器窗体”模块主要实现等待客户端连接,连接成功后模块主要实现等待客户端连接,连接成功后负责发送和接受信息并显示在文本框内。负责发送和接受信息并显示在文本框内。VB从入门到实践从入门到实践23.3.4 “23.3.4 “关于窗体关于窗体”模块模块“关于窗体关于窗体”模块主要用来声明程序名称、版本、公司等。模块主要用来声明程序名称、版本、公司等。本节将使用本节将使用“关于窗体关于窗体”模板来创建一个标准模板来创建一个标准Visual Basic中的中的About窗体。窗体。单击单击“工程工程”|“添加窗体添加窗体”命令,在弹出的命令,在弹出的“添加窗体添加窗体”中选择中选择“关于关于”对话框图标。对话框图标。VB从入门到实践从入门到实践23.3.5 23.3.5 运行程序运行程序VB从入门到实践从入门到实践23.4 23.4 小结小结本章介绍了当前非常流行的网络聊天程序的开发过程。详细本章介绍了当前非常流行的网络聊天程序的开发过程。详细介绍了如何设计和实现系统程序,包括功能模块设计、数介绍了如何设计和实现系统程序,包括功能模块设计、数据库设计、窗体设计。最终创建了一个功能完备、系统全据库设计、窗体设计。最终创建了一个功能完备、系统全面的网络聊天程序。面的网络聊天程序。VB从入门到实践从入门到实践第第2424章章 通用商品进销存系统的实现通用商品进销存系统的实现现代商业贸易活动日益频繁,商品进销存系统是商品统计管现代商业贸易活动日益频繁,商品进销存系统是商品统计管理的好助手。本章将用理的好助手。本章将用Visual Basic开发一个通用商品进开发一个通用商品进销存系统,详细介绍如何进行项目分析和设计,最终完整销存系统,详细介绍如何进行项目分析和设计,最终完整建立一个功能完备的通用商品进销存系统。建立一个功能完备的通用商品进销存系统。VB从入门到实践从入门到实践24.1 24.1 项目分析项目分析项目分析是对整个工程项目的功能和模块设计进行分析决定项目分析是对整个工程项目的功能和模块设计进行分析决定如何开发项目和实现功能。如何开发项目和实现功能。VB从入门到实践从入门到实践24.1.1 24.1.1 项目功能分析项目功能分析项目功能分析是在项目开发总体任务基础上进行的。通用商项目功能分析是在项目开发总体任务基础上进行的。通用商品进销存系统总体任务是实现商品信息管理和统计查询。品进销存系统总体任务是实现商品信息管理和统计查询。本项目中需要实现的功能如下:本项目中需要实现的功能如下:通用商品进销存系统登录系统。通用商品进销存系统登录系统。通用商品进销存系统用户管理。通用商品进销存系统用户管理。通用商品进销存系统商品资料管理。通用商品进销存系统商品资料管理。通用商品进销存系统商品入库。通用商品进销存系统商品入库。VB从入门到实践从入门到实践24.1.1 24.1.1 项目功能分析项目功能分析通用商品进销存系统商品出库。通用商品进销存系统商品出库。通用商品进销存系统商品入库查询。通用商品进销存系统商品入库查询。通用商品进销存系统商品出库查询。通用商品进销存系统商品出库查询。通用商品进销存系统商品库存查询。通用商品进销存系统商品库存查询。通用商品进销存系统注册通用商品进销存系统注册通用商品进销存系统访问网站。通用商品进销存系统访问网站。通用商品进销存系统日积月累。通用商品进销存系统日积月累。VB从入门到实践从入门到实践24.1.2 24.1.2 项目功能模块分析项目功能模块分析通用商品进销存系统登录系统用户管理商品出库关于窗体商品资料商品入库商品查询注册软件VB从入门到实践从入门到实践24.2 24.2 数据库设计与实现数据库设计与实现数据库在通用商品进销存系统中占有非常重要的地位。数据数据库在通用商品进销存系统中占有非常重要的地位。数据库结构的好坏直接对系统实现的效率及效果产生巨大的影库结构的好坏直接对系统实现的效率及效果产生巨大的影响。合理的数据库结构可以提高数据存储的效率,保证数响。合理的数据库结构可以提高数据存储的效率,保证数据的完整性和一致性。本项目数据库主要存储用户信息、据的完整性和一致性。本项目数据库主要存储用户信息、商品资料、商品入库信息、商品出库信息。商品资料、商品入库信息、商品出库信息。VB从入门到实践从入门到实践24.2.1 24.2.1 数据库需求分析数据库需求分析商品资料管理商品入库商品查询商品库存商品出库VB从入门到实践从入门到实践24.2.2 24.2.2 数据库结构设计数据库结构设计用户信息实体用户序号密码VB从入门到实践从入门到实践24.2.2 24.2.2 数据库结构设计数据库结构设计商品资料信息实体型号商品产地VB从入门到实践从入门到实践24.2.2 24.2.2 数据库结构设计数据库结构设计商品入库信息实体入库数量商品入库单价.VB从入门到实践从入门到实践24.2.2 24.2.2 数据库结构设计数据库结构设计商品库存信息实体型号商品库存数量.VB从入门到实践从入门到实践24.2.2 24.2.2 数据库结构设计数据库结构设计商品出库信息实体出库数量商品出库单价.VB从入门到实践从入门到实践24.2.3 24.2.3 数据库结构实现数据库结构实现数据库结构设计好以后,需要将其转化为数据库结构设计好以后,需要将其转化为Access数据库所支数据库所支持的数据库模型。通用商品进销存系统数据库中用户信息持的数据库模型。通用商品进销存系统数据库中用户信息表名为表名为user。VB从入门到实践从入门到实践24.324.3 程序窗体的设计实现程序窗体的设计实现数据库内各表设计完成后,有关数据库的后台工作已经完成。数据库内各表设计完成后,有关数据库的后台工作已经完成。现在将通过通用商品进销存系统各个功能模块的实现,讲现在将通过通用商品进销存系统各个功能模块的实现,讲解如何使用解如何使用Visual Basic来设计和编写通用商品进销存系来设计和编写通用商品进销存系统的窗体代码。统的窗体代码。“用户管理用户管理”模块模块“用户管理用户管理”模块主要管理用户表信息。包括增加、删除、模块主要管理用户表信息。包括增加、删除、修改用户信息。主要包括八个修改用户信息。主要包括八个CommandButton控件、二控件、二个标签控件、二个文本框控件。个标签控件、二个文本框控件。VB从入门到实践从入门到实践24.3.2 “24.3.2 “登录系统登录系统”模块模块“登录系统登录系统”模块主要接受和校验登录用户信息在用户信息模块主要接受和校验登录用户信息在用户信息表中是否存在。如果包含该用户,弹出主窗体;否则,提表中是否存在。如果包含该用户,弹出主窗体;否则,提示重新输入八个示重新输入八个CommandButton控件、二个标签控件、控件、二个标签控件、二个文本框控件。二个文本框控件。VB从入门到实践从入门到实践24.3.3 “24.3.3 “主窗体主窗体”模块模块“主窗体主窗体”模块包括一个菜单栏、一个状态栏和十一个模块包括一个菜单栏、一个状态栏和十一个CommandButton控件,分别为。控件,分别为。VB从入门到实践从入门到实践24.3.4 “24.3.4 “商品资料商品资料”模块模块“商品资料商品资料”模块主要管理商品资料信息。包括三个标签控模块主要管理商品资料信息。包括三个标签控件、三个文本框控件和八个件、三个文本框控件和八个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.5 “24.3.5 “商品入库商品入库”模块模块“商品入库商品入库”模块主要管理商品入库信息,增加入库表记录,模块主要管理商品入库信息,增加入库表记录,同时修改库存表记录。包括五个标签控件、一个下拉框控同时修改库存表记录。包括五个标签控件、一个下拉框控件、四个文本框控件、七个件、四个文本框控件、七个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.6 “24.3.6 “商品出库商品出库”模块模块“商品出库商品出库”模块主要管理商品出库信息,增加出库表记录,模块主要管理商品出库信息,增加出库表记录,同时修改库存表记录。包括五个标签控件、一个下拉框控同时修改库存表记录。包括五个标签控件、一个下拉框控件、四个文本框控件、七个件、四个文本框控件、七个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.7 “24.3.7 “入库查询入库查询”模块模块“入库查询入库查询”模块主要查询所有商品入库信息。包括一个模块主要查询所有商品入库信息。包括一个Datagrid控件、二个标签控件、二个下拉框控件、一个控件、二个标签控件、二个下拉框控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.8 “24.3.8 “库存查询库存查询”模块模块“库存查询库存查询”模块主要查询所有商品库存信息。包括一个模块主要查询所有商品库存信息。包括一个Datagrid控件、二个标签控件、二个下拉框控件、一个控件、二个标签控件、二个下拉框控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.9 “24.3.9 “出库查询出库查询”模块模块“出库查询出库查询”模块主要查询所有商品库存信息。包括一个模块主要查询所有商品库存信息。包括一个Datagrid控件、二个标签控件、二个下拉框控件、一个控件、二个标签控件、二个下拉框控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.10 “24.3.10 “关于窗体关于窗体”模块模块“关于窗体关于窗体”模块主要用来声明程序名称、版本、公司等。模块主要用来声明程序名称、版本、公司等。本节将使用本节将使用“关于窗体关于窗体”模板来创建一个标准模板来创建一个标准Visual Basic中的中的About窗体。单击窗体。单击“工程工程”|“添加窗体添加窗体”选项,选项,在弹出的在弹出的“添加窗体添加窗体”中选择中选择 “关于关于”对话框图标。自对话框图标。自动添加动添加“关于窗体关于窗体”。VB从入门到实践从入门到实践24.3.11 “24.3.11 “日积月累日积月累”模块模块“日积月累日积月累”窗体主要用来显示每日小提示。主要包括一个窗体主要用来显示每日小提示。主要包括一个提示信息文本文件。单击提示信息文本文件。单击“工程工程”|“添加窗体添加窗体”选项,选项,在弹出的在弹出的“添加窗体添加窗体”中选择中选择“日积月累日积月累”图标。自动添图标。自动添加加“日积月累日积月累”窗体。手动在程序目录下添加一个窗体。手动在程序目录下添加一个tipofday.txt文本文件。文本文件。VB从入门到实践从入门到实践24.3.12 “24.3.12 “注册软件注册软件”模块模块“注册软件注册软件”模块原理主要因为硬盘序列号无重复,可以以模块原理主要因为硬盘序列号无重复,可以以此为基础生成一个固定字符串,进行运算生成注册号。主此为基础生成一个固定字符串,进行运算生成注册号。主要包括二个标签控件、二个文本框控件、二个要包括二个标签控件、二个文本框控件、二个CommandButton控件。控件。VB从入门到实践从入门到实践24.3.13 “24.3.13 “浏览网站浏览网站”模块模块“浏览网站浏览网站”模块主要包括一个登录网站过程模块主要包括一个登录网站过程logweb。双击双击“工程窗体工程窗体”|“Module”模块,弹出模块,弹出“模块编辑模块编辑”窗体。窗体。VB从入门到实践从入门到实践24.3.14 24.3.14 运行系统运行系统通用商品进销存系统各窗体设计好后,可以查看整个程序的通用商品进销存系统各窗体设计好后,可以查看整个程序的运行状况。运行程序,出现运行状况。运行程序,出现“登录系统登录系统”对话框。输入用对话框。输入用户名称和密码后,弹出通用商品进销存系统窗口。户名称和密码后,弹出通用商品进销存系统窗口。VB从入门到实践从入门到实践24.3.15 24.3.15 编译系统编译系统完成了网络聊天程序的编程和调试工作,最后进行程序编译。完成了网络聊天程序的编程和调试工作,最后进行程序编译。编译程序涉及到程序项目属性的设置、可执行应用程序的编译程序涉及到程序项目属性的设置、可执行应用程序的生成。在程序编译和发行之前需要设置项目的属性。生成。在程序编译和发行之前需要设置项目的属性。VB从入门到实践从入门到实践24.4 24.4 小结小结本章介绍了一套非常实用的通用商品进销存系统的开发过程,本章介绍了一套非常实用的通用商品进销存系统的开发过程,详细介绍了如何设计和实现系统程序,包括功能模块设计、详细介绍了如何设计和实现系统程序,包括功能模块设计、数据库设计、窗体设计。最终创建了一个完整的通用商品数据库设计、窗体设计。最终创建了一个完整的通用商品进销存系统。进销存系统。VB从入门到实践从入门到实践第第2525章章 纯净水管理系统纯净水管理系统现代社会人们日益注意饮食饮水健康,普遍引用净化的纯净现代社会人们日益注意饮食饮水健康,普遍引用净化的纯净水。纯净水的系统化管理成为一种科学的管理方法。本章水。纯净水的系统化管理成为一种科学的管理方法。本章将用将用Visual Basic开发一个纯净水管理系统,详细介绍如开发一个纯净水管理系统,详细介绍如何进行项目分析和设计、实现项目功能。何进行项目分析和设计、实现项目功能。VB从入门到实践从入门到实践25.1 25.1 项目分析项目分析项目分析是对整个工程项目的功能和模块设计进行分析决定项目分析是对整个工程项目的功能和模块设计进行分析决定如何开发项目和实现功能。如何开发项目和实现功能。VB从入门到实践从入门到实践25.1.1 25.1.1 项目功能分析项目功能分析项目功能分析是在项目开发总体任务基础上进行的。纯净水项目功能分析是在项目开发总体任务基础上进行的。纯净水管理系统总体任务是实现纯净水水卡和桶装水信息管理和管理系统总体任务是实现纯净水水卡和桶装水信息管理和统计查询。本项目中需要实现的功能如下:统计查询。本项目中需要实现的功能如下:l纯净水管理系统登录系统。纯净水管理系统登录系统。l纯净水管理系统用户管理。纯净水管理系统用户管理。l纯净水管理系统水卡入库管理。纯净水管理系统水卡入库管理。l纯净水管理系统水卡出库管理。纯净水管理系统水卡出库管理。l纯净水管理系统注册。纯净水管理系统注册。l纯净水管理系统日积月累。纯净水管理系统日积月累。l纯净水管理系统关于窗体。纯净水管理系统关于窗体。VB从入门到实践从入门到实践25.1.1 25.1.1 项目功能分析项目功能分析l纯净水管理系统水卡入库查询管理。纯净水管理系统水卡入库查询管理。l纯净水管理系统水卡库存查询管理。纯净水管理系统水卡库存查询管理。l纯净水管理系统水卡出库查询管理。纯净水管理系统水卡出库查询管理。l纯净水管理系统纯净水入库。纯净水管理系统纯净水入库。l纯净水管理系统纯净水出库。纯净水管理系统纯净水出库。l纯净水管理系统纯净水入库查询。纯净水管理系统纯净水入库查询。l纯净水管理系统纯净水出库查询。纯净水管理系统纯净水出库查询。l纯净水管理系统纯净水库存查询。纯净水管理系统纯净水库存查询。VB从入门到实践从入门到实践25.1.2 25.1.2 项目功能模块分析项目功能模块分析纯净水管理系统登录系统用户管理纯净水出入库管理关于窗体水卡出入库管理水卡查询纯净水查询日积月累VB从入门到实践从入门到实践25.2 25.2 数据库设计与实现数据库设计与实现数据库在纯净水管理系统中占有非常重要的地位。数据库结数据库在纯净水管理系统中占有非常重要的地位。数据库结构的好坏直接对系统实现的效率及效果产生巨大的影响。构的好坏直接对系统实现的效率及效果产生巨大的影响。合理的数据库结构可以提高数据存储的效率,保证数据的合理的数据库结构可以提高数据存储的效率,保证数据的完整性和一致性。本项目数据库主要存储用户信息、水卡完整性和一致性。本项目数据库主要存储用户信息、水卡库存信息、水卡入库信息、水卡出库信息、纯净水库存信库存信息、水卡入库信息、水卡出库信息、纯净水库存信息、纯净水出库信息。息、纯净水出库信息。VB从入门到实践从入门到实践25.2.1 25.2.1 数据库需求分析数据库需求分析纯净水管理纯净水入库纯净水查询水卡管理纯净水出库水卡查询VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计用户信息实体用户序号密码VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计水卡入库信息实体序号入库数量.入库类别VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计水卡库存信息实体序号库存数量VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计水卡出库信息实体出库单价序号出库数量.VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计纯净水入库信息实体入库数量序号入库单价.VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计纯净水库存信息实体序号库存数量VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计纯净水出库信息实体出库类别序号出库数量.VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计客户基本信息实体用户名称序号地址联系电话VB从入门到实践从入门到实践25.2.2 25.2.2 数据库结构设计数据库结构设计用户登录客户管理纯净水库存纯净水出库纯净水查询纯净水入库退出水卡管理VB从入门到实践从入门到实践25.2.3 25.2.3 数据库结构实现数据库结构实现数据库结构设计好以后,需要将其转化为数据库结构设计好以后,需要将其转化为Access数据库所支数据库所支持的数据库模型。纯净水管理系统数据库中用户信息表名持的数据库模型。纯净水管理系统数据库中用户信息表名为为user。VB从入门到实践从入门到实践25.325.3 程序窗体的设计实现程序窗体的设计实现数据库内各表设计完成后,有关数据库的后台工作已经完成。数据库内各表设计完成后,有关数据库的后台工作已经完成。现在将通过纯净水管理系统各个功能模块的实现,讲解如现在将通过纯净水管理系统各个功能模块的实现,讲解如何使用何使用Visual Basic来设计和编写纯净水管理系统的窗体来设计和编写纯净水管理系统的窗体代码。代码。VB从入门到实践从入门到实践25.3.1 “25.3.1 “用户管理用户管理”模块模块“用户管理用户管理”模块主要管理用户表信息。包括增加、删除、模块主要管理用户表信息。包括增加、删除、修改用户信息。主要包括八个修改用户信息。主要包括八个CommandButton控件、二控件、二个标签控件、二个文本框控件。个标签控件、二个文本框控件。VB从入门到实践从入门到实践25.3.2 “25.3.2 “登录系统登录系统”模块模块“登录系统登录系统”模块主要接受和校验登录用户信息在用户信息模块主要接受和校验登录用户信息在用户信息表中是否存在。如果包含该用户,弹出主窗体;否则,提表中是否存在。如果包含该用户,弹出主窗体;否则,提示重新输入用户信息。示重新输入用户信息。VB从入门到实践从入门到实践25.3.3 “25.3.3 “主窗体主窗体”模块模块“主窗体主窗体”模块包括一个菜单栏、一个状态栏和十四个模块包括一个菜单栏、一个状态栏和十四个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.4 “25.3.4 “客户管理客户管理”模块模块“客户管理客户管理”模块主要管理商品资料信息。包括三个标签控模块主要管理商品资料信息。包括三个标签控件、三个文本框控件和八个件、三个文本框控件和八个CommandButton控件,分别控件,分别为。为。VB从入门到实践从入门到实践25.3.5 “25.3.5 “水卡入库水卡入库”模块模块“水卡入库水卡入库”模块主要管理水卡入库信息,增加水卡入库表模块主要管理水卡入库信息,增加水卡入库表记录,同时修改水卡库存表记录。包括四个标签控件、一记录,同时修改水卡库存表记录。包括四个标签控件、一个下拉框控件、四个文本框控件、七个个下拉框控件、四个文本框控件、七个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.6 “25.3.6 “水卡出库水卡出库”模块模块“水卡出库水卡出库”模块主要管理商品出库信息,增加水卡出库表模块主要管理商品出库信息,增加水卡出库表记录,同时修改水卡库存表记录。包括五个标签控件、一记录,同时修改水卡库存表记录。包括五个标签控件、一个下拉框控件、四个文本框控件、七个个下拉框控件、四个文本框控件、七个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.7 “25.3.7 “水卡入库查询水卡入库查询”模块模块“水卡入库查询水卡入库查询”模块主要查询所有商品入库信息。包括一模块主要查询所有商品入库信息。包括一个个Datagrid控件、一个标签控件、一个日期控件、一个控件、一个标签控件、一个日期控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.8 “25.3.8 “水卡库存查询水卡库存查询”模块模块“水卡库存查询水卡库存查询”模块主要查询所有商品库存信息。包括一模块主要查询所有商品库存信息。包括一个个Datagrid控件、一个控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.9 “25.3.9 “水卡出库查询水卡出库查询”模块模块“水卡出库查询水卡出库查询”模块主要查询所有商品库存信息。包括一模块主要查询所有商品库存信息。包括一个个Datagrid控件、一个标签控件、一个日期控件、一个控件、一个标签控件、一个日期控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.10 “25.3.10 “纯净水入库纯净水入库”模块模块“纯净水入库纯净水入库”模块主要管理纯净水入库信息,增加纯净水模块主要管理纯净水入库信息,增加纯净水入库表记录,同时修改纯净水库存表记录。包括四个标签入库表记录,同时修改纯净水库存表记录。包括四个标签控件、一个下拉框控件、四个文本框控件、七个控件、一个下拉框控件、四个文本框控件、七个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.11 “25.3.11 “纯净水出库纯净水出库”模块模块“纯净水出库纯净水出库”模块主要管理商品出库信息,增加纯净水出模块主要管理商品出库信息,增加纯净水出库表记录,同时修改纯净水库存表记录。包括五个标签控库表记录,同时修改纯净水库存表记录。包括五个标签控件、一个下拉框控件、五个文本框控件、七个件、一个下拉框控件、五个文本框控件、七个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.12 “25.3.12 “纯净水入库查询纯净水入库查询”模块模块“纯净水入库查询纯净水入库查询”模块主要查询所有商品入库信息。包括模块主要查询所有商品入库信息。包括一个一个Datagrid控件、一个标签控件、一个日期控件、一个控件、一个标签控件、一个日期控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.13 “25.3.13 “纯净水库存查询纯净水库存查询”模块模块“纯净水库存查询纯净水库存查询”模块主要查询所有商品库存信息。包括模块主要查询所有商品库存信息。包括一个一个Datagrid控件、一个控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.14 “25.3.14 “纯净水出库查询纯净水出库查询”模块模块“纯净水出库查询纯净水出库查询”模块主要查询所有商品库存信息。包括模块主要查询所有商品库存信息。包括一个一个Datagrid控件、一个标签控件、一个日期控件、一个控件、一个标签控件、一个日期控件、一个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.15 “25.3.15 “关于窗体关于窗体”模块模块“关于窗体关于窗体”模块主要用来声明程序名称、版本、公司等。模块主要用来声明程序名称、版本、公司等。本节将使用本节将使用“关于窗体关于窗体”模板来创建一个标准模板来创建一个标准Visual Basic中的中的About窗体。单击窗体。单击“工程工程”|“添加窗体添加窗体”选项,选项,在弹出的在弹出的“添加窗体添加窗体”中选择中选择 “关于关于”对话框图标。对话框图标。VB从入门到实践从入门到实践25.3.16 “25.3.16 “日积月累日积月累”模块模块“日积月累日积月累”窗体主要用来显示每日小提示。主要包括一个窗体主要用来显示每日小提示。主要包括一个提示信息文本文件。单击提示信息文本文件。单击“工程工程”|“添加窗体添加窗体”选项,选项,在弹出的在弹出的“添加窗体添加窗体”中选择中选择“日积月累日积月累”图标。自动添图标。自动添加如图加如图25.29所示的所示的“日积月累日积月累”窗体。手动在程序目录窗体。手动在程序目录下添加一个下添加一个tipofday.txt文本文件。文本文件。VB从入门到实践从入门到实践25.3.17 “25.3.17 “注册软件注册软件”模块模块“注册软件注册软件”模块原理主要因为无重复硬盘序列号,可以以模块原理主要因为无重复硬盘序列号,可以以此为基础生成一个固定字符串,进行逻辑运算生成注册号。此为基础生成一个固定字符串,进行逻辑运算生成注册号。主要包括二个标签控件、二个文本框控件、二个主要包括二个标签控件、二个文本框控件、二个CommandButton控件。控件。VB从入门到实践从入门到实践25.3.18 “25.3.18 “浏览网站浏览网站”模块模块“浏览网站浏览网站”模块主要包括一个登录网站过程模块主要包括一个登录网站过程logweb。VB从入门到实践从入门到实践25.3.19 25.3.19 运行系统运行系统纯净水管理系统各对话框设计好后,可以查看整个程序的运纯净水管理系统各对话框设计好后,可以查看整个程序的运行状况。运行程序,出现行状况。运行程序,出现 “登录系统登录系统”对话框。对话框。VB从入门到实践从入门到实践25.3.20 25.3.20 编译系统编译系统完成了网络聊天程序的编程和调试工作,最后进行程序编译。完成了网络聊天程序的编程和调试工作,最后进行程序编译。编译程序涉及到程序项目属性的设置、可执行应用程序的编译程序涉及到程序项目属性的设置、可执行应用程序的生成。在程序编译和发行之前需要设置项目的属性。单击生成。在程序编译和发行之前需要设置项目的属性。单击“工程工程”|“jxc属性属性”命令,弹出如图命令,弹出如图25.44所示工程属所示工程属性设置窗体。设置工程项目为性设置窗体。设置工程项目为“标准标准EXE”,启动对象为启动对象为“frmlogin”。在版本信息设置中,可以更改程序的版本在版本信息设置中,可以更改程序的版本号。设置公司名称、产品名称、版权信息等。号。设置公司名称、产品名称、版权信息等。 最后单击最后单击“文件文件”|“生成生成cjs.exe”命令,开始编译程序。命令,开始编译程序。编译结束后,生成了该程序的可执行文件。测试该发布文编译结束后,生成了该程序的可执行文件。测试该发布文件运行无误后可以发布运行。件运行无误后可以发布运行。VB从入门到实践从入门到实践25.4 25.4 小结小结本章介绍了一套非常实用的纯净水管理系统的开发过程,详本章介绍了一套非常实用的纯净水管理系统的开发过程,详细介绍了如何设计和实现系统程序,包括功能模块设计、细介绍了如何设计和实现系统程序,包括功能模块设计、数据库设计、窗体设计。最终创建了一个功能齐全的纯净数据库设计、窗体设计。最终创建了一个功能齐全的纯净水管理系统。水管理系统。VB从入门到实践从入门到实践
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号