电子教案·《Visual课件1_第1页
电子教案·《Visual课件1_第2页
电子教案·《Visual课件1_第3页
电子教案·《Visual课件1_第4页
电子教案·《Visual课件1_第5页
已阅读5页,还剩206页未读 继续免费阅读

下载本文档

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

文档简介

1、Visual Basic 语言程序设计21世纪职业教育规划教材目 录第1章 Visual Basic概述第2章 Visual Basic基本知识第3章 分支和循环第4章 Visual Basic控件基础知识第5章 创建应用程序界面第6章 错误处理与调试第7章 数组第8章 过程第9章 文件第1章 Visual Basic概述1.1 Visual Basic简介 什么是Visual Basic Visual Basic是Microsoft公司于1991年推出的基于窗口的可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。 Visual Bas

2、ic具有以下两个主要的组件:Visual Basic提供了一个工具集-“控件”。Visual Basic提供了一个完整的程序命令集 第1章 Visual Basic概述1.1 Visual Basic简介 2 Visual Basic 6.0的三种版本 1)学习版:Visual Basic 6.0的基础版本,适用于初学者。它包括所有的内部控件、选项卡和数据绑定控件。 2)专业版:为专业编程人员提供了一整套功能完备的开发工具。它除了具有学习版的全部功能外,还包括Active和Internet控件开发等高级特性。 3)企业版:Visual Basic 6.0的最高版本,使得专业编程人员能够开发功能

3、强大的分布式应用程序。 第1章 Visual Basic概述1.2 Visual Basic的基本概念 1 事件:程序对用户操作行为的响应称为事件。 2 过程:响应某个事件后所执行的操作通过一段程序代码来实现, 这样的一段程序代码叫做事件过程。 3 对象:Windows应用程序的基本元素。如窗体、控件等。 4 窗体:是 Visual Basic 应用程序的基本构造模块,是运行应用程序时,用户进行交互操作的窗口或对话框。 5 控件:与用户交互的图标称为控件。 6 属性:属性是一个对象的特性,定义了对象的外观或行为。 7 方法:对象包含的特殊程序语句称为方法。 第1章 Visual Basic概述

4、1.3 Visual Basic程序的开发过程 一般而言,VB程序的编写由以下几个步骤组成: 1)设计用户界面。 2)设置属性。 3)编写代码。 4)保存和运行调试程序,生成EXE文件。 在VB中,程序被称为工程。每一个VB工程至少由两个独立的文件一个工程文件(该文件的扩展名为.vbp)和一个窗体文件(该文件的扩展名为.frm)组成。 第1章 Visual Basic概述1.4 Visual Basic编程环境 Visual Basic 6.0启动后,出现如图1-2所示的窗口。图1-2 VB6.0的启动界面第1章 Visual Basic概述1.4 Visual Basic编程环境 “新建工程

5、”对话框中,有三个选项卡: 1)新建:创建新的工程。其中列出了Visual Basic 6.0可以创建的所有工程类型。 2)现存:列出了所有已创建的工程,可以选择并打开它们。 3)最新:列出了最近打开过的工程及其所在的文件夹。 第1章 Visual Basic概述1.4 Visual Basic 6.0集成开发环境 图1-3 VB6.0编程环境菜单栏工具箱工程容器标题栏工具栏窗体设计器立即窗口工程资源管理器属性窗口窗体布局第1章 Visual Basic概述1.4 Visual Basic编程环境 Visual Basic 6.0有三种工作模式: 1)设计模式:可进行用户界面的设计和代码的编辑

6、,以完成应用程序的开发。 2)运行模式:运行应用程序。此时不可编辑界面和代码。 3)中断模式:暂时中断应用程序的运行。此时可以编辑代码,但是不能编辑界面。 第1章 Visual Basic概述1.5 程序的打开、保存和运行 1 打开一个已有的工程 通过“文件”“打开工程”来定位一个工程。 2 保存VB工程 首次保存一个新的Visual Basic工程,从“文件”菜单选择“工程另存为”项。 保存一个已经保存但又经过更新的工程,在工具栏中单击“保存工程”按钮。 3 运行VB工程 要运行一个Visual Basic工程,只需要单击工具栏上的“开始”按钮,见图1-6,或者从“运行”菜单中选择“开始”菜

7、单项,或单击F5键。 保存工程 运行 暂停 结束图1-6 标准工具栏第1章 Visual Basic概述1.7 VB工程举例-创建一个计算圆面积的工程。 首先打开Visual Basic,然后从“新建工程”菜单中选择“新建”标签,在“新建”标签中选择“标准 EXE”(如图1-2所示) 。图1-2 VB6.0的启动界面第1章 Visual Basic概述1.7 VB工程举例-创建一个计算圆面积的工程。 其次,在窗体设计窗口中放置必要的控件。这里在窗体上放置了两个标签、两个文本框、两个命令按钮,如图1-8所示。 图1-8 窗体设计窗口第1章 Visual Basic概述1.7 VB工程举例-创建一

8、个计算圆面积的工程。 选择控件的方法: 1)单击工具栏中的控件图标,然后在窗体设计窗口中想要放置控件的位置处单击一下,最后拖动鼠标,直到得到想要得到的大小和形状。 2)在工具栏中双击控件,控件被放置在窗体设计窗口的中间,然后将控件拖动到想要的位置上,通过移动它的边界或者是转角来调整控件的大小。 第1章 Visual Basic概述1.7 VB工程举例-创建一个计算圆面积的工程。 接下来定义界面上控件的属性。定义属性的过程实际上只需要修改部分属性的缺省值。 最后一步定义事件过程。也就是写Visual Basic命令。图1-12 工程的完整事件过程第2章 Visual Basic基本知识2.1 基

9、本数据类型2.2 变量2.3 数据类型及声明2.4 运算符和表达式2.5 显示输出Print语句2.6 库函数2.7 程序注释第2章 Visual Basic基本知识2.1 基本数据类型 1 数值常量: 数值常量有(Integer整型)(不含小数点或指数的数)、Long(长整型)(相当于范围扩展了的整数)、Single(单精度)包含了小数点或指数)或者Double(双精度)(相当于范围扩展了的更精确的单精度实型数). 例如: 2字符串常量: 是用双引号括起来的一串字符。这些字符可以是除双引号“”和回车、换行符以外的所有字符。 例如:“$12,345.00”、“vb”、“98765”。第2章 V

10、isual Basic基本知识2.2 变量变量命名规则 以字母或汉字开头,后可跟汉字、字母、数字或下划线组成,长度小于等于255个字符; 不要使用VB中的关键字; VB中不区分变量名的大小写. 为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。 (1)要见名知义。比如用sum(或s)代表求和。 (2)尽可能简单明了。 (3)不能用VB的关键字做变量名。 (4)变量名不能与过程名和符号常量名相同。 (5)尽量采用VB建议的变量名前缀或后缀的约定来命名。如:intMax。 (6)VB不区分变量名和其他名字中字母的大小写。为便于阅读,每个单词开头的字母一般用大写,例如Prin

11、tText。 第2章 Visual Basic基本知识2.3 数据类型及声明 将变量与一定的数据类型相联系这个过程称为变量声明 .声明变量的语句格式如下:Dim 变量名1 As数据类型1,变量名2 As 数据类型2,例2.4下面是几个变量声明: Dim Counter as Integer Dim Area As Single Dim StudentName As String Dim StudentName As Strint*20 第2章 Visual Basic基本知识2.3 数据类型及声明 1 Variant变量 变体型数据是一种可变的数据类型,可以存放任何类型的数据。在程序中不特别说

12、明时,VB会自动将该变量默认为Variant型变量。 2 符号常量 声明符号常量的语法为: Const 常量名 As 数据类型 =值 例2.5下面是一些典型的符号常量声明: Const TW As Single=3.123456 Const Avogadro As Double=6.0225D+23 Const MaxCount As Integer=100第2章 Visual Basic基本知识2.3 数据类型及声明 3 后缀 不是明确声明一个数据类型(使用Dim或Const语句),要通过增加一个字符后缀到变量或常量后, 使变量和符号常量可以与某个数据类型相联系。较为常用的几个后缀如下: 后

13、缀 数据类型 % 整型 & 长整型 ! 单精度型 # 双精度型 $ 字符串型 货币型第2章 Visual Basic基本知识2.3 数据类型及声明 4 用户定义的数据类型 除了上述数据类型外,在VB中,用户可以根据需要利用Type语句定义自己的数据类型,其格式如下: Type 数据类型名 数据类型元素名 As 类型名 End Type 例2.6定义一个有关职工信息的自定义类型: Type Client_Record cltName as String*16 cltPassword as String*8 cltDeposit as Currency End Type 第2章 Visual Ba

14、sic基本知识2.4 运算符和表达式算术运算符 表2-1 标准算术运算符 运算符名称优先级示例结果乘方132 9-负号2-2-2*乘32*510/除34/5.8整除4450Mod取模55 Mod 41+加62+35减64.5-2.42.1第2章 Visual Basic基本知识2.4 表达式 1 表达式的组成 表达式由变量、常量、运算符、函数和圆括号按一定的规则组成,表达式的运算结果的类型由参与运算的数据类型和运算符共同决定。 2 表达式的书写规则 1)每个符号占1格,所有符号都必须一个一个并排写在同一基准上,不能出现上标和下标。 2)不能按常规习惯省略乘号*,如:2x要写成2*x。 3)只能

15、使用小括号(),且必须配对。 4)不能出现非法的字符,如。 例2.7下面给出几个算术表达式: 2*j+k-1 2*(j+k-1) First+second-third (a2+b2)0.5 4*Pi*Radius3/3 (5/9)*(F-32) B2-(4*a*c) (2*x-3*y)/(u+v) 第2章 Visual Basic基本知识2.4 表达式 3 运算符的优先级 一个算术表达式中同时出现几个运算符时,由运算符的优先级来决定,并且在优先级相同时,运算符的执行还有一定的顺序。 算术运算符优先级由高至低是:指数运算()、负数()、乘法和除法 (*、/)、整数除法()、求模运算(Mod)、加

16、法和减法(+、)。 在优先级相同时,运算符按从左至右的顺序执行。 4 插入括号 例2.10 假定我们求代数项的值: 对于这个代数式Visual Basic表达式如下: (2*(a+b)2+(3*c)2)(m/(n+1) 如果要按照某种特定的顺序来执行运算,可以引入额外的括号对。例如: (2*(a+b)2)+(3*c)2)(m/(n+1) 第2章 Visual Basic基本知识2.4 表达式 5 字符串表达式 字符串运算符有“&”和“+”两个,如表2-2所示 表2-2 字符连接运算符 运算符 说明 示例 结果 & 连接两个字符串表达式 Micro & soft“ Microsoft“ + 计算

17、和,也可连接字符串 123+456“ “123456“ “&”和“+”两个字符连接运算符对于字符串连接功能是一样的,只是在使用“&”时,其左右两边必须加空格,而“+”两边无须输入空格,系统会自动留空;“+”两边必须是字符串,必要时得使用转换函数,而“&”两边连接的可以不是字符串,系统自动将其转换为字符串进行连接运算。第2章 Visual Basic基本知识2.4 表达式 6 变量赋值 变量赋值的作用是把指定的值赋给某个变量或某个对象的属性。一般格式为: 变量(或 对象.属性)=表达式 说明: (1)“=”为赋值号,不等于数学意义上的等号。 (2)赋值语句具有赋值和计算的双重功能,即首先计算赋值

18、号右边的源操作符的值,然后赋给左边的目标操作符。 (3)目标操作符和源操作符应具有相同的数据类型。但不管表达式是什么类型,都可以赋给一个Variant变量。 (4)如果复合语句(一行有多个语句)含有注释语句,则注释语句必定是最后一个语句。复合语句的各语句可以是任何合法的VB语句,但各语句之间必须用冒号隔开。 第2章 Visual Basic基本知识2.5 显示输出Print语句 Print语句的作用是在当前活动窗体中显示信息,显示信息的位置从左上角开始。Print语句由关键字Print组成,后面跟着一系列。输出项可以是数值常量、字符串常量或者表达式。连着的各项必须用逗号或分号隔开。逗号使数据项

19、隔得较开,而分号隔得较近。空的Print语句输出空的一行。 例2.11一个Visual Basic程序包含以下的语句: Dim student as string,x as integer,c1 as single,c2 as single Student=“Tom” X=39 C1=7 C2=11 Print “Name:”, student, x , (c1+c2)/2 这个Print语句将产生如下的输出: Name: Tom 39 9第2章 Visual Basic基本知识2.6 库函数 Visual Basic包含大量的库函数,库函数提供了一个方便快捷的方法来实现许多数学操作、字符串操

20、作以及各种逻辑操作。这些库函数是预先写好的程序,是整个程序设计语言不可缺少的一部分。在一个表达式或者语句中,它们可以出现在变量的位置上。常见函数类型如下:数学函数字符串函数日期和时间函数格式化函数 表2-3 常用数学函数函数说明实例结果Sin返回弧度的正弦Sin(1).841470984807897Cos返回弧度的余弦Cos(1).54030230586814Atn返回用弧度表示的反正切值Atn(1).785398163397448Tan返回弧度的正切Tan(1)1.5574077246549Abs返回数的绝对值Abs(-2.4)2.4Exp返回e的指定次幂Exp(1)2.7182818284

21、5905Log返回一个数值的自然对数Log(1)0Rnd返回小于1且大于或等于0的随机数Rnd01之间的随机数Sgn返回数的符号值Sgn(-100)-1Sqr返回数的平方根Sqr(16)4Int返回不大于给定数的最大整数Int(3.6)3Fix返回数的整数部分Fix(-3.6)-3表2-4 常用字符串函数 函 数说明实例结果Ltrim$(C)返回删除字符串左端空格后的字符串LTrim$( MyName)MyNameRtrim$(C)返回删除字符串右端空格后的字符串RTrim$(MyName )MyNameTrim(C)返回删除字符串前后空格的字符串Trim$( MyName )MyNameLe

22、ft$(C,N)返回从字符串左边开始的指定数目的字符Left$(MyName,2)MyRight$(C,N)返回从字符串右端开始的指定数目的字符Right$(MyName,4)NameMid$(C,N1,N2)返回从字符串指定位置开始的指定数目的字符Mid $(MyName,2,3)yNaLen(C)返回字符串的字符数Len(MyName=王青)9LenB(C)返回字符串所占字节数LenB(MyName=王青)6Instr(N1,C1,C2,M)返回字符串在给定的字符串中出现的开始位置InStr(7,ASDFDFDFSDSF, DF)7*InstrRev(C1,C2,N1,M)与Instr函数

23、不同的是从字符串的尾部开始查找InStrRev(ASDFDFDFSDSF, DF, 7)5Space$(N)返回由指定数目空格字符组成的字符串Space$(5) String$(N,C)返回包含一个字符重复指定次数的字符串String$(2, A)AALcase(C)字符串中字母转换为小写LCase(ABCabc)abcabcUcase(C)字符串中字母转换为大写LCase(ABCabc)ABCABC表2-5日期和时间函数函数说明实例结果Now返回系统日期和时间(yy-mm-dd hh:mm:ss)Now2006-5-18 * 16:19:10 *Date$()返回当前日期(yy-mm-dd

24、)Date$()2001-5-18 *DateSerial(Y,M,D)返回一个日期形式DateSerial(1,2,3)2001-2-3DateValue(C)返回一个日期形式,自变量为字符串DateValue(1,2,3)2001-2-3Day(C|N)返回月中第几天(131)Day(2002-3-5)5WeekDay(C|N)返回是星期几(17)WeekDay(2002-3-5)3(星期二)WeekDayName(C|N)返回星期代号(17)转换为星期名称,星期日为1WeekDayName(3)星期二Month(C|N)返回一年中的某月(112)Month(2002-3-5)3Month

25、name(N)返回月份名Monthname(12)十二月Year(C|N)返回年份(yyyy)Year(2002-3-5)2002Hour(C|N)返回小时(023)Hour(Now)16 *Minute(C|N)返回分钟(059)Minute(Now)31 *Second(C|N)返回秒(059)Second(Now)42 *Timer$()返回从午夜开始算起的秒数Timer59623.44 *Time$()返回当前时间(hh:mm:ss)Time16:35:35 *TimeSerial(H,M,S)返回一个时间形式TimeSerial(1,2,3)1:02:03TimeValue(C)返回

26、一个时间形式,自变量为字符串TimeValue(1:2:3)1:02:03*注:由当时系统时间定。表2-6 常用的数值型格式说明字符字符说明#数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中#的位置上有数字存在,那么就显示出来,否则,该位置什么都不显示0数字占位符。显示一位数字或是零。如果表达式在格式字符串中0的位置上有一位数字存在,那么就显示出来,否则就以零显示.小数点占位符,千分位符号占位符%百分比符号占位符。表达式乘以100。而百分比字符(%)会插入到格式字符串中出现的位置上$在数字前强加$+在数字前强加+-在数字前强加-E+用指数表示E-用指数表示2.7 程序注释注释提

27、供了一个方便的方法来为程序提供文档(也就是提供程序标题、标识重要的变量、区分程序各个主要的逻辑部分以及解释复杂的逻辑等等)。注释由单引号()开始,单引号后面跟着文本信息。注释可以插在Visual Basic程序的任何部分,而且它们对程序的执行没有任何影响。注释语句的格式:Rem 注释内容 或 注释内容例如: Please Input Yourname!Rem 请输入你的姓名!注释语句是非执行语句,不会被解释和编译。注释语句不能放在续行符的后面。第3章 分支和循环3.1运算符与表达式3.2 IfThen分支语句3.3 IfThenElse分支语句3.4 Select Case多分支语句3.5 F

28、orNext 循环结构3.6 DoLoop循环结构3.7 While-Wend循环结构3.8循环的嵌套3.9 Stop语句第3章 分支和循环 无论是面向过程的程序设计还是面向对象的程序设计,都要求按照结构化程序设计的思想和方法进行代码编写工作。结构化程序是指运用基本控制结构编写的程序。基本控制结构有三种,即顺序结构,分支控制结构和循环控制结构,本章重点讨论分支控制结构和循环控制结构的语法格式和用法。 3.1 运算符与表达式 1 关系运算符和关系表达式 关系运算也称为比较运算,用来比较两个操作数的大小,通常用在程序的条件判断中。由操作数和关系运算符组成的表达式称为关系表达式,关系表达式的运算结果

29、是一个逻辑值,即“真”和“假”,逻辑值也可以用符号常量Ture和False表示。另外,Visual Basic把任何非零的值都认为是逻辑值“真”,但一般以-1表示逻辑值“真”,以0表示逻辑值“假”。第3章 分支和循环 3.1 运算符与表达式 1 关系运算符和关系表达式 关系运算符用来表示两个或多个值或表达式这间的关系,一般使用语法为: exp1 op exp2 其中exp1、exp2是两个表达式,op是关系运算符。表达式通过比较运算符进行运算后,结果为Ture或False。 例3.1求下列关系表达式的值。 x+2=10 当x=8时,表达式的结果为Ture(-1),否则为False(0) 100

30、”A” 结果为Ture(-1)第3章 分支和循环 3.1 运算符与表达式 1 关系运算符和关系表达式 字符串数据按ASCII码、按字典顺序对各字符逐一进行比较 。只有当两个字符串完全相同时,这两个字符串才完全相等。汉字字符大于西文字符。 例3.2 “ABCDE“”ABEFY” 结果为Ture(-1) “asssdd”=“asseee” 结果为False(0) “ABC123”=“ABC123” 结果为Ture(-1) 对单精度数或双精度数进行关系运算时,必须特别小心,因为机器的运算误差,可能会得出非常接近但不相等的结果。例如: 1.0/3.0 * 3.0=1.0 第3章 分支和循环 3.1 运

31、算符与表达式 1 关系运算符和关系表达式 关系运算符的左右操作数一般要求类型相同。当类型不同时,Visual Basic 会按形式值进行转换后再比较。 例3.3 176=“176” 结果为Ture(-1) 156=“abc” 出现运行错误,类型不匹配 数学上判断x是否在区间a,b时,习惯上写成axb,但在Visual Basic中不能写成: a=x=b 应写成: a=x And x8 其值为False,而 Not(38)的值为Ture。 And (与) 只有左右操作数的值都为Ture时,运算结果才为Ture ,否则结果为False。操作数通常为关系表达式。 例3.5 (38) And (59)

32、 结果为False 33 And 83 结果为False ab And False 不管a,b为何值,结果恒为False 第3章 分支和循环 3.1 运算符与表达式 2 逻辑运算符和逻辑表达式 Or(或) 只有两个操作数都为False时,运算结果才为False。如果左右操作数其中一个为Ture,结果为Ture。 例3.6 38 Or 56 结果为Ture 49 Or 1=2 结果为Ture 54 Or 33 结果为False Ture Or x=y 不管x ,y为何值, 结果恒为Ture Xor(异或) 当左右操作数相等,即都是Ture或者都是False时,运算结果为False,否则结果为Tu

33、re。 例3.7 83 Xor 52 Xor 82 Xor Ture 结果为False第3章 分支和循环 3.1 运算符与表达式 2 逻辑运算符和逻辑表达式 Eqv(等价) 当左右操作数相等,即都是Ture或者都是False时,运算结果为Ture,否则结果为False。 例3.8 38 Eqv 122 Eqv 82 Eqv Ture 结果为Ture Imp(蕴含) 当左操作数为Ture ,右操作数为False时,运算结果为False,其它三种情况均为Ture。 例如: 52 Imp 72 Imp Ture 结果为 Ture 在进行逻辑运算时要注意各个逻辑运算符的优先级,逻辑运算符的优先级由高到

34、低为: Not And Or Xor Eqv Imp第3章 分支和循环 3.2 IfThen分支语句 IfThen语句是最常用和比较简单的双分支语句。IfThen语句的格式 格式1:If Then 格式2:If Then End If IfThen语句的功能是当“条件”的值为“真”时选择要执行的一条或多条语句,否则直接往下执行。 IfThen语句的执行过程: (1)对于格式1,首先计算“条件”的值,若“条件”成立(为“真”),则先执行本行中Then后边的语句,然后顺序往下执行。否则直接往下执行。 (2)对于格式2,首先计算“条件”的值,若“条件”成立(为“真”),则先执行If语句下边的语句块,

35、然后执行End If后面的语句。否则直接执行End If后面的语句。 第3章 分支和循环 3.2 IfThen分支语句 例3.9编写程序,从键盘任意输入一个整数,计算该数的绝对值,然后输出。 题目分析:该题需要进行单分支选择。当输入的数是负数时,需要计算它的相反数,否则不进行任何计算。最后输出绝对值。该题的流程图如图3-2所示。 此题可以通过IfThen语句来解决,根据流程图可以设计一个窗体From1的单击事件Click()来运行程序,代码如下: Private Sub Form_Click() Dim x As Single, y As Single x=InputBox(“请输入x的值”)

36、 y=x If x0 Then y=-y Print “x=”, x Print “y=”,y End Sub 该题的运行结果如图3-1所示。第3章 分支和循环 3.2 IfThen分支语句 例3.9编写程序,从键盘任意输入一个整数,计算该数的绝对值,然后输出。 该题的运行结果如图3-1所示。图3-1 执行结果第3章 分支和循环 3.3 IfThenElse分支语句 IfThenElse语句的格式 格式1: If Then Else 格式2: If Then Else End If IfThenElse语句的功能是当“条件”为“真”时,选择要执行的一条或多条语句,否则选择另外的一条或多条语句执

37、行。 IfThenElse语句的执行过程: (1)对于格式1,首先计算“条件”的值,若“条件”成立(为“真”),则执行语句1,然后执行下一行的语句,否则执行语句2,然后再执行下一行的语句。 (2)对于格式2,首先计算“条件”的值,若“条件”成立(为“真”),则执行语句块1,然后执行End If下边的语句,否则执行语句块2,然后再执行End If下边的语句。第3章 分支和循环 3.3 IfThenElse分支语句 例3.11编写程序,计算某数学函数f(x),已知:f(x)=x3+2x2+3x+1,该函数定义在区间-2,1上,也就是说若x的取值大于1或小于2则提示该函数无意义,否则计算函数值并输出

38、。 题目分析: 该题的首要任务是判断x的值是否在区间-2,1,若是则计算函数值,否则提示无意义,这是一个两分支选择。表达式x1 or x-2 和x=-2都可以作为条件使用,但我们的重点是求函数值,当表达式x=-2的值为“真”时x刚好在区间-2,1内,所以我们选用表达式x=-2作为条件进行程序设计。 此题可以通过IfThenElse语句的格式2来解决,设计一个命令按钮Command1的单击事件Click()来运行程序,代码如下: 第3章 分支和循环 3.3 IfThenElse分支语句 例3.11编写程序,计算某数学函数f(x),已知:f(x)=x3+2x2+3x+1,该函数定义在区间-2,1上

39、,也就是说若x的取值大于1或小于2则提示该函数无意义,否则计算函数值并输出。 此题可以通过IfThenElse语句的格式2来解决,设计一个命令按钮Command1的单击事件Click()来运行程序,代码如下: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x = -2 And x = 1 Then y = x * x * x + 2 * x * x + 3 * x + 1 Text2.Text = y Else Text2.Text = 函数无意义 End If End Sub第

40、3章 分支和循环 3.3 IfThenElse分支语句 例3.11编写程序,计算某数学函数f(x),已知:f(x)=x3+2x2+3x+1,该函数定义在区间-2,1上,也就是说若x的取值大于1或小于2则提示该函数无意义,否则计算函数值并输出。 该题的运行结果如图3-3所示。 图3-3 运行结果第3章 分支和循环 3.4 Select Case多分支语句 如果要处理的问题需要从多个可能的方案中选择其中的一种,就要进行多分支选择,虽然用If语句的嵌套可以实现多分支选择,但是实现起来比较麻烦。所以,在Visual Basic 中,多分支选择通常用Select Case语句来实现。多分支选择结构的特点

41、是:从多个选择结构中,选择第一个条件为真的分支完成操作。 1 Select Case语句的格式 Select Case 测试条件 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case 表达式列表n 语句块n Case Else 语句块n+1 End Select第3章 分支和循环 3.4 Select Case多分支语句 Select Case语句的功能是根据测试条件的值,在一组相互独立的可选语句序列中挑选要执行的语句序列。 Select Case语句的执行过程: 首先计算“测试条件”的值,然后从上到下,从左到右依次检查该值与哪一个Case子句中的“表达式列表”相匹配,

42、如果找到了,则执行该Case子句下面的语句块,然后执行End Select 之后的语句;如果所有的“表达式列表”均不符合要求,则执行Case Else下面的语句块,然后执行End Select 之后的语句,若此时语句中不含有Case Else子句,则什么都不执行,直接转去执行End Select 之后的语句。第3章 分支和循环 3.4 Select Case多分支语句 例3.13某航空公司规定在旅游的旺季(79)月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%;在旅游的淡季(15)月份、10月份、11月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;其它情况一

43、律优惠10%。请设计程序,根据月份和订票张数决定票价的优惠率。 题目分析:设月份为m,张数为n。设计一个命令按钮Command1的单击事件Click()来运行程序,代码如下:第3章 分支和循环 3.4 Select Case多分支语句 例3.13 Private Sub Command1_Click() Dim m As Integer, n As Integer, r As Integer m = Val(Text1.Text) n = Val(Text2.Text) Select Case m Case Is = 5, 10, 11 If n 20 Then r = 20 Else r =

44、 30 Case 7 To 9 If n = 7000000000# p = p * (1 + r) n = n + 1 Loop Print Print n; 年后世界人口达到: Print ; p / 100000000; 亿 End Sub第3章 分支和循环 3.6 DoLoop循环结构 例3.16目前世界人口约为60亿,如果以每年1.4%的速度增长,多少年后世界人口达到或超过70亿。请编写程序。该题的运行结果如图3-8所示。图3-8 运行结果第3章 分支和循环 3.7 While-Wend循环结构 While-Wend语句的格式 While 循环体 Wend While-Wend语句(

45、又称当循环语句)根据某一条件进行判断,决定是否执行循环体。当条件的值为“真”时,重复执行循环体,否则退出循环。 首先计算“条件”的值,如果“条件”为“真”,则执行“循环体”,当遇到Wend语句时,控制返回到While语句并对“条件”重新进行测试,如果仍为“真”,则重复上述过程;如果“条件”为“假”,则不再执行“循环体”,而执行Wend后面的语句。使用While-Wend语句时要特别注意的是,“循环体”中一定要有使“条件”由“真”变为“假”的语句,否则就有可能出现死循环。 第3章 分支和循环 3.7 While-Wend循环结构 例3.18从键盘上输入一串字符,以“?”结束,并对输入字符中的字母

46、个数和数字个数进行统计。 题目分析:由于输入的字符个数没有指定,无法用For循环语句来编写程序。停止计数的条件是输入的字符为“?”,可以用当循环语句来实现。在程序中,用变量ch接收键盘输入的字符,变量num1,num2分别用于统计字母、数字的个数。 设计一个窗体Form1的单击事件Click()来运行程序,代码如下: 第3章 分支和循环 3.7 While-Wend循环结构 例3.18从键盘上输入一串字符,以“?”结束,并对输入字符中的字母个数和数字个数进行统计。 Private Sub Form_Click() Dim ch$, num1%, num2% num1 = 0 num2 = 0

47、ch = InputBox(请输入一个字符:, 输入) Print 输入的字符串为:; While ch ? Print ch; If ch = a And ch = A And ch = 0 And ch = 9 Then num2 = num2 + 1 End If ch = InputBox(请输入一个字符:, 输入) Wend Print Print 字母的总数为:; num1 Print 数字的总数为:; num2 End Sub 第3章 分支和循环 3.7 While-Wend循环结构 例3.18从键盘上输入一串字符,以“?”结束,并对输入字符中的字母个数和数字个数进行统计。 该题

48、的运行结果如图3-10 所示。 第3章 分支和循环 3.7 While-Wend循环结构 例3.18从键盘上输入一串字符,以“?”结束,并对输入字符中的字母个数和数字个数进行统计。 该题的运行结果如图3-10 所示。 第4章 Visual Basic控件基础知识 Visual Basic是可视化的应用开发环境,开发设计人员通过图形界面完成应用程序的创建、修改、调试以及试运行,Visual Basic使用的是事件驱动编程机制。操作计算机时按键的动作,鼠标的移动以及单击等均可称为事件。使用Visual Basic建立应用程序的过程主要分为三个步骤,第一是建立界面,第二是设置属性,第三是编写代码。通

49、过第三章的学习,我们已经有能力编写出正确的代码,如何完成建立界面和设置属性将是这一章要学习的重点内容。第4章 Visual Basic控件基础知识4.1 窗体的结构4.2 Visual Basic控件工具4.3 使用控件4.4 给窗体和控件命名4.5 产生错误消息(MsgBox函数) 4.6 执行命令(事件过程和命令按钮) 4.7 显示输出数据(标签和文本框) 4.8 输入数据(文本框和InputBox函数) 4.9 选择多个选项(复选框) 4.10 选择单个选项(单选按钮和框架) 4.11 框架(Frame)4.12 从列表中选择(列表框和组合框) 4.13 组合框(ComboBox) 4.

50、14 创建定时事件(定时器控件) 4.15 滚动条第4章 Visual Basic控件基础知识 4.1 窗体的结构 窗体是窗体设计器窗口的简称,具有控制菜单、标题栏、最大化、复选按钮、关闭按钮以及边框,如图 4-5所示。 图 4-5 窗体第4章 Visual Basic控件基础知识 4.1 窗体的结构 1 创建新窗体 要设计出用户界面,首先要创建一个窗体,创建一个新窗体的方法有以下两种: 在启动Visual Basic时,自动创建一个新的窗体,步骤如下: (1)单击“开始”按钮,然后把光标移到“程序”命令上,将弹出一个级联菜单。 (2)把光标移到“Microsoft Visual Basic

51、6.0中文版”上,将弹出一个级联菜单。(3)单击“Microsoft Visual Basic 6.0中文版”,则出现一个“新建工程”对话框。 (4)在“新建工程”对话框中单击“打开”按钮,即可新建一个默认名字为 Form1的新窗体。 第4章 Visual Basic控件基础知识 4.1 窗体的结构 2 添加窗体 步骤如下: (1)从“工程”菜单中选择“添加窗体”菜单项。 (2)在缺省情况下系统将显示如图 4-8 所示的“添加窗体”对话框。 (3)该对话框的“新建”选项卡用于创建一个新的窗体,列表框中列出了各种新窗体的类型,其中选择“窗体”选项时,建立一个空白的新窗体,选择其它选项时则建立一个

52、预定义了某些功能的窗体。 (4)单击“打开”按钮,一个新空白窗体被加入到当前工程中,同时会显示在屏幕上。 第4章 Visual Basic控件基础知识 4.2 Visual Basic控件工具 控件是Visual Basic中预先定义好的、程序中能够直接使用的对象,它是应用程序的“积木块”,共同构成用户界面。每个控件都有大量的属性、事件和方法,可在设计时或在代码中修改和使用。 控件以图标的形式放在“工具箱”中,每种控件都有与之对应的图标。 2 控件工具分类 Visual Basic中的控件分为三类: (1)内部控件 (2)ActiveX控件 (3)可插入对象 第4章 Visual Basic控

53、件基础知识 4.3 使用控件 1.控件的基本操作 (1) 控件的缩放和移动 (2) 控件的复制和删除 (3) 选定多个控件 (4) 对齐多个控件 (5) 将多个控件调整为一样大小第4章 Visual Basic控件基础知识 4.4 给窗体和控件命名 1 对象命名约定 每个窗体和控件都有一个名字,这个名字就是窗体或控件的Name属性值。 2 给窗体和控件的属性赋值 (1)选定对象,然后在属性窗口中找到相应的属性直接设置。 (2)在代码中通过编程设置,格式为: 对象名.属性名=属性值 例4.1对一个窗体的属性作如下修改: From1.Caption=“学习演示” From1.ControBox=F

54、alse 当修改完成后,窗体的标题变为“学习演示”,控制菜单被取消。 第4章 Visual Basic控件基础知识 4.4 给窗体和控件命名 3 控件常用属性 下面介绍一些窗体和控件最常用的属性。 (1)Name(名称) 名称是每个对象都具有的最基本的属性。创建一个控件时,Visual Basic会自动给它分配一个缺省的名称,例如窗体的缺省的名称就是Form1,第一个放在窗体上的命令按钮控件的名称是Command1,第二个命令按钮自动取名为Command2等。对于名称的取法,可按照4.6节中介绍方法取名。 (2)Caption(标题) Caption属性改变窗体或控件的标题。对于窗体来说,Ca

55、ption属性就是标题栏中的文字,而对于控件来说,一般是指控件上所显示的文字。第4章 Visual Basic控件基础知识 4.4 给窗体和控件命名 3 控件常用属性 (3)Enabled(有效) 有时候某些控件在某些条件下是无效的,例如在还未选中要删除的对象时,删除按钮应该是无效的。可以通过设置控件的Enabled属性来决定控件当前是否有效。Enabled属性只有两种可供选择的值,一种是Ture(真),一种是False(假)。当控件的Enabled属性设为Ture(真)时,控件是有效的,而设为False(假)时表示当前控件是无效的。当控件处于无效状态时,它上面的文字将以灰色显示。 (4)Vi

56、sible(可见) Visible属性决定窗体或控件是否可见。同Enabled属性一样,Visible属性的值也是True(真)和False(假)。可以用和设置Enabled属性一样的方法来设置窗体或控件的Visible属性。在Visual Basic的标准控件中只有定时器控件不具有Visible属性。第4章 Visual Basic控件基础知识 4.4 给窗体和控件命名 3 控件常用属性 (5)Font(字体) Font属性用来设置控件上所显示文字的字体和格式。凡可以显示文字的控件都有Font属性。而对于窗体和图片控件,Font属性的设置则决定了打印到窗体或图片框上文字的字体和格式。 (6)

57、颜色属性 有关颜色的属性有: BackColor(背景色)、BorderColor(边框色)、ForeColor(前景色)、FillColor(填充色)、MaskColor(屏蔽色)、UseMaskColor(使用屏蔽色)。 (7)WindowsState(窗口状态) 可以用窗体的WindowsState属性来设置窗体的三种状态,这三种状态是:Normal(正常状态)、Minimized(最小化状态)和Maximized(最大化状态)。第4章 Visual Basic控件基础知识 4.4 给窗体和控件命名 3 控件常用属性 (8)Moveable(可移动) 在Windows应用程序的窗口中,可

58、以通过拖拽窗口的标题栏来移动窗口。如果想使窗体总是停留在固定的位置不被移动,可以将窗体的Moveable属性设置为False(假)。 (9)StartUpPosition(启动位置) 可以用窗体的StartUpPosition属性来设置程序启动后窗体在屏幕上的位置。StartUpPosition属性的值包括下面几种: Manual: 属性值为0,手动指定启动位置。 CenterOwner: 属性值为1,位于窗体拥有者的中心。例如在一个窗体中显示另一个窗体时,这种设置可使两个窗体中心对齐。 CenterScreen: 属性值为2,位于屏幕中心。 WindowsDefault: 属性值为3,使用W

59、indows为新窗口提供的缺省位置。第4章 Visual Basic控件基础知识 4.4 给窗体和控件命名 3 控件常用属性 (10)Height、Width(高、宽) 这两个属性可以通过改变数值的方式精确地设置窗体或控件的大小。 (11)Left、Top(横坐标、纵坐标) 这两个属性可以通过改变数值的方式精确地设置窗体或控件的位置。 以上四个属性的缺省单位是缇(Twips)。缇是一种长度单位,1 Twips=1/1440英寸。第4章 Visual Basic控件基础知识 4.5 产生错误消息(MsgBox函数) MsgBox函数的功能是当程序运行出现错误时,在屏幕上会出现一个对话框,向用户提

60、供信息,让用户进行选择后再确定其后的操作。 MsgBox函数的格式如下: MsgBox(msg,type,title,helpfile,context) 该函数有5个参数,除第一个参数外,其余参数都是可选的。各参数的含义如下: (1)Msg : 是一个字符串,其长度不超过1024个字节,如果超过,则多余的字符被截掉。该字符串的内容将在MsgBox函数产生的对话框中显示。当字符串在一行内显示不完时,将自动换行,也可以用“Chr$(13)+Chr$(10)”强行换行 。 (2)Type : 是一个整数值或符号常量,用来控制在对话框内显示的按钮、图标的种类及数量。Type的取值范围及作用如表4-4

温馨提示

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

评论

0/150

提交评论