全套课件·《Visual_第1页
全套课件·《Visual_第2页
全套课件·《Visual_第3页
全套课件·《Visual_第4页
全套课件·《Visual_第5页
已阅读5页,还剩253页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 VB概述主要内容 Visual Basic语言简介 Visual Basic语言集成环境 VB可视化编程的步骤 面向对象编程的基本概念 使用联机帮助1.1 中文Visual Basic简介Visual Basic是基于BASIC的可视化程序设计语言 BASIC语言是英文Beginners All-Purpose Symbolic Code(初学者通用符号指令代码)的缩写,是一种在计算机技术发展历史上应用最为广泛的语言 1.2 中文Visual Basic语言的特点1.可视化:使用预先建立的控件,把需要的控件“画”在屏幕的相应位置,即可方便地设计出图形用户界面 2.面向对象:把程序和数据

2、封装起来作为一个对象,并为每个对象赋予相应的属性 3.事件驱动:在设计应用程序的时候,编写若干个子程序,由用户操作引发某个事件来驱动完成某种特定的功能,或由事件驱动程序调用通用过程来执行指定的操作 1.3 中文Visual Basic 的版本1.学习版:学习版主要是为初学者了解基于Windows的应用程序开发而设计的,它包括全部内部控件、网格控件、选项卡以及数据绑定控件。2.专业版:专业版主要是为计算机专业编程人员而设计的,提供了功能完备的开发工具。3.企业版:企业版是为创建高级的分布式、高性能的客户/服务器或Internet/Intranet上的应用程序而设计的。返回2.1 VB6.0的启动

3、和退出1.启动2.退出不用多说了2.2 Visual Basic的集成工作环境 1.标题栏和菜单栏 2.工具栏3.工具箱4.工程管理器窗口 5.属性窗口6.其他窗口返回3.1 简单程序入门 一个简单的应用程序。界面由1个窗体、1个文本框和2个命令按钮组成。当用户单击“确定”按钮时,文本框中出现“欢迎大家!”字样,当单击“退出”按钮时,程序结束。步骤:1.新建工程、2.添加文本框、3.添加命令按钮、4.设置属性、5.编写事件代码、6.运行应用程序 、7.保存应用程序、8.生成可执行文件3.2 VB编程的一般步骤 1.设计用户界面:添加控件、调整控件的位置和大小 2.设置属性3.编写代码4.保存、

4、运行及调试程序:保存VB应用程序、运行工程 5.生成EXE文件 返回几个基本概念 对象:系统中的基本运行实体,封装了数据和操作。对象的属性:对象的性质和状态特征。对象的方法:对象的动作,是VB提供的一种特殊的子程序。对象的事件:请求对象执行某一操作或回答某些信息的要求称为对象的响应。事件过程:对象在发生某“事件”后所执行的程序称为事件驱动程序。返回5 使用联机帮助 1.使用在线帮助 2.使用上下文相关帮助返回第2章 VB程序设计基础基本字符和词汇 基本数据类型 常量与变量 运算符和表达式 常用内部函数 VB中的控件 主要内容1.1 字符集 字符:构成程序设计语言的最小语法单位,所有合法的语法单

5、位都是由这个字符集中的元素构成的集合。VB的基本字符集包括如下内容:(1)数字:0、1、2、3、4、5、6、7、8、9;(2)英文字母:包括大写字母AZ和小写字母az;(3)特殊字符:! # $ % & * ( ) - + = : ; ? / , . | 空格等;(4)汉字。1.2 标识符 编程人员为变量、常量、数据类型、过程、函数等定义的名字,程序员可以对一些数据对象、控件对象命名,必须符合如下规则: (1)标识符必须以字母(AZ、az)开头,后面可跟字母、数字或下划线;(2)标识符长度不能超过255个字符;(3)自定义的标识符不能和Visual Basic系统中的运算符、语句、函数和过程名

6、等关键字同名,同时也不能与系统已有的方法和属性同名。 1.3 关键字是Visual Basic系统中保留下来的作为程序中具有固定含义的标识符,关键字主要包括命令名、函数名、数据类型名、运算符、标准过程名等,是不能被重新定义的。VB中约定关键字的首字母为大写字母。 返回2.1 数值型(Numeric)数据类型 表示数量的多少和极性,分为整型和实型两大类:1.整型:没有小数点和指数符号的数。可以分为:(1)整型(Integer,%):两个字节存储。(2)长整型(Long,&):四个字节存储。(3)字节型(Byte):一个字节存储二进制数。2.实型:实型数是有小数部分的数。可以分为(1)单精度型(S

7、ingle,!):4个字节,指数用“E”表示。(2)双精度型(Double,#):8个字节,指数用“D”表示。(3)货币型(Currency,类型符):用8个字节存储。3.日期型:8个字节,日期范围从公元100年1月1日到9999年12月31日,时间范围从00000到235959。日期和时间数据用定界符“#”括起来, 2.2 字符串型数据类型字符串型数据类型用于存放字符型数据,有变长和定长两种字符串,用双引号作为定界符号,双引号内字符的个数叫做字符串的长度。在Visual Basic中,字符串型数据采用国际标准化组织(ISO)字符标准,ASCII码字符和汉字一样都采用双字节存储。 2.3 逻辑

8、型数据类型 用于逻辑判断,这种类型的数据只有True(逻辑真)和False(逻辑假)两个值,用2个字节存储。当逻辑数据转换成整型数据时,True转换为1,False转换为0;当其他数据类型转换成逻辑型数据时,非0转换为True,0转换为False。 。 2.4 变体型数据类型 一种特殊的数据类型,在程序中没有被“显式”声明为某种类型变量的数据类型。包含除定长字符串型数据和自定义型数据外的任何数据类型,还可包含如下四种:(1)Empty(空):表示未指定确定的数据。(2)Null(无效):表示数据不合法。(3)Error(出错):指出过程中出现了一个错误条件。(4)Nothing(无指向):表示

9、数据还没有指向一个具体的对象。2.5 自定义型数据类型 允许用户利用Type语句定义自己的数据类型,它是由若干个标准数据类型组成,类似于C语言中的结构体类型。格式为: Type As As As End Type2.6 不同类型数据的混合运算 对不同类型数据的运算结果,VB规定:(1)同类型的数据互相运算,结果值的类型不变。(2)整型数据与实型数据互相运算,其结果为实型。(3)整型数据与长整型数据运算的结果为长整型。(4)单精度数据与双精度数据运算的结果为双精度型。返回3.1常量在程序运行期间始终保持不变的数据。 VB中的常量分为:是文字常量和符号常量。符号常量又分为系统定义的符号常量和用户自

10、定义的符号常量。1.文字常量:直接出现在程序代码中,类型和值由它本身的表示形式决定 。2.符号常量:采用常量定义的方法,定义一个符号来表示一个常数。以提高程序的可读性和可维护性。在VB中有两种符号常量,一个是系统定义的,一是用户自定义的 3.2 变量在程序执行过程中,其值可以发生变化的量称为“变量” 。几个概念:1.变量名:执行应用程序时使用变量临时存储数据,变量代表内存中指定的存储单元,这个存储单元的名字称为变量名 。命名规则。2.变量的说明:使用变量前,应首先定义所用到的变量(包括变量名和类型),使系统分配相应的内存空间,并确定该空间可存储的数据类型。3.静态变量:程序模块运行结束后,VB

11、收回静态变量,并且保留它们的值。 返回4.1 运算符运算符就是用来对运算对象进行各种运算的操作符,运算对象通常包括常量、变量和函数等。Visual Basic中的运算符分为四类:算数运算符、字符串运算符、关系运算符、逻辑运算符。 4.2 表达式 由常量、变量、函数、运算符以及括号按照一定的规则组成,经过计算都会有一个结果,结果的类型由参与运算的数据和运算符决定。分为算术表达式、关系表达式和逻辑表达式。应遵循一定的书写规则 :(1)行编辑,表达式从左到右都写在同一行上,比如没有上标、下标、开根号等。(2)乘法运算符“*”不能省略。(3)只能使用圆括号,且必须成对出现,可以嵌套。4.2 表达式 运

12、算符的优先级:从左到右,从上到下优先级依次降低当表达式中的运算符优先级相同时,按从左到右的顺序进行运算。另外,可以用圆括号来改变优先顺序。返回算数运算符关系运算符逻辑运算符幂运算()相等(=)Not负数()不等()And乘、除(*、/)小于()Xor求模运算(Mod)小于等于(=)Imp字符串连接(&)VB的内部函数大体上可以分为4类:数学函数、转换函数、字符串函数、时间函数。这些函数都带有一个或几个自变量,在程序设计语言中称为函数的“参数”,函数对这些参数进行运算,返回一个结果值。 函数调用的一般格式为:()5.1 数学函数用来完成数学运算,有三角函数、算术平方根函数、对数函数、指数函数、绝

13、对值函数和随机函数 函数名功能示例Sin(N)求N的正弦值,N为弧度Sin(0)=0Cos(N)求N的余弦值,N为弧度Cos(0)=1Tan(N)求N的正切值,N为弧度Tan(1)=1.55740772Atn(N)求N的反正切值,N为弧度Atn(2)=1.10714871Sgn(N)求N的符号Sgn(3)=1,Sgn(0)=0,Sgn(-4.5)=1Abs(N)求N的绝对值Abs(6)=6,Abs(5)=5Sqr(N)求N的平方根Sqr(9)=3Exp(N)求e的N次幂Exp(2)=7.389Log(N)求N的自然对数Log(10)=2.3Rnd(N)产生01之间的随机小数5.2 转换函数用来

14、实现不同类型数据之间的转换。 函数名功能示例Int(N)取得一个不大于N的最大整数Int(4.5)=4Int(4.5)=5Cint(N)把N的小数部分进行四舍五入Cint(4.5)=5Fix(N)取得N的整数部分,截去小数部分Fix(4.5)=4Fix(4.5)=4Round(x,N)保留N位小数,四舍五入Round(3.14159,2)=3.14Asc(C)求得字符串C的首字符的ASCII码值Asc(B)=66Asc(bit)=98Chr(N)ASCII码值转换成字符Chr(66)=BVal(C)把字符串C中的数值转换成数值。Val(3.14r)=3.14Str(N)把数值型数据转换字符型S

15、tr(3.14)=3.14Cstr(N)数值型数据转换成字符串型CStr(21)=215.3字符串函数 函数名功能示例Len(C)求字符串C的字符个数Len(“欢迎VB”)=4LenB(C)求字符串C的字节数LenB(“欢迎VB”)=8Left(C,N)从字符串左边取N个字符Left(“欢迎VB”,2)=“欢迎”Right(C,N)从字符串右边取N个字符Right(“欢迎VB”,2)=“VB”Mid(C,N1,N2)从C左边第N1个位置向右取N2个字符Mid(“欢迎VB”,2,2)=“迎V”Ucase(C)把字符串中的字符全部改为大写Ucase(“Hello”)=“HELLO”Lcase(C)

16、把字符串中的字符全部改为小写Lcase(“Hello”)=“hello”Ltrim(C)截去字符串左边的空格Ltrim(“ Hello”)=“Hello”Rtrim(C)截去字符串右边的空格Rtrim(“Hello “)=“Hello”Trim(C)截去字符串两端的空格Trim(“ Hello “)=“Hello”String(N,C)返回由C中首字符组成的N个字符串String(2,”cat”)=“cc”Space(N)取得N个空格5.4日期与时间函数 函数名功能示例Time()返回系统当前时间17:30:16Date()返回系统当前日期2008-3-21Now()返回系统当前日期和时间20

17、08-3-21 17:30:16Day(C/N)返回当月的第几天Day(08,3,21)=21Month(C/N)返回当年的月份Month(08,3,21)=3Year(C/N)返回当年的年份Year(08-3-21)=2008WeekDay(C/N)返回日期中的星期几WeekDay(08-3-21)=6即星期五返回6.1 控件的分类 VB中的控件一般分为三大类:内部控件、ActiveX控件和可插入的对象。 1.内部控件:称为标准控件,包含在Visual Basic中的“EXE”文件中,可直接使用。在“工具箱”中显示。2.ActiveX控件:是扩展名如“.OCX”文件的可执行代码单元,是工具箱

18、的扩充,默认状态不出现在工具箱中。3.可插入对象:是指能够添加到工具箱中的对象。用户可将符合标准的文件添加到工具箱中,在编程时,可以象操作控件一样操作这些插入对象。返回6.2 内部控件的命名 微软公司建议命名规则为:“前缀”“标识”“前缀”由控件类型的三个简称字母组成,“标识”是该控件所标识的含义。控件类型前缀控件类型前缀Form(窗体)frmVScrollBar(垂直滚动条)vsbPictureBox(图片框)picTimer(计时器)tmrLabel(标签)lblDrivelListBox(驱动器列表框)drvFrame(框架)fraDirListBox(目录列表框)dirCommandB

19、utton(命令按钮)cmdFielListBox(文件列表框)filCheckBox(复选框)chkShape(形状)shpOptionButton(单选按钮)optLine(直线)linComboBox(组合框)cboImage(图像)imgListBox(列表框)lstData(数据)datHScrollBar(水平滚动条)hsbTextBox(文本框)txt第3章 基本语句和结构 基本语句 选择结构 多路分支结构 循环结构 主要内容案例3-1打印输出 通过这个简单的程序,可以掌握Visual Basic中常用的几种基本语句,包括赋值语句、打印语句、注释语句、结束语句等。 1.1 案例说

20、明程序执行时,单击窗体的任何一个位置,顺序执行“窗体单击”事件中相应的语句,执行后在窗体上会显示数字的不同排列以及不同的符号组合。这些不同数字和符号,是通过赋值语来取得数据,按照语句的先后顺序执行这些赋值语句,通过打印语句以及打印控制语句来完成输出,在指定的位置显示相应的符号。 1.2 程序实现 1.界面设计新建一个工程,系统默认产生了一个新窗体,无需添加其它控件。窗体的属性采用系统的默认值。2.代码设计Private Sub Form_Click ()a = 12345b = 54321a = bb = 12345Print aPrint bPrinta = : b = #: c = $Pr

21、int a; b; cPrintPrint a, b, cPrintPrint Tab(2); a; Space(4); b; Space(8); cEnd Sub1.3 相关知识 1.赋值语句:为变量提供数据,设置对象的属性。变量名=表达式 (为变量提供数据)。对象名属性名=表达式 (为对象设置属性)2.输出语句:可以把运算结果传送到窗体、图片框等对象显示,也可传送到打印机用于打印。Print的格式为:Print ,|;几点说明:3.Cls方法:清除窗体或图片框上的文本或图形。格式如下: Cls4.注释语句:在VB中用“”或Rem标识。5.结束语句:End1.4 拓展知识 1.赋值相容问题:

22、2.与Print语句有关的函数:1.5 案例1-2 这个程序可以观察“重叠显示”和“覆盖显示”两种输出方式。相关知识:1.如需要保留原来显示的内容,或者需要部分覆盖原来的图案。可设置窗体对象的FontTransParent属性来实现。格式为:FontTransParent =True|False2.CurrentX和CurrentY属性的作用是设置下一次显示或打印的水平和垂直坐标。格式为: CurrentX=X CurrentY=Y返回2.1 求解一元二次方程案例说明一元二次方程ax2+bx+c=0的根取决于它的三个系数a、b、c。根据三个系数的具体值,判断出该一元二次方程的根的情况。当a=0

23、时不构成一元二次方程,只有一个根;当a0时,根的情况要计算b2-4ac的值。b2-4ac0时,方程有两个不相等的实根,b2-4ac=0时,该方程有两个相等的实根,b2-4ac0时则没有实根。该程序要求从键盘输入a、b、c三个系数,根据上述的几种情况做出不同的判断和处理,然后把这个方程的根显示出来。2.2 程序实现 1. 界面设计:单击窗体后,显示一个输入框,从键盘输入所需要的3个系数a、b和c,然后进行计算。2.代码设计:2.3 相关知识 选择结构就是根据给定的“条件”是否满足,从两种或多种可能的操作方案中选择一种操作执行。包括:1.行If:If Then Else 2.块If语句:If Th

24、enElseEnd If 块If语句的几点说明:条件满足?语句块1语句块2End If语句TF2.3 相关知识 3.ElseIf结构:可以解决多层嵌套问题。格式为:If ThenElseIf ThenElseIf ThenElseEnd IfFT条件2语句块2FT条件n语句块n+1语句块nEnd If条件1语句块1FT小结:两种结构的对比。本案例中求解一元二次方程的根的算法中,前述的块If嵌套的代码可以改为如下ElseIf结构,对比一下可以看出,用ElseIf结构取代块If嵌套结构可以使得代码的层次变得简单了。返回3.1 判定成绩案例说明从键盘输入一个学生的成绩,按照不同的分数区域,给出不同的

25、等级。例如分数90时,给出的等级是“优秀”,80分数90时等级为“良好”,70分数80时等级为“中等”,60分数70给出的等级为“及格”,而当分数60时,则为“不及格”。也就是说根据给定的条件不同,有5种选择,采用多路分支结构语句。3.2 程序实现1.界面设计:添加2个命令按钮和1个标签。设置2个命令按钮的Caption属性。标签Lable1的Caption属性设置为空。单击“单击输入分数”按钮,显示一个输入框。等待输入成绩,在输入框中输入成绩后,单击输入框中的“确定”按钮,则在窗体的标签上显示这个分数所在的档次,单击另一个“退出”按钮,则退出程序的执行。2.代码设计:对两个命令按钮的单击事件

26、进行编程。 3.3 相关知识1.Select Case语句:又称为情况语句。一般格式为:Select Case Case Case Case Case ElseEnd Select测试表达式=?语句块1语句块2语句块i语句块n+1语句块n3.3 相关知识“测试表达式”可以是字符串表达式,也可以是数值表达式,而且在进入Select Case结构时必须具有确定的值。“表达式列表”形式有3种情况:(1)可以是一个表达式,也可以是多个表达式,但必须用逗号隔开。例如:Case 2,4,6,8表示测试表达式的值等于2,4,6,8之一,就算满足。(2)表达式1 To 表达式2。一般情况下,表达式1的值小于表

27、达式2的值。例如:Case -20 To 20表示“20测试表达式20”。(3)Is 关系运算符 表达式。例如:Case Is ab表示测试表达式的值大于等于ab。3.3 相关知识Select Case情况语句可以应用于要处理的问题需要从多个可能的方案中选择,虽然用嵌套的If语句以及ElseIf语句也可以实现多路选择的结构,但书写和阅读起来会显得比较杂乱,而使用Select Case语句将使得程序的结构更为清晰。比如在上一节介绍的求解一元二次方程根的程序,当a、b、c确定且a0时,构成一元二次方程,根的值取决于b24ac的值。b24ac有三种可能,等于0、大于0和小于0。如果用Select C

28、ase语句实现,可以编写代码如下:3.4 拓展知识在使用Select Case语句处理多路分支问题时,应避免不同的Case子句中的条件和相应的操作出现矛盾。 VB系统是按照Case出现的次序,从上往下依次检查测试表达式的值是否与某个Case子句指定的条件匹配,当发现一个Case子句具备匹配的条件后,其他的Case子句都不起作用。而这种逻辑上的错误系统是不会去检查的,因此,在使用Select Case语句时就要避免类似情况的出现。 返回4.1 验证歌德巴赫猜想案例说明素数的特征是只能被1和它本身整除。验证p是否是素数,我们只需在2到p1之间能否找到一个能整除p的数,如果有,则p不是素数,如果没有

29、,则p就是一个素数,然后设置一个p是素数的标志fp=True。也就是说用2到p-1的各整数去除p,判断余数是否为零,如果余数为零,则肯定能被整除。在寻找2到p-1之间的一个能被p整除的数,就是要把2到p-1的所有的数都作为被除数p的除数,进行除法运算。这是一个重复循环的过程,需要循环结构进行程序的流程。而且这样的过程也是循环的,因为6到100之间的偶数都需要寻找这样的两个素数,因此需要使用循环的嵌套来实现。4.2 程序实现 1.界面设计:在窗体上添加一个命令按钮,把命令按钮的标题属性改为“验证猜想”,其余的属性采用系统的默认值。然后调整命令按钮到合适的位置。2.代码设计:在这个程序中同时使用了

30、选择结构和循环结构以及循环结构的嵌套。因为是要验证6到100之间的所有偶数,设偶数为n,且从6一直变化到100,采用了For循环。然后分别寻找这样的两个素数p和q,且npq,使用Do Loop循环,当两个素数都找到了,则显示这个偶数用相应的素数相加的形式显示出来。用Print语句按照标准格式输出,每输出4个表达式则换行,设置一个循环变量来控制打印输出,采用For循环控制换行。4.3 相关知识1.循环结构:一段程序不止执行一次,重复执行多次,被重复执行的部分称为循环体。循环控制结构的功能就是控制在什么条件下进入循环、什么情况下退出循环。VB提供三种:(1)WhileWend循环语句; (2)Do

31、Loop循环语句;(3)ForNext循环语句。下面我们对这三种循环分别加以说明:4.3 相关知识 2.WhileWend循环While循环的一般格式为:While Wend执行过程:应用举例:注意事项:F计算“条件”的值条件是否为真?执行循环体T4.3 相关知识3.DoLoop循环:可以使用“While ”和“Until ”来控制循环,“While ”和“Until ”可以放在Do语句中,也可以放在Loop语句中,使用十分方便。Do循环有两种语句格式:格式1:Do While|Until Loop这种格式的Do循环是“先判断,后执行”。执行循环体条件是否为真?FTFT条件是否为真?执行循环体

32、4.3 相关知识3.DoLoop循环:格式2:Do Loop While|Until “先执行,后判断”。DoLoop While循环是先执行一次循环体,然后判断条件是否为“真”,如果为“真”,则再执行循环体,如果为“假”,则退出循环;DoLoop Until循环是先执行一次循环体,然后判断条件是否为“假”,直到条件为“真”为止。这种结构的循环总是至少会执行一次循环体。 FT执行循环体条件是否为真?执行循环体TF条件是否为真?4.3 相关知识DoLoop循环的应用实例:4.3 相关知识4.ForNext循环WhileWend循环和DoLoop循环是用指定的条件是否满足来控制循环的,循环体的执行

33、次数是未知的。如果事先已经知道应循环的次数,可以采用ForNext循环。格式为:For = To Step 循环体Next 4.3 相关知识ForNext循环的几点说明:(1)循环变量也称为循环控制变量,必须为数值型。(2)循环变量的初值、终值和步长可以是常量、变量或表达式。(3)For语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;Next语句是“循环终端语句”,它的作用是标志循环结构的范围。(4)For语句和Next语句之间的语句块就是循环体,且For和Next必须成对出现,缺一不可。(5)For语句中的“循环变量”与Next语句中的“循环变量”必须是同一

34、个变量,每次循环执行到Next语句时,循环变量按步长Step增值。(6)步长Step可以为负数,但不可为0,否则出现死循环。如果步长Step为1时,则“Step 1”可以省略。4.3 相关知识ForNext循环的执行过程:(1)首先执行For语句。For语句的作用包括给循环变量赋以初值,将初值与终值做比较,以判断是否执行循环体,并自动记下终值和步长。(2)如果循环变量的值没有超过终值,则执行一次循环体,如果超过终值就结束循环,执行Next后面的语句。(3)执行Next语句,Next语句相当于“循环变量步长循环变量”,将循环变量增加一个步长再赋给循环变量,再判断循环变量的值是否超过终值,如果没有

35、超过,则执行循环体,如果超过,则退出循环。 循环变量获得初值循环变量超过终值?执行循环体循环变量增加步长TF4.3 相关知识ForNext循环的注意事项:(1)For循环的循环体内不应再有给循环变量的赋值操作,否则将会影响原有的循环控制状况。(2)在For循环中,循环变量可以在循环体内引用,也可以不被引用。(3)循环变量等于终值时,还要执行一次循环体,直到“超过”终值为止才终止循环过程。(4) “超过”有两种含义,即大于或小于。当步长为正值时,循环变量大于终值称为“超过”;当步长为负值时,循环变量小于终值则为“超过”。(5)循环的次数可以从For语句中的初值、终值和步长计算出来,计算公式如下:

36、 4.3 相关知识5.ForNext循环的嵌套:循环体的语句块中可以包含任何的Visual Basic语句,包括选择语句和循环语句。用的比较多的是二重循环。二重循环的执行过程是外循环执行一次,内循环执行一遍,即外重循环变量每变化一个步长,则内重循环变量应该从初值变化到终值,再进行下一次外循环的循环变量的变化,如此反复,直到外循环结束,即外重循环变量的值超过了终值。在使用嵌套循环时,要注意以下几点:(1)由于内重循环变化比较块,执行的次数比较多,因此,与循环过程无关的操作应该尽量移到循环外,可以提高效率。(2)在多重循环中,各层循环的循环控制变量不可以同名。(3)外重循环必须完全包含内循环,不能

37、交叉。 4.3 相关知识6.ForNext循环嵌套的退出:Visual Basic提供了Exit(出口)语句用来实现提前结束循环,这样可以根据需要退出循环,执行循环结构以后的语句。 有条件的强制退出循环的形式为:If Then Exit DoIf Then Exit Do循环嵌套的应用:返回第4章窗体和常用控件编程 窗体和命令按钮 标签和文本框 单选按钮、复选框和框架 定时器 输入框和消息框 列表框和组合框 滚动条 控件应用综合案例 主要内容1.1 案例4-1窗体编程案例说明 程序运行后,窗体的标题为“窗体变化”,窗体的右上角无“最大化”按钮和“最小化”按钮,单击窗体中不同的按钮窗体发生相应的

38、变化。单击“窗体变大”、“窗体变小”按钮,窗体的长和宽都会随着变大和缩小,单击“窗体最大”按钮后,窗体最大化,同时“窗体变大”、“窗体变小”、“窗体居中”三个按钮不能使用,单击“窗体恢复”按钮后,窗体恢复为启动该窗体时的大小状态,同时“窗体变大”、“窗体变小”、“窗体居中”恢复有效,单击“窗体居中”按钮后,窗体位于屏幕的中间,单击“为窗体设置颜色”、“为窗体加载图片”按钮则分别给窗体设置颜色或加载图片。1.2 程序实现1.界面设计在窗体上添加7个命令按钮,并设置控件的相关属性:对象名称属性值Form1Caption窗体变化MaxButtonFalseMinButtonFalseCommand1

39、Caption窗体变大Command2Caption窗体变小Command3Caption窗体最大Command4Caption窗体恢复Command5Caption窗体居中Command6Caption为窗体设置颜色Command7Caption为窗体设置属性1.2 程序实现 2.代码设计1.3 相关知识 1.窗体 :用户界面的基础是窗体,各种控件必须建立在窗体上,窗体是一种容器控件。(1)窗体属性(2)窗体事件2. 命令按钮:用来执行某一功能,接受用户的操作信息,触发相应的事件过程,以实现指定的功能。(1)命令按钮的属性:(2)命令按钮的事件: 1.4 拓展知识 1.加载图片:为对象加载图

40、片有两种方法,可以在设计界面时在对象的属性窗口中设置Picture属性,另一种方法是在程序运行时使用加载图片函数LoadPicture(文件名)为对象加载图片。加载图片的语句格式为:对象名.Picture=LoadPicture(文件名)对象名.Picture=LoadPicture(App.Path+“文件名.扩展名”)要删除加载的图片则可以使用如下语句:对象名.Picture=LoadPicture()2.颜色常数:VB中将常用的颜色用指定的名字表示,不需要声明,可以直接引用,这些名字称为颜色常数,从颜色常数可以看出其所代表的颜色。返回2.1 复制文本案例说明主要介绍标签控件和文本框控件的

41、属性和编程方法。程序运行后,窗体上出现一条“提示信息”,单击后出现两个文本框,“提示信息”的内容发生改变。在其中任何一个文本框输入文本,另一个文本框则显示相同的内容。 2.2 程序实现 界面设计:在窗体上添加1个标签控件、2个文本框对象名称属性值Form1Caption文本框操作Label1Caption单击我Text1Text为空Text2Text为空2.代码设计:2.3 相关知识 1.标签:可以用标签实现接收信息和显示信息。(1)标签属性(2)标签事件2.文本框:用于在窗体中为用户提供一个既能显示文本又能编辑文本的区域。(1)文本框属性(2)文本框事件(3)文本框方法2.4 文本复制 1.

42、案例说明:这是一个简单的剪贴板应用程序。程序由一个标签,二个文本框和四个按钮组成。单击“复制”或“剪切”按钮,然后单击“粘贴”按钮,可以把在第一个文本框中选中的内容复制或剪切到第二个文本框中。 返回3.1字体设置案例说明本案例演示如何为文本框中的文本设置字体样式和字体大小。程序运行后出现如图3-7所示,两个框架控件内分别包含了一组单选按钮控件和一组复选按钮控件,单击这两组控件,可以把文本框中的文本字体分别设置成“粗体”、“斜体”及添加“下划线”或是这三种的组合。单击单选按钮可以设置文本框中文字的分别为“18”、“24”和“28”,只能设置一种字体大小。3.2 程序实现1.界面设计:在窗体中添加

43、一个文本框,两个框架(Frame),在第一个框架中添加三个复选框(CheckBox),在第二框架种添加三个单选框(OptionButton), 2.代码设计:对两个命令按钮的单击事件进行编程。 2.代码设计:3.3 相关知识1.框架:框架的作用是将窗体内的控件分组,将具有联系的一类控件单独分成一组放置在框架中。 (1)框架的属性和事件(2)使用框架的注意事项2.单选按钮:常常成组出现,主要用于“多选一”的问题。用户在一组单选按钮中必须选择一项,并且最多只能选择一项。3.复选框:复选框(CheckBox)也称为检查框,单击复选框一次被选中,左边出现“”号,再次单击则取消选中。清除复选框中的“”。

44、可同时使多个复选框同时处于选中状态,进行多种情况的组合。3.4 拓展知识1.字体样式返回4.1趣味计时器案例说明本案例实现一个多功能计时器的应用,以此来介绍时钟控件。用4个文本框分别用来显示“当前时间”、“开始时间”、“结束时间”、“共计耗时”,有三个命令按钮,“开始”、“停止”和“退出”。用来控制开始计时的时刻和停止的时刻,另一个按钮用来退出应用程序。当程序运行时,“开始”按钮可用,“停止”按钮不可用。当需要进行计时的时候单击一下“开始”按钮,同时“停止”按钮可用。当需要停止时,单击一下“停止”按钮,则停止计时,在“共计耗时”文本框中显示从开始计时到停止计时所花的时间,精确到0.1秒。为了增

45、加动感,在窗体上添加了两个图像框控件,两幅相似的图片以1秒的时间间隔交替显示,同时会发出“嘟、嘟”的声音。4.2 程序实现 1.界面设计:在窗体上添加4个标签控件、4个文本框控件、3个命令按钮、2个图像框、1个图片框、3个时钟控件。 2.代码设计:4.3 相关知识1.定时器控件:定时器控件(Timer)是一种按一定时间间隔触发事件的控件,用以实现定时执行指定的操作。该控件在设计可见,而在运行时是不可见的。(1)定时器属性:(2)定时器事件:2.图像框控件和图片框: 4.4 拓展知识1.Beep语句:通过喇叭发出一个声调。2.Time函数和Time语句Time函数:返回一个指明当前系统时间的函数

46、。为了设置系统时间可以使用Time语句。例如:n=TimeTime语句:用来设置系统时间,时间参数可以使用任何能够表示时刻的数值表达式、字符串表达式或它们的组合。如果Time是一个字符串,系统利用时间分隔符将其转换成一个时间,如果无法转换成一个有效的时间,则会导致错误发生。返回5.1求三角形面积案例说明要求用输入框从键盘输入三个数,作为三角形的三条边。在计算面积之前,首先要判断这三个数作为三条边是否能构成三角形,如果不能构成三角形,则给出提示信息,并可选择重新输入或退出执行;如果能构成三角形则用“消息框”把三角形的面积显示出来。注意这两种消息框的不同之处。5.2 程序实现 1.界面设计:2.代

47、码设计:5.3 相关知识1.输入框:把数据输入计算机,使用VB提供的InputBox函数生成的输入框来进行数据信息的输入。InputBox函数的一般格式为:InputBox( ,标题 ,缺省值 ,x坐标位置 ,y坐标位置)该函数产生一个对话框,作为输入数据的界面,等待用户输入正文或按下按钮,函数返回值是字符串类型:几点说明: 5.3 相关知识2.消息框:用MsgBox语句或MsgBox函数产生的,两者的不同之处在于MsgBox函数会产生一个与用户所选择按钮相对应的整数。(1)MsgBox函数:格式为:MsgBox(提示 ,按钮组合,标题)按钮组合说明:类别符号常量值含义按钮的类型vbOKOnl

48、y0只显示“确定”按钮vbOKCancel1显示“确定”和“取消”按钮vbAbortRetryIgnore2显示“放弃”、“重试”和“忽略”按钮vbYesNoCancel3显示“是”、“否”和“取消”按钮vbYesNo4显示“是”和“否”按钮vbRetryCancel5显示“重试”和“取消”按钮图标样式vbCritical16图标vbQuestion2图标vbExclamation48图标vbInformation64图标默认按钮vbDefaultButton10第一个按钮为默认按钮vbDefaultButton2256第二个按钮为默认按钮vbDefaultButton3512第三个按钮为默认

49、按钮表4-11 MsgBox函数的返回值值符号常量用户操作1vbOK单击“确定”按钮2vbCancel单击“取消”按钮3vbAbort单击“放弃”按钮4vbRetry单击“重试”按钮5vbIgnore单击“忽略”按钮6vbYes单击“是”按钮7vbNo单击“否”按钮(2)MsgBox语句消息框也可以写成语句的形式,即MsgBox 提示 ,按钮组合,标题其中各参数的含义及作用与MsgBox函数相同,只是MsgBox语句没有返回值,因而常用于较简单的信息提示。5.3 相关知识5.4 拓展知识GoTo语句GoTo语句的格式:GoTo |GoTo的功能是无条件转移到标号或行号所指定的语句执行,而且只能

50、是同一过程中的语句。是一个字符系列,首字符必须为字母,标号的后面必须有一个冒号“:”;而可以是一个数字序列。理解本案例中Goto语句的作用。不过在程序设计时,应尽量避免使用GoTo语句,以提高可读性。返回6.1项目选择案例说明本案例是一个列表框和组合框的简单应用。先选择“姓名”的列表框,然后从“项目”列表框中选择项目,此时在列表框中就会显示姓名和运动项目。如果要删除某项,则可先选中该项,然后单击“删除”按钮。单击“清空”按钮,则可把列表框中的内容全部删除。6.2 程序实现 1.界面设计:在窗体上添加2个组合框、1个列表框、两个命令按钮,适当调整它们的大小和位置。 2.代码设计:6.3 相关知识

51、1.列表框:主要用途在于提供列表式的多个数据项供用户选择。如果项目总数超过了可显示的项目数,则系统会自动在列表框边上加上一个垂直滚动条。(1)属性(2)方法 (3)事件 2.组合框:将文本框和列表框的功能结合在一起,它可以像列表框控件一样让用户通过鼠标选择所需要的项目,也可以像文本框控件一样,用键盘输入的方法选择项目。 (1)属性(2)方法 (3)事件 返回7.1调色板案例说明用一个标签制作一个调色板,通过三个滚动条来调整这个标签的前景色和背景色,而且前景色和背景色是互为补色,如图4-18所示。前景色和背景色的调节用RGB函数,而三个滚动条的当前值作为RGB函数的三个参数,分别代表了RGB中的

52、红、绿和蓝色所占的比重;每个滚动条旁都有一个标签,用以显示每个滚动条的当前值。7.2 程序实现 1.界面设计:在窗体上添加4个标签控件,3个水平滚动条控件。 2.代码设计:7.3 相关知识1.滚动条:通常用来辅助浏览显示信息、确定位置,在某些场合也可以用来输入数据。分为水平滚动条(HScrollBar)和垂直滚动条(VScrollBar)两种。滚动条的两端各有一个滚动箭头,在滚动箭头之间有一个滑块。滑块可以在两个滚动箭头之间移动,滚动条的值从左到右(从上往下)递增,两端分别是滚动条的最大值和最小值,其值均为整数,取值范围为3276832767。 (1)属性(2)方法 (3)事件 返回8.1打字

53、练习案例说明这是一个模拟练习打字程序,运行程序后的界面如图4-20所示。“窗体”呈最大化状态,单击窗体上的“图片”(其实是一个按钮),在窗体内某个位置随机出现小写的英文字母,并且逐步往下降落,在“字母”没有超出窗体下端时敲击键盘,如果键入的字母与窗体上的字母一致,则“计分”累加一分,如果不一致,则字母继续降落,直至超出窗体的下沿,此时又出现另一个英文字母,与此同时“剩余时间”逐秒减少,减到0时,弹出消息框,根据不同的得分范围给出不同的信息。8.2 程序实现 1.界面设计:在窗体上添加1个命令按钮控件、2个时钟控件、6个标签控件。各个控件的属性按表4-14进行设置。其中,Label1在程序运行时

54、显示随机产生的字母,Label4用来显示“计分”;Timer1每隔100ms使得Label1的Top属性递增,能够产生这个标签往下降的效果,因此,“字母”下降的速度可由Timer1的Interval属性和Top的增量来控制。Timer2用来计时,剩余时间由Label5显示,每隔1000ms,Label5的Caption属性值减1,一直减到0为止;同时把Label1Label6的背景设置为0,即透明。 2.代码设计:返回第5章数组数组的基础知识 一维数组 二维数组 控件数组 动态数组 主要内容1.1数组的概念数组用于表示一组性质相同的、有序的数据,这组数据用一个统一的名称来代替,称为数组名。例如

55、,1000个学生的数学成绩,可以统一取名为Score。数组名的命令规则与简单变量的命名规则相同。数组中的每一个成员称为数组元素。为了在处理时能够区分数组中的每一个元素,需要用一个索引号加以区别,该索引号称为下标。数组中的每一个元素可以用“数组名”和“下标”唯一的表示,方法是:(下标)1.1数组的概念在表示数组元素时,应注意以下几点:(1)要用圆括号把下标括起来,不能用中括号或者大括号代替,也不能省略圆括号。例如,将数组元素Score(1)表示成Score1或者Score1都是错误的;(2)下标可以是常量、变量或者表达式,但是其值必须是整数,且在被引用前必须有确定的值,否则将会被自动四舍五入成整

56、数;(3)下标的最小取值称之为下界,下标的最大取值称之为上界。在不加任何说明的情况下,数组的下界默认为0。但是我们也可通过Option Base语句来修改数组的下界。Option Base 语句只能在模块级中使用。 1.2 数组的维数 如果数组的元素只有一个下标,则称这个数组为一维数组。用两个下标来表示元素的数组称为二维数组。对于可以表示成表格形式的数据,例如矩阵、行列式等,用二维数组来表示是非常方便的。根据问题的需要,我们还可以选择使用三维数组、四维数组,甚至更多维的数组。在Visual Basic中最多允许有60维数组。例如我们想表示空间上的一个点P,其坐标有三个,分别是X轴、Y轴、Z轴上

57、的坐标,那么我们可以使用三维数组来表示,数组的第一维表示X坐标,第二维表示Y坐标,第三维表示Z坐标,如用P(x,y,z)来表示。 1.3数组的声明 数组在定义之前必须先声明,声明数组的目的是为数组分配存储空间,“数组名”即为这个存储空间的名称,而数组元素则为存储空间的每一个单元。每个单元的大小(即所占字节数)与数组的类型有关。 1.4数组函数 1.Array函数:=Array()将中的数据赋给一个Variant型数组的数组元素,即可以使用该函数为数组元素赋值。例如:2.IsArray函数:IsArray(变量名)判断一个变量是否为数组变量。函数值为Boolean型3.下界函数(Lbound)L

58、bound(数组名,维数)求数组指定维数的最小下标。函数值为Long型数据。4.上界函数(Ubound)UBound(数组名,维数)返回2.1数列排序案例说明该程序可以产生一个包含十个元素的随机整数序列,通过运行代码可以求出这个数列中的最大值、数列的平均值以及按升序排列,当按下“插入新数据”按钮时,用户可以通过键盘输入一个新的整数,构成一个包含11个元素的数组,并且把新输入的整数按升序插入到正确的位置, 2.2 程序实现 界面设计:在界面上添加5个命令按钮,按图5-3调整控件的大小和位置,并按照图示设置窗体和命令按钮的Caption属性,并把它们的名称依次更改为cmdCreat、cmdMax、

59、cmdAve、cmdSort、cmdInsert。2.代码设计:2.3 相关知识 1.一维数组的定义Public|Private|Dim (下标)As (1)建立“全局数组”,在模块的声明段用“Public”语句声明数组;(2)建立“模块”或“窗体数组”,在模块的声明段用“Private”语句声明数组;(3)建立“局部数组”,在过程中用“Private”语句声明数组。2.3 相关知识 2.几点说明:(1)“下标”的一般形式为“下界 To 上界”。上界、下界为整数,不得超过Long数据类型的范围,并且下界应该小于上界。(2)如果无“下界”,则默认为“下界”为0。如果希望“下界”默认为1,应该通过

60、语句“Option Base 1”来设置;(3)引用数组元素的格式是“数组名(下标)”。(4)给数组元素赋值的方法与变量的赋值相同。(5)要注意区分“可以使用的最大下标值”和“元素个数”。“可以使用的最大下标值”指的是“下标值”的“上界”,而“元素个数”则是指数组中“成员”的个数。(6)在同一个过程中,“数组名”不能与“变量名”相同,否则会出现“当前范围内的声明重复”的错误。返回3.1变换矩阵案例说明通过这个案例来掌握二维数组中第一维下标和第二维下标的含义,以及在程序中如何对二维数组的下标进行控制。在一个二维数组中存入一组数据,并且将这些数据按矩阵的方式显示在窗体的控件上。运行程序时,当用户按

温馨提示

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

评论

0/150

提交评论