VisualBasic6.0程序设计与实训完整版课件_第1页
VisualBasic6.0程序设计与实训完整版课件_第2页
VisualBasic6.0程序设计与实训完整版课件_第3页
VisualBasic6.0程序设计与实训完整版课件_第4页
VisualBasic6.0程序设计与实训完整版课件_第5页
已阅读5页,还剩343页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 初识Visual Basic 1.1 Visual Basic 6.0简介1.2 熟悉Visual Basic 6.0的开发环境13 设计程序的一般步骤1.4 VB程序设计的基本概念1.5 项目功能及设计思路结束1.1 Visual Basic 6.0简介 1.1.1 Visual Basic 6.0简介 1.1.2 Visual Basic 6.0的三种版本 1.1.3 Visual Basic 6.0的主要特点 返回首页1.1.1 Visual Basic 6.0 简介 Visual Basic 6.0(简称VB6)是Microsoft公司推出的可视化开发工具。它继承了BASIC语

2、言简单易懂的特点,采用面向对象、事件驱动的编程机制,提供了直观的可视化程序设计方法。 在以Windows操作系统为平台的众多可视化编程工 具中,Visual Basic是最简单、最容易使用的语言,因此是初学者学习可视化编程语言的最佳选择。返回首页返回本节1.1.2 Visual Basic 6.0 的三种版本 学习版(Learning):Visual Basic 6.0学习版是个人版本,具有建立一般Windows应用程序所需要的全部工具。学习版适合于初学者和教学使用。 专业版(Professional):Visual Basic 6.0专业版是针对计算机专业人员的,具有某些高级特性,如包括Ac

3、tiveX和Internet控件开发工具。专业版适合于专业程序员使用。 企业版(Enterprise):Visual Basic 6.0企业版是最高级的版本,它是企业用户开发分布式应用程序的强大的编程工具,也是目前使用最多的版本。本书以企业版为例介绍Visual Basic 6.0。返回首页返回本节1.1.3 Visual Basic 6.0 的主要特点 1. 面向对象的可视化设计平台2. 事件驱动的编程机制3. 结构化的程序设计语言4. 强大的数据库功能和网络开发功能5. 充分利用Windows资源6. 方便实用的程序向导 返回首页返回本节1.2 熟悉Visual Basic 6.0的开发环

4、境 1.2.1启动Visual Basic 6.0 1.2.2 Visual Basic 6.0集成开发环境组成 1.2.3 主窗口 1.2.4 窗体窗口 1.2.5 工程资源管理器窗口 1.2.6 属性窗口 1.2.7 窗体布局窗口 1.2.8 代码窗口 1.2.9 立即窗口 1.2.10 工具箱窗口 1.2.1启动Visual Basic 6.0 单击【开始】,指向【程序】,指向【Microsoft Visual Basic 6.0中文版】,单击【Microsoft Visual Basic 6.0中文版】,即可启动VB,看到如图所示的【新建工程】对话框。 1.2.2 Visual Bas

5、ic 6.0集成开发环境组成 在【新建窗口】对话框中单击【打开】按钮即可进入Visual Basic 6.0的集成开发环境,如图所示。 1.2.3 主窗口 主窗口由集成开发环境顶部的标题栏、菜单栏和工具栏以及下面的工作区组成。1. 标题栏 2. 菜单栏 3. 工具栏 4. 工作区 1.2.4 窗体窗口 窗体窗口又称为“对象窗口”或“窗体设计器”。通过【视图】菜单【对象窗口】命令可以打开窗体窗口。窗体窗口是设计用户界面的地方。窗体(Form)就是应用程序的用户界面,是组成应用程序的最基本的元素。1.2.5 工程资源管理器窗口 1. 标题栏 2. 工具栏 3. 文件列表 1.2.6 属性窗口 1.

6、 标题栏 2. 对象列表框 3. 属性显示排列方式 4. 属性列表框 5. 属性说明框 1.2.7 窗体布局窗口 窗体布局窗口,用于指定程序运行时窗体的初始位置。在窗体布局窗口中有一个模拟显示器,在它的“屏幕”上直观地显示了本程序中各窗体在实际显示器屏幕中的位置和大小。 1.2.8 代码窗口 代码(Code)窗口又称为代码编辑器,用于显示和编辑程序代码,如图1-7所示。在图1-2所示的VB集成开发环境中未显示代码窗口。以下几种方法均可以打开代码窗口: 在窗体窗口双击窗体内部或窗体中的控件; 在【视图】菜单中选择【代码窗口】命令; 在工程窗口单击【查看代码】按钮; 在窗体窗口内任意位置右击,在快

7、捷菜单中选择【查看代码】命令; 按F7功能键。 1.2.9 立即窗口 使用立即窗口可以在中断状态下监视对象属性、变量或表达式的值,也可以在设计时查询表达式的值或命令的执行结果。初学者可以在设计时利用立即窗口练习常用函数、语句和表达式的使用。 1.2.10 工具箱窗口 当新建一个“标准EXE”工程时,VB将同时打开如标准工具箱。标准工具箱中含有一个指针图标和20个内部(标准)控件的图标。除指针图标外,每一个图标代表一种控件,每个控件都是已经定义好的对象,它们有自己的属性、方法和事件。 13 设计程序的一般步骤 Visual Basic6.0程序设计一般有五个步骤:(1)创建应用程序的界面(2)设

8、置属性(3)编写代码(4)调试运行(5)保存工程及生成可执行文件 1.3.1创建应用程序界面 应用程序界面是人机交互的接口,通过应用程序的用户界面,用户可以输入数据,计算机可以显示相应的内容。创建应用程序界面是Visual Basic6.0程序设计的第一步,它通过菜单或者工具箱上的按钮来创建窗体。 1创建工程 2添加控件 3调整控件 1.3.2设置属性 应用程序的用户界面设计好之后,就开始通过属性窗口来设置对象的属性。 1.3.3编写代码 编写代码是Visual Basic6.0程序设计中很重要的一个步骤,通过代码编辑器窗口编辑代码。 1.3.4调试运行程序 编辑完代码之后,可以通过调试菜单的

9、各种调试手段来调试程序,尽可能的发现程序中存在的错误和问题。 运行程序:单击工具栏上的启动按钮,或者单击“运行”菜单的“启动”菜单项,或者按“F5”键,运行程序。 1.3.5保存工程及生成可执行文件 创建Visual Basic6.0应用程序的最后一步是保存工程及生成可执行文件(.EXE)。1.保存工程2.生成可执行文件 1.4 VB程序设计的基本概念 1.4.1 对象1.4.2 对象的属性、事件和方法 1.4.1 对象 对象是具有某些特性的具体事物的抽象。每个对象都具有描述其特征的属性及附属于它的行为。例如,一辆汽车有型号、外壳、车轮等特性,又有启动、加速和停止等行为。 在VB程序设计中,对

10、象是VB系统中的基本运行实体,窗体、标签、文本框、命令按钮等也是对象。在VB中,对象是一组程序代码和数据的集合。如果将应用程序看作是由一系列程序模块组成的,那么,每一个对象都是一个程序模块。VB中的对象分为两类,一类是由系统设计好的,称为预定义对象,可以直接使用或对其进行操作,如工具箱中的控件;另一类是由用户定义的对象。 对象具有属性、事件和方法三要素。 1.4.2 对象的属性、事件和方法 1对象的属性属性是对对象特性的描述,VB为每一类对象都规定了若干属性,设计中可以改变具体对象的属性值。比如窗体的背景颜色、高度与宽度。 2对象的事件(1)事件:事件是发生在对象上的动作。(2)事件过程:当在

11、对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。事件过程的形式如下: Private Sub对象名_事件名(参数列表) (事件内容) End Sub(3)事件驱动模型 1.4.2 对象的属性、事件和方法3对象的方法方法指的是控制对象动作行为的方式。它是对象本身内含的函数或过程,它也是一个动作,是一个简单的不必知道细节的无法改变的事件,但不称作事件;同样,方法也不是随意的,一些对象有一些特定的方法。在VB里方法的调用形式是:对象名方法名参数名表1.5 项目功能及设计思路 1.5.1 项目功能 1.5.2 项目设计思路 1.5.1 项目功能 科学计算器 基本控件(Comma

12、ndButton、Label、控件数组等)文本字体设置 基本控件(选择类控件与框架、列表类控件、滚动条控件等)记事本 RichTextbox、菜单设计、工具栏设计、对话框设计等画图板 PictureBox、VB的各种绘图方法等CD播放器 MMControl控件等VCD播放器 MMControl、ActiveMovie控件等学生信息管理系统 数据库操作(ADO控件、ADO对象编程模型、数据绑定控件、 SQL语言、报表设计等) 1.5.2 项目设计思路 项目设计思路即项目的编程思想。项目主要的编程思想就是模块化编程。模块化是一种很重要的编程思想,特别是编写规模较大的项目。项目的开发往往是由一个开发

13、小组完成的。开发人员相互合作,各自负责项目的一部分功能。所以在进行开发之前,首先要将项目在功能上分为若干块,这些功能模块彼此都是独立的。每个开发人员完成一个功能模块,最后再将这些功能模块组合起来。 第2章 VB程序设计基础2.1 子系统”科学计算器”程序设计 2.2 窗体 2.3 按钮 2.4 标签 2.5 文本框 2.6 VB语言基础 2.7 VB基本语句 2.8 数组 2.9 过程 2.10 ”科学计算器”的具体实现 结束2.1 子系统”科学计算器”程序设计 2.1.1 ”科学计算器”介绍 2.1.2 ”科学计算器”设计思路 返回首页2.1.1 ”科学计算器”介绍 本章将利用VB提供的各种

14、函数、运算符、变量、常量、窗体、命令按钮、标签、各种语句结构等知识,设计一个“科学计算器”程序。 该“科学计算器”程序能够实现常用的各种运算功能。程序运行界面如图所示: 2.1.2 ”科学计算器”设计思路 “科学计算器”程序的设计思路是:1. 在窗体上添加一个标签作为“显示屏”,用来显示输入的数据和运算结果;2.在窗体上创建一个命令按钮控件数组,通过用户单击来输入数字09;3.在窗体上添加一组命令按钮(非控件数组),通过用户单击来输入各种运算符、各种函数等,以辅助实现相关运算; 在窗体上添加一个命令按钮,标题为“=”,通过用户单击来具体实现各种运算。 2.2 窗体 在具体实现“科学计算器”程序

15、之前,先来讨论一下需要用到的基础知识。 窗体是编写VB应用程序的基石。作为与用户交互的界面,各种控件对象必须建立在窗体上。在VB6中,每当创建一个新的工程时,都会得到一个缺省名为Form1的窗体,此时窗体属性为默认属性。在讨论窗体和控件时,主要是要掌握它们的主要属性及设置方法。以下我们将简单介绍窗体的主要属性、事件和方法。 2.2.1 窗体的常用属性 窗体的属性决定了窗体的外观和操作。可以通过在属性窗口设置新的属性值或编写程序代码来改变窗体,但有少量的属性不能在代码中设置。下面是窗体的常用属性。 (1)Name(名称)属性 (2)Caption(标题)属性 (3)Icon(窗体图标)属性 (4

16、)AutoRedraw 属性 (5)BackColor属性和ForeColor 属性 (6)BorderStyle 属性 2.2.1 窗体的常用属性 (7)Apearance属性 (8)Font属性 (9)Visible属性 (10)WindowState属性 (11)Enabled属性 (12)Height属性、Width属性 、Left属性和Top属性 (13)Picture属性 (14)StartUpPosition属性 (15)MaxButton 属性和 MinButton 属性 (16)ControlBox属性 2.2.2 窗体能识别的常用事件 (1)Click事件(2)DblCli

17、ck事件(3)Load事件(4)MouseDown事件(5)MouseUp事件(6)MouseMove事件(7)Activate (活动事件)与Deactivate(非活动事件)(8)Resize事件2.2.3 窗体可以使用的常用方法 窗体上常用的方法有如下几种:(1)Print 方法 其详细使用将在本章2.7节中介绍。(2)Move方法 用于移动窗体或控件,并可以改变其大小。格式如下:对象.Move 左边距离,上边距离,宽度,高度(3)Cls方法 可以清除用Print方法在窗体上显示的文本。 格式如下:对象.Cls(4)Show方法 用以显示 MDIForm 或 Form 对象。 格式如下:

18、对象. Show 模式(5)Hide方法 用以隐藏 MDIForm 或 Form 对象,但不能使其卸载。 2.2.4 多窗体应用程序 多重窗体是指一个应用程序中有多个并列的普通窗体,每个窗体可以有自己的界面和程序代码,完成不同的功能。 1添加窗体 2保存窗体 3设置启动窗体 4有关语句和方法 (1)Load语句:把一个窗体装入内存。(2)UnLoad语句:清除内存中指定的窗体。 2.3 按钮 在应用程序中,命令按钮的应用十分广泛。在程序执行期间,当用户选择某个命令按钮时就会执行相应的事件过程。 在程序运行时,常用以下方法可以选中命令按钮:(1)用鼠标单击(2)按Tab键将焦点移到相应的按钮上,

19、再按回车键。 (3)快捷键( Alt+有下划线的字母)。 2.3.1 命令按钮的常用属性 (1)Caption属性 (2)Default属性 (3)Cancel 属性 (3)Style 属性 (4)Picture属性 (5)ToolTipText属性 2.3.2 命令按钮的常用事件 (1)Click事件 (2)GotFocus事件 (3)LostFocus 事件 (4)MouseDown事件 (5)MouseUp 事件 2.3.3 命令按钮的常用方法 (1)Move方法用于移动命令按钮,其用法同以上窗体的常用方法所讲。 (2)SetFocus方法 让一个对象获得焦点,格式如下: 对象.SetF

20、ocus 2.4 标签 2.4.1标签的常用属性 2.4.2标签的事件和方法 2.4.1标签的常用属性 (1)Caption属性 (2)Font属性 (3)BorderStyle属性 (4)Autosize属性 (5)Alignment属性 (6)BackStyle属性 2.4.2标签的事件和方法 常用的事件有Click(单击)、DblClick(双击)和Change(改变)等。但实际上标签仅起到在窗体上显示文字作用,因此,一般不需编写事件过程。标签支持Move方法,用于实现控件的移动。 2.5 文本框 文本框(TextBox)是一个文本编辑区域。用户可以在文本框内输入、编辑和显示文本内容。默

21、认情况下,文本框只能输入单行文本,并且最多可以输入2048个字符。我们可以利用文本框来创建一个文本编辑器。 2.5.1文本框的常用属性 (1)Text属性 (2)MultiLine属性 (3)Maxlength属性 (4)Locked属性 (5)SelStart属性、Sellength属性和SelText属性(6)PassWordChar属性 (7)ScrollBars属性 (8)Alignment属性 2.5.2 文本框的常用事件和方法 1事件 (1)Change事件 (2)LostFocus事件 (3)KeyPress事件 2方法 文本框最常用的方法是SetFocus和Move。 2.5.

22、3 文本框的简单应用 【例2-6】设计程序,实现以下功能:要求在在第一个文本框中输入文字时,在另外两个文本框中显示同样相同的内容,但显示的字号和字体不同。单击“清除”按钮时则清除三个文本框中的内容并使第一个文本框获得焦点。 分析:在第一个文本框的Change事件中编写代码,把第一个文本框中的文本赋值给另外两个文本框中,从而实现内容的同步。对三个文本框赋空值和使用“SetFocus”方法可以完成“清除”按钮的功能。三个文本框的字体设置可以在窗体的Load事件中设置。 1)界面设计在窗体上添加三个文本框,设置文本框Text2和Text3的Locked属性为True。窗体上添加二个命令按钮,Capt

23、ion属性分别设置为“清除”和“退出”。窗体上添加三个标签,其Caption属性分别设置为“输入文字”、“16号隶书字”和“20号楷体字” 如图所示。 (2)编写代码 (略)2.6 VB语言基础 在前面介绍了几种基本控件的使用,读者可利用控件快速地编写简单的小程序。但要编写实用的程序,还要学习Visual Basic程序设计语言,包括基本语句、数据类型、函数、过程等。本节主要介绍VB的数据类型、表达式、编码规则等语言基础知识。 2.6.1 数据类型 1数值型数据(Numeric) 可分为两大类:整型和实型。(1)整型表示的就是整数。 字节型(Byte) 整型(Integer) 长整型(Long

24、) (2)实型表示的就是实数,实数采用浮点表示形式。 单精度实型(Single) 双精度实型(Double) 2.6.1 数据类型 2逻辑型数据(Boolean) 3日期型数据(Date) 4字符串型数据(String) (1)定长字符串 (2)变长字符串 5变体型数据(Variant) (1)Empty(2)Null (3)Error 6对象型数据(Object) 2.6.2 变量与常量 在程序运行的过程中,有些值是固定不变的,有些值是可以发生改变的。例如:在求圆面积的程序中,有语句s=3.14*r*r,圆半径r是可以变化的,圆面积s随着圆半径r的改变而改变,也是可以变化的。而3.14是固定

25、不变的。因此,从另外一个角度,可以将数据分为变量和常量。 变量 1. 变量的声明(1)显式声明格式如下:Public | Dim | Static | Private 变量名 As 数据类型,变量名 As 数据类型或者:Public | Dim | Static | Private 变量名,变量名 (2)隐式声明在Visual Basic6.0中,允许对变量进行隐式声明,即不对变量进行声明而直接引,此变量将被默认为Variant数据类型。 变量 2. 变量的命名规则在Visual Basic6.0中变量的命名要遵循以下的规则:(1)变量名要以字母或汉字开头,不能以数字或下划线开头。(2)变量名

26、一般由字母、数字、汉字和下划线组成,不得含有+、-、*、/、$、&、%、!、#、?、小数点或逗号等字符。(3)变量名的长度不得超过255个字符。(4)变量名不得与Visual Basic6.0中的关键字重名,如Type、Public、Sin等。 变量 3. 变量的作用范围和存活期变量的作用范围又称作用域。根据变量声明的位置和声明符的不同,VB将变量分为过程级变量(或称局部变量)、模块级变量和全局变量 常量 1普通常量普通常量可以分为数值常量、字符串常量、逻辑常量和日期常量等。数值常量:即数学中的常数。例如:0,-7.368,&369,45E-6等都是数值常量。字符串常量:用双引号括起来的字符序

27、列。例如: “ ”, “How Are You”,“铁道职业技术学院”等都是字符串常量。逻辑常量:只有两个值True(真)和False(假)。日期常量:用于表示某一具体的日期和时间。可以有多种表示形式,但必须把日期和时间用符号#括起来。例如:#2004/5/3#,#May 5,2004#,#02-2-5 15:12:40#等都是日期常量。 常量 2符号常量符号常量是用一个符号来表示一个固定不变的量,它有两种来源:用户自定义和系统内部定义。用户自定义符号常量的方法如下:Const 符号常量名 As 数据类型 = 表达式用括起来的部分表示是可选的。表达式的值就是符号常量所表示的值,一旦定义了一个符

28、号为常量,就不能再为它赋值。 2.6.3 运算符与表达式 运算符 表达式 运算符 1算术运算符 算术运算符包括+(加)、-(减)、*(乘)、/(除)、(整除)、Mod(取余)、-(负号)、(指数)。 2关系运算符 3逻辑运算符 4字符串运算符 表达式 1表达式由常量、变量、函数、运算符以及括号连接起来的有意义的式子称为表达式。 2类型转换在表达式中经常会出现不同类型数据混合运算的情形。此时,需要按一定的规则进行类型转换。转换的方法有两种:系统自动转换;使用转换函数转换。 3运算符的优先级当表达式中有多个运算符时,此时表达式要按运算符的优先级来进行运算。在Visual Basic6.0表达式中,

29、运算按照括号、函数、算术运算、字符串运算、关系运算、逻辑运算的顺序进行。 2.6.4 常用内部函数 数学函数 字符串函数 转换函数 时间/日期函数 格式输出函数Format() 2.6.5 编码规则 VB和其它各种程序设计语言一样,编写代码也有一定的书写规则。主要规则如下:1. VB代码不区分字母的大小写 2. 语句书写自由 3. 可以在语句中给出注释 4. 使用缩排格式 5. 语句可以使用行号与标号 6. 显式声明变量 2.7 VB基本语句 2.7.1 顺序结构 2.7.2 选择结构 2.7.3 循环结构 2.7.1 顺序结构 赋值语句 Print方法 输入对话框 消息对话框 With结构

30、赋值语句 赋值语句是程序设计中最基本、最常用的语句,在前面的章节中我们已经使用过。它的语法格式如下:变量名或属性名=表达式功能:先计算右边表达式,并将结果赋值给左边的变量或对象属性。 赋值语句说明:(1)当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度;(2)当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型再赋值,但当表达式中有非数字字符或空串,则出错。(3)任何非字符类型赋值给字符类型,自动转换为字符类型;(4)当逻辑型赋值给数值型时,True转换为 -1,False转换为0;反之,非0转换为True,0转换为False;(5)赋值号左边的变量只能是变量,不能是常量、

31、常数符号、表达式,否则报错;(6)不能在一句赋值语句中,同时给各变量赋值;(7)在条件表达式中出现的 = 是等号,系统会根据 = 号的位置,自动判断是否为赋值号;(8)注意N=N+1 是累加中常见的赋值语句,表示将N变量中的值加1后再赋值给N。 Print方法 Print方法用于在窗体、图片框和打印机上显示或打印输出文本。关于Print方法我们在前面的例子中已经使用过,现在我们将对它作更进一步的讨论。语法格式:对象. PrintSpc(n)|Tab(n)表达式列表;|,说明:(1)Spc(n)函数:输出时插入n个空格(从当前打印位置起空n个空格),允许重复使用。(2)Tab(n) 函数:输出表

32、达式时定位于第n列(从对象界面最左边第1列开始计算的第n列),允许重复使用。 Print方法 (3)Format(表达式,格式串 函数:根据格式串中规定的格式来输出表达式的值。其中,格式串中的字符可以是(#、0(数字占位符)、(.(小数点)、(%(百分比符号)、(,(千分位)、(-+$(原样输出)。(4)表达式列表:要输出的数值或字符串表达式,若省略,则输出一个空行,多个表达式之间用空格、逗号、分号分隔,也可以出现Spc和Tab函数。表达式列表开始打印的位置是由对象的CurrentX和CurrentY属性决定的,默认为打印对象的左上角(0,0)。(5);(分号):表示光标定位在上一个显示的字符

33、后。(6),(逗号):表示光标定位在下一个打印区的开始位置处,打印区每隔14列开始。(7)无;和,:表示输出后换行。 输入对话框 输入框函数InputBox,通过输入对话框输入数据,它只需一行代码即可实现输入窗体的功能,减少了编程的工作量。InputBox函数的语法格式为:InputBox(提示信息,对话框标题,默认值,X,Y)该函数的功能是产生一个对话框,作为输入数据的界面,等待用户输入并返回所输入的内容。 输入对话框 函数中各参数的作用如下:提示信息:字符串表达式,在对话框内显示提示信息,最大长度为1024个字符。如果包含多行,可以在各行之间用回车符Chr(13)、换行符Chr(10)或回

34、车换行符的组合Chr(13) & Chr(10)来分隔,对应的VB常数分别为vbCr、vbLf和vbCrLf。对话框标题:字符串表达式,显示在标题栏中作为对话框的标题。默认为当前工程的名称。默认值:字符串表达式,显示在对话框的文本框中,在没有其他输入时作为默认输入值使用。默认为空。X、Y:均为数值表达式,分别指定对话框左边和上边与屏幕左边和上边的距离,单位为缇(twip)。如果省略,对话框在水平方向居中,垂直方向约为屏幕的上三分之一处显示。X和Y应成对出现,否则无效。 输入对话框 说明:(1)在对话框中,如果用户选择了【确定】按钮,则InputBox函数返回文本框中所有内容;如果选择了【取消】

35、按钮,则函数返回零长度的字符串。(2)除提示信息外,其他参数均为可选参数。如果指定了后面的参数而省略前面的参数,则必须保留前面的逗号。例如:strNo = InputBox(输入编号, ,001)。(3)使用InputBox函数一次只能输入一个数据。如果要输入多个数据,则必须多次使用该函数。 消息对话框 VB提供了MsgBox函数(语句),专门用来产生消息对话框(简称消息框),它可以向用户传送信息,并可以通过用户在对话框中选择的按钮识别用户所作的响应,作为程序继续执行的依据。使用MsgBox函数,仅用一行代码,即可快速生成多种形式的消息对话框。 消息对话框 1. MsgBox函数该函数能够在对

36、话框中显示信息,等待用户选择按钮,并返回一个整数指明用户单击了哪个按钮。语法格式如下:变量 = MsgBox(提示信息,按钮 ,对话框标题参数说明:“提示信息”和“对话框标题”参数的作用与InputBox函数的对应参数相同。“按钮”参数为数值表达式,是可选项,用来控制在对话框内显示的按钮种类和数量以及图标类型。该参数的值由四类数值相加产生,这四类数值分别表示按钮的类型、显示图标的种类、默认按钮的位置和消息框的强制返回特征 消息对话框 2. MsgBox语句MsgBox函数也可以写成语句形式,即:MsgBox 提示信息,按钮类型 ,对话框标题其中各参数的含义及作用与MsgBox函数相同。MsgB

37、ox语句和MsgBox函数实现的功能基本相同,只是没有返回值,因而通常是在只需输出信息而不必考虑用户反应的情况下使用。 With结构 With结构主要用于一次改变一个对象的多个属性时,不用重复指出这个对象的名称,只须给出对象名称一次。语句格式如下: With 对象 语句块 End With注意:(1)当程序一旦进入With语句块,对象就不能改变。因此不能用一个With语句来设置多个不同的对象。(2)属性前面的“.”不能省略。 2.7.2 选择结构 用顺序结构编写的程序比较简单,只能实现一些简单的处理。在实际应用中,有许多问题需要判断某些条件,根据判断的结果来控制程序的流程。使用选择结构的程序,

38、可以实现这样的处理。Visual Basic中提供了用来实现选择结构的流程控制语句,即If语句和Select Case语句。 If语句 1单分支If语句语句形式如下:If ThenEnd If或 If Then 其中为必选项,它可以是关系表达式、布尔表达式、数值表达式或字符串表达式,但总的说来它是一个逻辑值的表达式,其返回结果必须是True或False。对于数值表达式,Visual Basic将0作为False,非0作为True来处理;对于字符串表达式,Visual Basic只允许出现包含数字的字符串,当字符串中的数字值为0时,则认为是False,否则认为是True。 If语句 执行流程:当

39、计算机执行到If语句时,首先判断“条件表达式”的值,如果表达式的值为True或非零时,执行Then后面的语句块,然后退出If语句。否则,直接退出If语句。 If语句2双分支If语句语句形式如下:If ThenElseEnd If或 If Then Else 在此结构中,条件表达式和语句块1和语句块2的要求同单分支结构一样,在此我们不再单独说明。 If语句3多分支If语句语句形式如下:If 条件1 then 语句块1ElseIf 条件2 then 语句块2Else 语句块n+1End If If语句格式说明:(1)可以放置任意多个ElseIf子句。(2)关键字ElseIf中间没有空格,不能写成E

40、lse If。双分支结构的执行过程如下:依次判断条件,如某一条件成立,则执行其下面的语句块;如果所有条件均不成立,则执行Else后面的语句。在相应语句块执行完后,会跳过End If,执行其后面的语句。 If语句功能说明:(1)不管有几个ElseIf子句,程序执行完一个语句块后,其余ElseIf子句不再执行。(2)当多个ElseIf子句中的条件都成立时,只执行第一个条件成立的子句中的语句块。因此,在使用ElseIf语句时,要特别注意各判断条件的前后次序。(3)当多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块。(4)书写该语句时,必须严格遵守该语句的格式。Else与If之间不能有空格

41、,且中的语句不能与其前面的Then写在同一行上。(5)在该结构的语句中,ElseIf语句的数量没有限制,可以根据需要加入任意多个ElseIf子句。(6)ElseIf子句和Else子句都是可选的,如果省略,则简化为简单的块If语句。 If语句4 If语句的嵌套块结构If语句可以嵌套,即在上述结构中的和部分仍然可以包含另外一个块结构If语句。如果在条件成立或不成立的情况下要继续判断其他条件,则可以在语句块的位置上再使用另外一个块结构条件语句。 例如,下面就是一个简单的块结构嵌套的语句: If Then If Then Else End IfElse End If If语句这个语句就是在块结构的If

42、部分嵌套了另外一个块结构。执行该语句时,首先判断是否成立,如果成立,则再判断是否成立,如果成立,则执行,否则执行;如果不成立,则执行。 当然,在Else部分也可以嵌套另外的块If结构,If和Else部分也可以同时嵌套。 Select Case语句 虽然使用条件语句的嵌套可以实现多分支选择,但结构不够简明。使用多分支语句Select Case也可以实现多分支选择,它比起上述条件语句嵌套更有效,更易读,并且易于跟踪调试。语句形式如下:Select Case 测试表达式 Case 表达式列表1 语句块1 Case 表达式列表 语句块2 Case 表达式列表 语句块n Case Else 语句块n+1

43、End Select Select Case语句Select Case语句的执行过程是:根据“测试表达式”的值,选择第一个符合条件的语句块执行。先求“测试表达式”的值,然后顺序测试该值符合哪一个Case子句中的情况,如果找到了,则执行该Case子句下面的语句块,然后执行End Select后面的语句;如果没找到,则执行Case Else后面的语句块,然后执行End Select后面的语句。 Select Case语句说明:(1)“测试表达式”可以是数值型或字符串表达式。(2)“表达式列表”与“测试表达式”的类型必须相同。(3)“表达式列表”可以是表达式、一组用逗号分隔的枚举值、表达式1 to

44、表达式2、Is关系运算符表达式;如:case 1 to 10 、 case a,w,e,t 、 case 2,4,6,8,is10。(4)并不是所有的多分支结构都可以用Select Case语句代替的。 2.7.3 循环结构 在程序设计中,经常会遇到按一定的规则重复执行某些运算或操作的情况,例如,统计全校几千名学生的成绩、求若干个数之和等。对于这类问题,如果用顺序程序来处理,将是十分烦琐的,有时候也是难以实现的。这种情况下就要使用循环流程控制结构来实现。循环是在指定的条件下多次重复执行一组语句。VB中提供了两种类型的循环语句:一种是计数型循环语句,另一种是条件型循环语句。 ForNext循环

45、ForNext循环语句是计数型循环语句,用于控制循环次数预知的循环结构。其语句形式如下:For 循环变量=初值 To 终值 Step 步长 循环体Next 循环变量 其中:(1)循环变量:被用作循环计数器的变量,必须为数值型。(2)初值、终值:都是数值型,可以是数值表达式。 ForNext循环 (3)步长:是数值型,可以是数值表达式。步长不能为0。如果步长是1,则Step 1可以省略不写。(4)循环体:在For和Next之间的一条或多条语句,他们将被执行指定的次数。在循环体中可以有Exit For语句,当遇到该语句时,退出循环。 (5)Next后面的循环变量与For语句中的循环变量必须相同。(

46、6)循环次数由初值、终值和步长确定,计算公式为:循环次数=Int(终值-初值)/步长)+1利用该公式可以方便地计算出循环体执行的次数。 ForNext循环 ForNext循环的执行过程如下(流程如图2-22所示):(1)系统将初值赋给循环变量,并自动记下终值和步长。(2)判断循环变量是否超过终值:未超过终值,执行一次循环体;否则,结束循环,执行Next后面的语句。(3)将循环变量加上一个步长,转到(2),继续执行。 DoLoop循环 ForNext循环主要用在已知循环次数的情况下,若事先不知道循环次数,可以使用DoLoop循环语句。Do循环语句有两种语法格式:前测型循环结构和后测型循环结构。两

47、者的区别在于判断条件的先后次序不同。 DoLoop循环 1前测型循环结构语句格式为:Do While | Until 循环条件语句块Exit DoLoopDo WhileLoop (当型循环)语句的功能是:当指定的“循环条件”为True执行循环体;当条件为False时,终止循环。Do UntilLoop (直到型循环)语句的功能是:当指定的“循环条件”为False执行循环体;当条件为True时,终止循环 DoLoop循环 说明:(1)要将上面的程序改为用Do UntilLoop来写,只须将Do While n 100即可。(2)DoLoop循环中Exit Do的作用是退出当前循环,一般配合If

48、 Then语句来使用,可以当条件满足时提前退出循环。(3)当省略了While|Until 条件字句,即循环结构仅由 DoLoop关键字构成时,表示无条件循环,这时循环体内应该有Exit Do语句,否则为死循环。 DoLoop循环2后测型循环结构Do语句块Exit DoLoop While | Until 循环条件这种循环结构与前测型循环结构的功能类似,只是先执行循环体,再判断条件,根据条件决定是否继续执行循环。这种循环结构的特点是循环体最少执行一次。 循环的嵌套 前面介绍的循环程序都是在循环体内不再包括其他循环的循环结构,一般地,我们把这种循环结构称为单层循环。而在处理实际问题时,常常要在循环

49、体内再进行其他循环操作,在内嵌的循环中还可以再包括循环,这种在一个循环的循环体内又含有另外一个循环的循环结构称为多重循环,也称为循环的嵌套。在嵌套结构中,对嵌套的层数没有限制,有几层嵌套,就说是几重循环,如二重循环、三重循环、四重循环等。通常我们把嵌套在一个循环体内部的循环部分称为内循环,把嵌套了其他内循环的循环部分称为外循环。 循环的嵌套 对于循环的嵌套,要注意以下事项:(1)在循环的嵌套中,内层循环和外层循环应该使用不同的循环控制变量。(2)在多重循环的任何一层循环中都可以使用Exit Do或Exit For退出循环,但要注意只能退出Exit Do或Exit For 语句所对应的最内层循环

50、,而不是一次退出多层循环。(3)嵌套时,内层循环必须完全包含在外层循环之内,不能相互“跨骑”。 2.8 数组 2.8.1 一维数组 2.8.2 多维数组 2.8.3 控件数组 一维数组的概念 数组就是一组具有相同名字、不同下标的变量的集合。一维数组就是只有一个下标的数组。需要注意数组并不是一种数据类型,它是用来存放或表示一组相关的数据。VB中的数组有一维数组、二维数组、,最多60维;二维及二维以上的数组也称多维数组。按声明时数组的大小确定与否分为静态(定长)数组和动态(可调)数组两类。数组必须先声明后使用,主要声明数组名、类型、维数、数组大小。按声明时下标的个数确定数组的维数。 一维数组的声明

51、和引用 1. 一维数组的声明声明一维数组的格式如下:Dim 数组名(下标) As 类型其中:下标:必须为常数,不可以为表达式或变量。下标的形式为:下界 To 上界,下标的上下界不得超过长整型数据类型的范围,且受内存大小限制。若省略下界,其默认值为0。一维数组的元素(分量)个数为:上界下界+1。As 类型:指定数组的数据类型(数组中各元素的数据类型)。如果省略,即不明确给出数组的类型,则数组与以前所述简单变量的声明一样,默认为变体型数组。用Dim语句声明数组,实际上就是为系统提供数组名、数组类型、数组的维数和各维大小等相关信息。 一维数组的声明和引用 2. 一维数组的引用在对数组操作时,引用一维

52、数组元素的形式是:数组名(下标)注意:下标不能超出数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至又是一个数组元素。如C(8)、C(3+13)、C(i) 都是正确的数组元素引用形式。一维数组元素的使用规则与同类型的简单变量相同。 一维数组的使用 编写程序时,一维数组通常与For循环结合使用,For语句中的循环变量作为数组元素的下标,通过循环变量的不断改变,达到对每个数组元素依次进行处理的目的。 多维数组的声明 多维数组声明形式如下:Dim 数组名(下标1,下标2 ,下标3 )As 类型其中,下标有两个以上的数字,它决定了数组的维数为多维。每一维的大小为:上界下界+1;数组的大

53、小为各维大小的乘积。例如:Dim K(0 To 2, 0 To 3) As Long 或 Dim K(2, 3) As Long都是声明了一个长整型的二维数组K,第一维下标范围为02;第二维下标范围为03,占据34个长整型变量的空间 多维数组的声明 说明:(1)在默认情况下,声明的静态数组其下标下界从0开始,为了便于使用,在VB中的窗体级或标准模块级中可用Option Base n语句重新设定数组的默认下界。(2)在数组声明中的下标关系到每一维的大小,是数组说明符,说明了数组的整体;而在程序其他地方出现的下标是为了确定数组中的一个元素,也就是用来表示数组中的一个元素。两者写法相同,但意义不同。

54、(3)在数组声明时的下标只能是常数,而在其他地方出现的数组元素的下标可以是变量,读者也要注意加以区分。(4)尽管VB允许声明多达60维的数组,但是随着数组维数的增加,数组所占内存会大幅度增加,甚至造成内存溢出,因此应慎用多维数组。 多维数组的使用 在利用多维数组编写程序时,多维数组通常与多重For循环结合使用,每重For语句中的循环变量分别作为数组元素的不同下标,通过循环变量的不断改变,达到对多维数组中每个数组元素依次进行处理的目的。在多维数组中,使用最多的是二维数组。编写程序时,二维数组通常与二重For循环结合使用,每重For语句中的循环变量分别作为数组元素的两个下标。 控件数组的概念 控件

55、数组是由一组相同类型的控件组成。它们共用一个控件名,绝大部分属性也相同,但有一个属性不同,即Index属性的值不同。当建立控件数组时,系统给每个元素赋一个唯一的索引号(Index),通过属性窗口的Index属性,可以知道该控件的下标是多少,第1个元素下标是0。例如,CmdNum(8)表示名为CmdNum的控件数组的第9个元素。控件数组最大的特点是:控件数组各元素共享同样的事件过程,所以适用于若干个控件执行的操作相似的场合。例如,控件数组CmdNum有10个命令按钮,则不管单击哪个命令按钮,就会调用同一个单击事件过程。为了区分是控件数组中的哪个元素触发了事件,在程序运行时,通过系统传送给过程的索

56、引值(即下标值)来确定。 控件数组的建立和使用 控件数组的建立有两种方法:1. 在设计时建立建立的步骤如下:(1)窗体上画出某控件,可进行控件名的属性设置,这是建立的第一个元素。(2)选中该控件,进行“复制”和“粘贴”操作,系统会提示如图2-28所示的对话框(假设先画了一个“Command1”命令按钮)。单击【是】按钮后,就建立了一个控件数组元素,进行若干次“粘贴”操作,即可建立所需个数的控件数组元素。(3)进行事件过程的编程。 控件数组的建立和使用 2. 运行时添加控件数组元素建立的步骤如下:(1)先在窗体上画出某控件,设置该控件的Index值为0,表示该控件为数组;也可进行控件名的属性设置

57、,这是建立的第一个元素。(2)在程序代码中通过Load语句添加其余的若干个元素,也可以通过Unload语句删除某个添加的元素。(3)对每个新添加的控件数组元素通过设置Left和Top属性,确定其在窗体上的位置,并将Visible属性设置为True。 2.9 过程 2.9.1 子过程 2.9.2 函数过程 2.9.3 参数传递 2.9.4 过程的作用范围 2.9.1 子过程 通用过程告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,就必须由应用程序来调用。反之,直到为响应用户引发的事件或系统引发的事件而调用事件过程时,事件过程通常总是处于空闲状态。为什么要建立通用过程呢?理由之一就是,几个

58、不同的事件过程也许要执行同样的动作。将公共语句放入一分离开的过程(通用过程)并由事件过程来调用它,诚为编程上策。这样一来就不必重复代码,也容易维护应用程序。 通用过程的定义 1通用过程的语法形式通用过程的定义格式如下:Private|Public Static Sub Exit Sub End Sub 通用过程的定义 说明:(1)Private|Public是可选的。它决定了此过程的作用域。默认为Public(公用的)。(2)Static是可选的。它决定了此过程内的变量的生命周期。(3)过程名与变量名的命名规则相同,长度不得超过40个字符。(4)Exit Sub语句使执行立即从一个子过程中退出

59、,程序接着从调用该子过程的下一条语句继续执行。(5)类似于变量声明,指明从调用过程传送给过程的变量个数和类型,各变量之间用逗号间隔。(6)中出现的参数称为形式参数,简称形参。(7)在过程内,不能再定义过程,但可以调用其他Sub过程或Function过程。 通用过程的定义 2Sub过程的建立 可以使用以下两种方法:第一种方法,操作步骤如下:(1)执行“工程”菜单中的“添加模块”命令,打开“添加模块”对话框,在该对话框中选择“新建”选项卡,然后双击“模块”图标,打开模块代码窗口。(2)选择“工具”菜单中的“添加过程”菜单项,打开“添加过程”对话框。(3)在“名称”文本框中输入过程名,从“类型”组中

60、选择过程类型,从“范围”组中选择范围。(4)在“范围”栏内选择过程的适用范围,可以选择“公有的”或“私有的”。(5)单击“确定”按钮。 通用过程的定义 第二种方法,操作步骤如下:执行“工程”菜单中的“添加模块”命令,打开模块代码窗口,然后输入过程的名字。如,输入“Sub abc()”,按回车键后显示: Sub abc() End Sub即可在Sub和End Sub之间输入程序代码。 子过程的调用 调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。每次调用子过程都会执行Sub与End Sub之间的语句序列。调用子过程有多种技巧,它们与过程的类型、位置以及在应用程序中的使用方法有关。调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论