收藏 分享(赏)

VB基础教程[1].doc

上传人:gnk289057 文档编号:7444551 上传时间:2019-05-18 格式:DOC 页数:33 大小:1.05MB
下载 相关 举报
VB基础教程[1].doc_第1页
第1页 / 共33页
VB基础教程[1].doc_第2页
第2页 / 共33页
VB基础教程[1].doc_第3页
第3页 / 共33页
VB基础教程[1].doc_第4页
第4页 / 共33页
VB基础教程[1].doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、1计算机等级考试二级 VB 基础教程1.1 Visual Basic 概述1.Visual Basic 是什么Visual Basic(简称 VB)是 Microsoft 公司开发的一种通用的基于对象的程序设计语言。“Visual” 指的是开发图形用户界面 (GUI) 的方法 不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象 add 到屏幕上的一点即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,一种在计算技术发展历史上应用得最为广泛的语言。Visual Basic 在原有 BA

2、SIC 语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和 Windows GUI 有直接关系。专业人员可以用 Visual Basic 实现其它任何 Windows 编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。Visual Basic Scripting Edition (VBScript) 是广泛使用的脚本语言,它是 Visual Basic 语言的子集,可嵌入 HTML 语言中,用于网页设计,如 ASP(Active Server Page)文件。VB 简单易学,通用性强,用途广泛。2.VB 的功能VB 可以用于可以开发多媒体、数据库、网络、图

3、形等方面的应用程序。数据访问特性允许对包括 Microsoft SQL Server 和其它企业数据库在内的大部分数据库格式建立数据库和前端应用程序,以及可调整的服务器端部件。有了 ActiveX(TM) 技术就可使用其它应用程序提供的功能,例如 Microsoft Word 字处理器,Microsoft Excel 电子数据表及其它 Windows 应用程序。Internet 能力强大,很容易在应用程序内通过 Internet 或 intranet 访问文档和应用程序,或者创建 Internet 服务器应用程序。已完成的应用程序是使用 Visual Basic 虚拟机真正 .exe 文件,可

4、以自由发布。3.VB 的发展VB 是伴随 Windows 操作系统而发展的,在中国使用较广的版本有VB4.0、VB5.0 、VB6.0。VB4.0 是为配合 WIN95 的问世于 1995年推出的,既可用于编写 WIN3.X 平台的 16位应用程序也可编写 WIN95 平台的 32 位应用程序;VB5.0 主要用于编写 WIN95 平台的32 位应用程序,较之 VB4.0 主要扩展了数据库、ActiveX 和 Internet 方面的功能; VB6.0是与 WIN98 配合于 1998 年推出的,进一步加强了数据库、Internet 和创建控件方面的功能。4.VB 中的几个常用术语工程(Pro

5、ject):是指用于创建一个应用程序的文件的集合。对象(object):可控制的某个东西 ,VB 中主要有两类对象:窗体和控件。窗体(form):应用程序的用户界面,即windows。控件(control):指的是各种按扭、标签、文本框等。属性(property):是指对象的特性,如大小、标题或颜色。ActiveX:ActiveX 是基于 component object model(com)的可视化控件结构的商标 名称.它是一种封装技术,提供封装 COM 组件并将其置入应用程序(如 WEB 浏览器)的一种方法.Components Object Model (COM): 是软件组件互相通讯的

6、一种方式。它是一种二进制和网络标准,允许任意两个组件互相通讯,而不管它们是在什么计算机上运行(只要计算机是相连的),不管各计算机运行的是什么操作系统(只要该操作系统支持 COM),也不管该组件是用什么语言编写的。5. VB 的系统特性(1)工程限制1)代码限制: 可被加载到窗体、类或标准模块的代码总数限于 65,534 行。一行代码限于 1023 个字节。在一行中的实际文本之前最多只能有 256 个空格的前导,在一个逻辑行中最多只能有 25 个续行符 ( _)。2)过程、类型和变量对每个模块的过程数没有限制。每个过程可包含至多 64K 的代码。如果过程或模块超过这一限制,Visual Basi

7、c 便产生编译时间错误。如果遇到这种错误,可将特别大的过程分割成若干个较小的过程,或将模块级声明移到另一模块,来避免此类错误发生。Visual Basic 用表来保存代码中的标识符名(变量、过程、常量等)。每个表限于 64K。3)动态链接库声明表每个窗体和代码模块使用一个描述动态链接库入口点的结构的表。每个结构约 40 个字节,表的大小限于 64K,形成每个模块大约有 1500 个声明。4)工程名表整个应用程序用一张包含所有名称的表。这些名称包括: 常量名 、 变量名 、 自定义的类型定义名、 模块名、 DLL 过程声明名。对工程名表总大小没有限制,但是区分大小写的条目不得超过 32K。如果超

8、过了 32K 的限制,可以在不同的模块中重新使用 private 标识符以限制区分大小写的条目数到达 32K。5)输入表在不同的模块中每引用一个标识符,便在输入表中创建一个条目。每一个这样的入口最小是 24 字节,但限于 64K,这样每个模块大约可以有 2000 个引用。 6)模块条目表2该表中每个模块最多达 125 个字节,但有 64K 的总限制,这样每个工程大约可以产生 400 个模块。 VB 中的变量名不多于 255 个字符,而窗体、控件、模块和类名不多于 40 个字符。(2)工程文件格式 VB 在创建和编译工程时要产生许多文件,分为:设计时文件、杂项开发文件和运行时文件。设计时文件是工

9、程的建造块,例如基本模块 (.bas) 和窗体模块 (.frm)。杂项文件是由 Visual Basic 开发环境中的各种不同的进程和函数产生的,例如打包和展开向导从属文件 (.dep)。 1.2 VB 6.0 的集成开发环境简介VB 集成开发环境 (IDEIntegrated Developing Environment ) 由以下元素组成:1. 标题栏用于显示正在开发或调试的工程名和系统的工作状态(设计态、运行态、中止态)。2. 菜单栏用于显示所使用的 Visual Basic 命令。VB6.0 标准菜单包括:3. 工具栏在编程环境下用于快速访问常用命令。缺省情况下,启动 VB 后显示“标

10、准 ”工具栏,附加的编辑、窗体设计和调试的工具 栏可以从“视图 ”菜单上的 “工具栏”命令中移进或移出。4. 窗体设计器用来设计应用程序的界面。启动 VB 后,窗体设计器中自动出现一个名为 Form1 的空白窗体,可以在该窗体中添加控件、图形和图片等来创建所希望的外观,窗体的外观设计好后,从菜单中选择“文件”“ 保存窗体”在保存对话框中给出合适的文件名(注意扩展名),并选择所需的保存位置确定。需要再设计另一个窗体时,单击工具栏上的“添加窗体” 按钮即可。5. 控件(工具)箱由一组控件按钮组成,用于设计时在窗体中放置控件。除了缺省的工具箱布局之外,还可以通过从上下文菜单中选定“添加选项卡”并在结

11、果选项卡中添加控件来创建自定义布局。6. 弹出式(上下文)菜单在要使用的对象上单击鼠标右键即可打开快捷菜单,其上会出现与当前对象相关的经常执行的操作,以加快操作速度。7. 工程管理器窗口用于浏览工程中所包含的窗体和模块,还可以从中查看代码、查看对象。8. 属性窗口是 VB 中一个比较复杂的窗口,其中列出了对选定窗体和控件的属性设置值。VB中正是通过改变属性来改变对象的特征,如大小、标题或颜色。9. 对象浏览器列出工程中有效的对象,并提供在编码中漫游的快速方法。可以使用“对象浏览器”浏览在 VB 中的对象和其它应用程序,查看对那些对象有效的方法和属性,并将代码过程粘贴进自己的应用程序。10. 对

12、象浏览器右击窗体中的对象、从工程管理器中点“查看代码” 按钮。11. 窗体布局窗口 Form Layout window 允许使用表示屏幕的小图象来布置应用程序中各窗体的位置。12. 立即、本地和监视窗口这些附加窗口是为调试应用程序提供的,它们只在 IDE 之中运行应用程序时才有效。1.3 面向对象程序设计的基本概念1.基本术语(1) 对象和对象类对象是代码和数据的组合,可以作为一个单位来处理。对象可以是应用程序的一部分,比如可以是控件或窗体。整个应用程序也是一个对象。VB 中的每个对象都是用类定义的。用饼干模子和饼干之间的关系作比,就会明白对象和它的类之间的关系。饼干模子是类。它确定了每块饼

13、干的特征,比如大小和形状。用类创建对象,对象就是饼干。类是面向对象程序设计的核心技术,可以理解成一种定义了对象行为和外观的模板;把对象看作是类的原原本本的复制品,类具有继承性、封装性、多态性、抽象性。(2) 属性属性是对对象特性的描述,VB 为每一类对象都规定了若干属性,设计中可以改变具体对象的属性值。比如窗体的背景颜色、高度与宽度。3(3) 事件(Event)事件是发生在对象上的动作。事件的发生不是随意的,某些事件仅发生在某些对象上。 在 VB 中事件的调用形式是:Private Sub 对象名_事件名(事件内容)End Sub(4) 方法(Method)方法指的是控制对象动作行为的方式。它

14、是对象本身内含的函数或过程,它也是一个动作,是一个简单的不必知道细节的无法改变的事件,但不称作事件;同样,方法也不是随意的,一些对象有一些特定的方法。在 VB 里方法的调用形式是:对象名.方法名2. 属性、方法和事件之间的关系VB 对象具有属性、方法和事件。属性是描述对象的数据;方法告诉对象应做的事情;事件是对象所产生的事情,事件发生时可以编写代码进行处理。VB 的窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。日常生活中的对象,如小孩玩的气球同样具有属性、方法和事件。气球的属性包括可以看到的一些性质,如它的直径和颜色。其

15、它一些属性描述气球的状态(充气的或未充气的)或不可见的性质,如它的寿命。通过定义,所有气球都具有这些属性;这些属性也会因气球的不同而不同。气球还具有本身所固有的方法和动作。如:充气方法(用氦气充满气球的动作 ),放气方法(排出气球中的气体)和上升方法(放手让气球飞走)。所有的气球都具备这些能力。气球还有预定义的对某些外部事件的响应。例如,气球对刺破它的事件响应是放气,对放手事件的响应是升空。在 VB 程序设计中,基本的设计机制就是:改变对象的属性、使用对象的方法、为对象事件编写事件过程。程序设计时要做的工作就是决定应更改哪些属性、调用哪些方法、对哪些事件作出响应,从而得到希望的外观和行为。3.

16、事件驱动模型在传统的或“过程化” 的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时调用过程。在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径都是不同的。因为事件的顺序是无法预测的,所以在代码中必须对执行时的“各种状态” 作一定的假设。当作出某些假设时(例如,假设在运行来处理某一输入字段的过程之前,该

17、输入字段必须包含确定的值),应该组织好应用程序的结构,以确保该假设始终有效(例如,在输入字段中有值之前禁止使用启动该处理过程的命令按钮)。在执行中代码也可以触发事件。例如,在程序中改变文本框中的文本将引发文本框的 Change 事件。如果 Change 事件中包含有代码,则将导致该代码的执行。如果原来假设该事件仅能由用户的交互操作所触发,则可能会产生意料之外的结果。正因为这一原因,所以在设计应用程序时理解事件驱动模型并牢记在心是非常重要的。4.交互式开发传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试代码。但是 Visual Basic 与传统的语言不同,它使用交互式方法开发应用

18、程序,使三个步骤之间不再有明显的界限。VB 在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误。看起来就象一位专家在监视代码的输入。除即时捕获错误以外,VB 也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误,则将错误突出显示于代码中。这时可以更正错误并继续编译,而不需从头开始。由于 VB 的交互特性,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。14 利用 VB 开发应用程序的一般步骤一个 VB 程序也称为一个工程,由窗体、标准模块、自定义控件及应用所需的环境设置组成。开发步骤一般如下:1 创建程序的用户

19、界面2 设置界面上各个对象的属性3 编写对象响应事件的程序代码4 保存工程5 测试应用程序,排除错误6 创建可执行程序2.1 VB 用户界面设计基础1. 概述界面的设计有两步:先绘制控件,然后确定控件属性。绘制控件:在工具箱里单击想画的控件,在窗体里按下鼠标并拖曳,然后松开鼠标即可。确定属性:先选中控件,然后按 F4 键或单击工具栏上的属性窗口进入属性(Properties)窗口,再在属性窗口中找到要设置的属性并进行设置。2. 常用属性的设置(1)Name 属性对象都有名字,计算机把名字看成对象于对象之间的根本差异,因此在同一窗体里4不许出现重名的情况(除非这是一个控件数组 ),且名字不得超过

20、 40 个字。在简单的程序里,给控件命名不是很必要,完全可以使用控件 Name 属性的缺省值。例如 Text1。但在有几十个控件的复杂窗体里,就很难区分它们。所以,VB 推荐由三个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。例如cmdMyButton 是一个命令按钮(前缀是 cmd)(2)Caption 属性Caption 即标题,是可以在对象外观上直接看见的文本,可以长达 255 字符,包括空格和标点符号,比如一个叫 cmdOk 的命令钮,它的 Caption 属性就可以是“Ok”。 注意:并不是所有的对象都有此属性,比如文本框、图片框、线条等就没有。为按钮设置热键:在设置

21、Caption 属性时,在需要加下划线的字母前加上 “”。加入分号将使下一数据项紧挨着上一数据项输出。而加入逗号,则 Visual Basic 将下一数据项- 11 -在下一打印区输出,其实就是空了几个空格后再输出。两个打印区之间有 14 个字符的宽度,其实这也很难衡量,比如 14 个“W”所占的宽度大概是 14 个“i”所占宽度的三倍多。幸好中国日本之类的方块字所占的宽度基本上是一样的,所以较好处理一些。(2) Tab 函数Tab 函数只用在 Print 方法中,它用来移动下一个字符到打印位置,这将省去数空格的功夫。语法是:Tab (column)Tab 函数将 Visual Basic 自

22、定义的 14 字符宽的打印区扔到一边,用自己的方式定义了新的灵活的打印区宽度。(3) Cls 方法Cls 也是一个古老的 BASIC 语句,原来它的作用总是把屏幕变成黑色,然后在左上角或左下角闪烁一个光标,Visual Basic 里它的作用是清除绘图语句和 Print 语句产生的文字和图形。语法是:object. Clsobject 指清除的对象,可以是 Form 或Picture Box。如果 object 省略,通常 Visual Basic 都把当前的窗口作为 Cls 操作的对象。3. Format 函数Format 函数用于制定字符串或数字的输出格式。语法是:x = Format (

23、expression,fmt)expression 是所输出的内容。fmt 是指输出的格式,这是一个字符串型的变量,这一项若省略的话,那么 Format 函数将和 Str 函数的功能差不多。3.1 VB 编码规则1. 语言元素VB 的语言基础是 BASIC 语言, VB 程序的语言元素主要由:关键字(如: Dim、Print、 Cls)函数(如:Sin()、Cos ()Sqr()表达式(如:Abs(-23.5)+45*20/3 )语句(如:X=X+5 、 IFELSEEND IF)等组成。2. VB 代码书写规则(1) 程序中不区分字母的大小写,Ab 与 AB 等效;(2) 系统对用户程序代码

24、进行自动转换:1) 对于 VB 中的关键字,首字母被转换成大写,其余转换成小写2) 若关键字由多个英文单词组成,则将每个单词的首字母转换成大写3) 对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成首次定义的形式3. 语句书写规则(1)在同一行上可以书写多行语句,语句间用冒号(:) 分隔(2)单行语句可以分多行书写,在本行后加续行符:空格和下划线 _(3) 一行允许多达 255 个字符4. 程序的注释方式(1)整行注释一般以 Rem 开头,也可以用撇号 ;(2)用撇号 引导的注释,既可以是整行的,也可以直接放在语句的后面,最方便;(3)可以利用“编辑” 工具栏的 “设置注释块

25、”、 “解除注释块”来将设置多行注释。5. 保留行号和标号VB 源程序接受行号与标号,但不是必须的(早期的 BASIC 语言中必须用行号)。标号是以字母开始以冒号结束的字符串,一般用在 GOTO 语句(现在很少用)中。3.2 VB 的语言基础1.数据类型1)VB 中对没有声明的变量其缺省的数据类型是变体型,可以用来存储各种数据,但所占用的内存比其它类型都多。为提高运行效率(整型效率较高),或达到一定的运算精确度(浮点型精度较高,但运行较慢),应合理的定义数据类型。2) 逻辑型数据只有 True 和 False 两个值,转换成整型时,True=-1 ,False=0,将其它类型转换成逻辑型时,非

26、 0 数转换为True ,0 转换为 False。3) 字符型可以包括所有的西文字符和汉字,字符必须用双引号括“ “ 起来 , 如:“abc123“4)日期型数据按 8 字节的浮点数来存储,日期型数表示方式有两种:可以用号码符#括起来,也可以用数字序列表示(小数点左边的数字代表日期,右边代表时间,0 为午夜,0。5 为中午 12 点,负数表示是 1899 年 12月 31 日前的日期和时间)。如:#3/22/2002# #2002-3-22 14:30:20#Dim T As DateT=-2.5Print T 打印出来的结果是 1899-12-28 12:00:00)任何数据类型的数组都需要

27、 20 个字节的内存空间,加上每一数组维数占 4 个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。例如,以 4 个 2 字节之 Integer 数据元所组成的一维数组中的数据,占 8 个字节。这 8 个字节加上额外的 24 个字节,使得这个数组所需总内存空间为 32 个字节。2. 变量与常量(1)变量或常量的命名规则1) 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度255 个字符;2) 不能使用 VB 中的关键字,并尽量不与 VB 中标准函数名同名;如:Dim 、Sin 3)VB 中不区分变量的大小写,一般变量首字母用大写,其余

28、用小写;常量全部用大写字母表示4)为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。(2)变量声明1)用 Dim 语句进行显式声明语句形式: Dim 变量名 As 类型 如: Dim intX As integer说明:如果没有 As 类型,则默认为变体类型。可在变量名后加类型符来代替As 类型 如: Dim intX% 一条语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声- 12 -明不能共用;字符串变量根据其存放的长度是否固定,定义方法不同:定长字符串: Dim strA As String*10 表示最多存放 10 个字符,如果赋值不足10 个,则

29、右补空;若多于 10 个,则多余部分截去。不定长字符串:Dim strA As String 最多可存放 2MB 个字符2) 隐式声明VB 中允许变量不经过声明就直接使用,这种称为隐式声明,所有隐式声明的变量都是变体型的。隐式声明容易造成错误,为了调试程序方便,一般对使用的变量都进行声明,可以在通用声明段使用 Option Explicit 语句来强制显式声明所有变量。 (3)常量1)直接常量指在程序中直接给出值的数据,如:123、123“;Next iFor i=0 To Ubound (b)Picture1.print b(i);“;Next i2数组的输入(1) 通过 InputBox

30、函数输入适合输入少量数据。例:Dim sB(3,4) As singerFor i=0 To 3For j=0 To 4SB(i,j) =InputBox(“输入“ & i & j & “的值“)Next jNext i(2) 通过文本框控件输入对大批量的数据输入,采用文本框和函数 split()join()进行处理,效率更高。3数组的赋值在 VB6.0 中可以直接将一个数组的值赋值给另一个数组:Dim a(3) as integer, b() as integerA(0)=2: A(1)=5: A(2)=-2: A(3)=2b=a在早期的 VB 中,这需要用循环语句才可以实现:ReDim b

31、(UBound(a)For I=0 to UBound(a)b(I)=a(I)Next i 注意:(1)赋值号两边的数据类型必须一致;(2)如果赋值号左边的是一个动态数组,则赋值时系统自动将动态数组ReDim 成右边相同大小的数组;(3)如果赋值号左边的是一个大小固定的数组,则数组赋值出错。4数组的输出用 ForNext 循环语句输出。5求数组中最大元素和所在下标及各元素之和求数组中最大元素及下标,一般假设第一个元素及下标为最大,然后将该数与数组中的其他元素逐一比较,若有比其大的就替换,同时替换下标。- 17 -6交换数组中各元素交换的要求是将数组第一个元素与最后一个交换,第二个与倒数第二个交

32、换,依次类推。5.5 控件数组1控件数组的概念控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的数组。控件数组适用于若干个控件执行的操作相似的场合,控件组共享同样的事件过程。控件数组通过索引号(属性中的 Index)来标识各控件,第一个下标是 0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)2控件数组的建立(1)在设计时建立步骤:1)在窗体上画出某控件,并进行属性设置。 2)选中该控件进行“复制” 和“粘贴”操作,系统提示“ 是否建立控件数组 ”,选择是即可。多次粘贴就可以创建多个控件元素。 3)进行事件过程的编程。(2)运行时添加控件数组方法

33、:1)在窗体上画出某控件,设置该控件的 Index 值为 0,表示该控件为数组。2)在编程时通过 Load 方法添加其余若干个元素,也可以通过 Unload 删除某个添加的元素。3)每个添加的控件数组通过 Left 和 Top 属性,确定其在窗体上的位置,并将Visible 设置为 True。使用示例:建立一个类似国际象棋的棋盘,要求黑白交替,运行时单击某个棋格,会改变颜色并显示其序号。5.6 自定义数据类型1. 自定义数据类型的定义 是指由若干标准数据类型组成的一种复合类型,也称为记录类型。 (1)定义方式: Type 自定义类型名 元素名(下标) As 类型名 元素名(下标) As 类型名

34、 End Type 元素名:表示自定义类型中的一个成员 下标(可选):表示是数组 类型名:为标准类型例:定义一个学生信息的自定义类型: Type studtype No As Integer 定义学号 Name As String*10 定义姓名 Sex As String*2 定义性别 Mark(1 TO 4) As Single 定义4 门课程的成绩 Total As Single 定义总分 End Type (2)注意事项 1)自定义类型一般在标准模块(.bas)中定义,默认是 Public 2)自定义类型中的元素可以是字符串,但应是定长字符串 3) 不可把自定义类型名与该类型的变量名混

35、淆 4) 注意自定义类型变量与数组的差别:它们都由若干元素组成,前者的元素代表不同性质、不同类型的数据,以元素名表示不同的元素;后者存放的是同种性质、同种类型的数据,以下标表示不同元素。 2. 自定义型变量的声明和使用 使用形式: Dim 变量名 As 自定义类型名 例如: Dim student As studtype, mystud As studtype 自定义类型中元素的表示方法是:变量名 . 元素名 如:student.name student.mark(4) 为了简单起见,可以用 With End With 语句进行简化。 例: With student .no=99001 .na

36、me=“ .sex=“ .total=0 for I=1 to 4 .mark(I)=int(rnd*101) 随机产生 0 - 100 之间的分数 .total=.total+.may(I) next I End With Mystud=student 同种自定义类型变量可以直接赋值 3.自定义类型数组的使用 自定义类型数组就是数组中的每个元素都是自定义类型。例如:自定义一个由学生姓名、成绩组成的学生记录类型,用来存放 100 个学生的记录。6.1VB 的过程设计及子过程(Sub)的定义与调用1什么是过程在程序设计中,为各个相对独立的功能模块所编写的一段程序称之为过程。2VB 中的自定义过程

37、分类(1)以“Sub”保留字开始的子程序过程 (包括事件过程和通用过程),不返回值;(2)以“Function” 保留字开始的函数过程,返回一个值;(3)以“Property” 保留字开始的属性过程,可以返回和设置窗体、标准模块以及类模块的属性值,也可以设置对象的值。3 事件过程(1)窗体事件过程语法:Private Sub Form_事件名(参数列表) 局部变量和常数声明 - 18 -语句块End Sub注意:1)窗体事件过程名由 Form_事件名组成,多文档窗体用 MDIForm_事件名;2)每个窗体事件过程名前都有一个Private 的前缀,表示该事件过程不能在它自己的窗体模块之外被调用

38、;3)事件过程有无参数,完全由 VB 提供的具体事件本身决定,用户不可以随意添加。(2)控件事件过程语法:Private Sub 控件名_事件名(参数列表) 局部变量和常数声明语句块End Sub 注意:其中的控件名必须与窗体中某控件相匹配,否则 VB 将认为它是一个通用过程。(3)建立事件过程的方法1)打开代码编辑器窗口(两种方法:双击对象或从工程管理器中单击“查看代码” 按钮)2)在代码编辑器窗口中,选择所需要的“对象 ”和 “事件过程”3)在 Private Sub End Sub 之间键入代码4)保存工程和窗体(4)事件过程的调用事件过程由一个发生在 VB 中的事件来自动调用或者由同一

39、模块中的其他过程显示调用。2通用过程通用过程是一个必须从另一个过程显示调用的程序段,通用过程有助于将复杂的应用程序分解成多个易于管理的逻辑单元,使应用程序更简洁、更易于维护。通用过程分为公有(Public)过程和私有( Private)过程两种,公有过程可以被应用程序中的任一过程调用,而私有过程只能被同一模块中的过程调用。(1)定义方法: Private | Public Static Sub 过程名(参数列表 ) 局部变量和常数声明 用 Dim 或 Static声明 语句块Exit Sub语句块End Sub注意:1)缺省 Private | Public 时,系统默认为 Public ;2

40、)Static 表示过程中的局部变量为“静态”变量;3)过程名的命名规则与变量命名规则相同,在同一个模块中,同一符号名不得既用作 Sub 过程名,又用作 Function 过程名。4)参数列表中的参数称为形式参数,它可以是变量名或数组名,只能是简单变量,不能是常量、数组元素、表达式;若有多个参数时,各参数之间用逗号分隔,形参没有具体的值。VB 的过程可以没有参数,但一对圆括号不可以省略。不含参数的过程称为无参过程。形参格式为: ByVal 变量名 () As 数据类型式中:变量名():变量名为合法的 VB 变量名或数组名,无括号表示变量,有括号表示数组。ByVal :表明其后的形参是按值传递参

41、数(传值参数 Passed By Value),若缺省或用 ByRef,则表明参数是按地址传递的(传址参数)或称“引用 ”(Passed By Reference)。As : 数据类型:缺省表明该形参是变体型变量,若形参变量的类型声明为 String,则只能是不定长的。而在调用该过程时,对应的实在参数可以是定长的字符串或字符串数组,若形参是数组则无限制。5)Sub 过程不能嵌套定义,但可以嵌套调用。6) End Sub 标志该过程的结束,系统返回并调用该过程语句的下一条语句。7) 过程中可以用 Exit Sub 提前结束过程,并返回到下调用该过程语句的下一条语句。(2)建立 Sub 过程的方法

42、方法一:1)打开代码编辑器窗口2)选择“工具 ”菜单中的“添加过程”3)从对话框中输入过程名,并选择类型和范围4)在新创建的过程中输入内容方法二:1)在代码编辑器窗口的对象中选择“通用”,在文本编辑区输入 Private Sub 过程名2)按回车键,即可创建一个 Sub 过程样板3)在新创建的过程中输入内容3Sub 子过程的调用(1) 用 Call 语句调用 Sub 过程语法:Call 过程名(实在参数表)- 19 -实在参数的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。(2)把过程名作为一个语句来用语法:过程名 实参 1,实参 2它与(1)的不同点是:去掉了

43、关键字和实参列表的括号如上例中可以改成:area a,b,c,w6.3 参数的传递1形参与实参的概念 形参:指出现在 Sub 和 Function 过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的角色。形参可以是:1)除定长字符串变量之外的合法变量名;2)后面跟()括号的数组名。实参:是在调用 Sub 和 Function 过程时,传送给相应过程的变量名、数组名、常数或表达式。在过程调用传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但位置必须对应起来。形参与实参的关系:形参如同公式中的符号,实参就是符号具体

44、的值;调用过程:即实现形参与实参的结合,也就是把值代入公式进行计算。2 按值传递参数(定义时加 ByVal)按值传递参数(Passed By Value)时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。3按地址传递参数(定义时没有修饰词或带关键字 ByRef)按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。如果实参是一个常数或表达式,VB 会按“传值 ”方式来处理。4数组参数VB 允许把数组作为形参出现在形参表中,语法:

45、形参数组名() As 数据类型形参数组只能按地址传递参数,对应的实参也必须是数组,且数据类型相同。调用过程时,把要传递的数组名放在实参表中,数组名后面不跟圆括号。在过程中不可以用Dim 语句对形参数组进行声明,否则会产生“重复声明” 的错误。但在使用动态数组时,可以用 ReDim 语句改变形参数组的维界,重新定义数组的大小。5 对象参数VB 中可以向过程传递对象,在形参表中,把形参变量的类型声明为“Control”,可以向过程传递控件;若声明为“Form”,则可向过程传递窗体。对象的传递只能按地址传递。6.4 变量、过程的作用域1 VB 应用程序的组成:2 过程的作用域 3. 变量的作用域20

46、4静态变量用 Static 声明的静态变量,在每次调用过程时保持原来的值,不重新初始化。而用Dim 声明的变量,每次调用过程时,重新初始化例:显示 1 到 5 个数。5同名变量对不同范围内出现的同名变量,可以用模块名加以区别。一般情况下,当变量名相同而作用域不同时,优先访问局限性大的变量。6.5 递归过程1递归的概念 通俗的讲,用自身的结构来描述自身就称为“ 递归 ”。如对阶乘运算的定义就是递归的:n!=n(n-1)! (n-1)!=(n-1)(n-2)!2递归子过程和递归函数VB 允许一个自定义子过程或函数过程在过程体的内部调用自己,这样的子过程或函数就叫递归子过程和递归函数。递归过程包含了

47、递推和回归两个过程。构成递归的条件是:(1)递归结束条件和结束时的值 (2)能用递归形式表示,并且递归向结束条件发展。例:编制程序求 fac(n)=n!的函数3注意事项 (1)递归算法设计简单,但消耗的上机时间和占据的内存空间比非递归大(2) 设计一个正确的递归过程或函数过程必须具备两点:1)具备递归条件;2)具备递归结束条件(3) 一般而言,递归函数过程对于计算阶乘、级数、指数运算有特殊效果。7.1 文件系统控件1文件系统控件种类(1) 驱动器列表框(DriveListBox):用来显示当前机器上的所有盘符(2) 目录列表框(DirListBox):用来显示当前盘上的所有文件夹(3) 文件列

48、表框(FileListBox):用来显示当前文件夹下的所有文件名2重要属性3重要事件7.2 文件的读写1. 文件的有关概念 记录:计算机处理数据的基本单位,由若干个相互关联的数据项组成。相当于表格中的一行。文件:记录的集合,相当于一张表。文件类型:顺序文件、随机文件、二进制文件。访问模式:计算机访问文件的方式,VB中有顺序、随机、二进制三种访问模式。2. 顺序访问模式顺序访问模式的规则最简单,指读出或写入时,从第一条记录“顺序” 地读到最后一21条记录,不可以跳跃式访问。该模式专门用于处理文本文件,每一行文本相当于一条记录,每条记录可长可短,记录与记录之间用“换行符 ”来分隔。顺序文件的写入步

49、骤:打开、写入、关闭; 读出步骤:打开、读出、关闭。(1)打开文件打开文件的命令是 Open,格式为:Open “文件名” For 模式 As # 文件号 Len=记录长度 说明:1)文件名可以是字符串常量也可以是字符串变量2)模式可以是下面之一:OutPut:打开一个文件,将对该文件进行写操作Input:打开一个文件,将对该文件进行读操作Append:打开一个文件,将在该文件末尾追加记录 3) 文件号是一个介于 1-511 之间的整数,打开一个文件时需要指定一个文件号,这个文件号就代表该文件,直到文件关闭后这个号才可以被其他文件所使用。可以利用FreeFile()函数获得下一个可以利用的文件号。例: Open “D:sjaaa“ For Output As #1 意思是:打开 D:SJ 下 aaa 文件供写入数据,文件号为#1(2)写操作将数据写入磁盘文件所用的命令是:Write# 或 Print#。语法格式:1) P

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报