大学计算机基础实训5_第1页
大学计算机基础实训5_第2页
大学计算机基础实训5_第3页
大学计算机基础实训5_第4页
大学计算机基础实训5_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、5.1 知识要点 本章以Visual Basic 6.0(以下简程VB 6.0)中文版为背景,讲解计算机程序设计的一些基本特点及风格。 5.1.1 VB的集成开发环境 VB 6.0的集成开发环境由若干窗口组成,包括VB 6.0的主窗口、工具箱窗口、窗体窗口、工程资源管理器窗口、属性窗口、窗体布局窗口、代码窗口、数据视图窗口、调色板窗口等,如图5.1所示。第5章 计算机程序设计基础(VB) 工具箱窗口窗体窗口主窗口窗体布局窗口属性窗口工程资源管理器窗口立即窗口代码窗口图5.1 VB 6.0应用程序集成开发环境 1窗口 VB 6.0开发界面的主窗口由标题栏、菜单栏、工具栏组成。1)标题栏 标题栏中

2、的标题为“工程1-Microsoft Visual Basic设计”,其中“工程1”是当前应用程序的名称,“设计”说明此时VB 6.0处于应用程序的设计模式。2)菜单栏 VB 6.0的菜单栏包括13个菜单标题,每个菜单标题都有一个下拉菜单,这些下拉菜单包括了程序开发过程中所需要的命令。3)工具栏 工具栏由多个图标按钮组成,在开发环境下提供对常用命令的快速访问。“标准”工具栏各按钮的意义说明如图5.2所示。除了“标准”工具栏外,VB 6.0还提供了编辑、窗体编辑器、调试等专用工具栏。要显示或隐藏工具栏,可以选择“视图”菜单的“工具栏”命令或用鼠标在标准工具栏处单击右键进行工具栏的选取。 添加工程

3、添加窗体菜单编辑器打开工程保存工程剪切复制粘贴查找撤销重复重复启动运行中断结束属性窗口窗体布局窗口对象浏览器工具箱窗口数据库浏览窗口控件管理器工程资源管理器图5.2 标准工具栏2窗体窗口 窗体是建立VB应用程序的主要部分,它是应用程序界面的窗口和容器,用户通过与窗体上的控制部件交互得到结果。 启动VB 6.0时自动创建一个空窗体,设计过程中可以再添加新的窗体。每个窗体有一个惟一的名字,建立窗体时默认的名字是Form1、Form2等。窗体的顶端是标题栏,标题可根据需要修改,窗体的大小也可根据需要设置和调整。在设计状态下窗体是可见的,运行期间可通过属性控制其可见性。 整个窗体上是用点组成的栅格,其

4、作用是定位放入窗体中的控件与栅格对齐。栅格点的间距可以通过执行“工具”“选项”命令,在“通用”选项卡的窗体设置栅格中输入“宽度”和“高度”来改变。 3工具箱窗口 启动VB后,工具箱由21个被绘制成按钮形式的图标构成。除指针用于移动窗体和控件,调整它们的大小外,其他20个控件称为“标准控件”。利用工具箱提供的这一组工具即可在窗体上设计各种控件。 除“标准控件”外,也可以把其他控件添加到工具箱中,供开发应用程序使用,或从工具箱中删除。具体操作步骤为:执行“工程”“部件”菜单命令,打开“部件”对话框,选择“控件”选项卡,从列表中选中要添加或删除的控件名称前面的选择框即可。4属性窗口 属性用来描述对象

5、的性质,每个对象有若干属性,通过设置属性值来控制对象的外观和行为。属性窗口中列出的是选定的窗体或控件的全部属性及其设置值,有“按字母序”和“按分类序”两种排列方式。 属性窗口最顶端是标题栏,标题“属性-Form1”中Form1表示当前列出的属性是关于Form1窗体或其中某个对象的。 标题栏下面的一栏是一个对象框,用于显示可以设置属性的对象名称。 对象框下面的窗口是属性列表,左侧列出所选对象的全部属性,右侧编辑和观察属性值。创建一个对象后,其每个属性均有一个默认值,在设计阶段可通过属性窗口直接修改。不同对象所列出的属性也不相同。 5工程资源管理器窗口 工程资源管理器窗口用于保存一个应用程序的所有

6、属性及组成这个应用程序的所有文件,其后缀为.vbp,工程文件名显示在标题框中。在工程资源管理器下面的列表窗口中,以层次列表形式列出组成这个工程的所有文件,主要包括以下三类文件: 窗体文件(.frm文件):该文件存储窗体上使用的所有控件对象、对象的属性、对象相应的事件过程及程序代码,一个应用程序至少包含一个窗体文件。 标准模块文件(.bas文件):所有模块级变量和用户自定义的通用过程。 类模块文件(.cls文件):用于建立用户自己的对象。类模块包含用户对象的属性及方法,但不包含事件代码。 6代码窗口 代码窗口是应用程序的代码编写器。应用程序的每一个窗体或代码模块都有一个单独的代码窗口。代码窗口的

7、组成包括以下几部分。 “对象列表”框:显示所选对象的名称。其中“通用”表示与特定对象无关的通用代码,一般在此声明模块级变量或编写自定义过程。 “过程列表”框:显示当前过程名。其中“声明”表示声明模块级变量。当在“对象列表框”中选择一个对象,在“过程列表框”选择一个事件过程后,即可构成所选对象的事件过程模板,用户可在该模板内直接输入代码。 “代码”框:显示或编辑代码。 “过程查看”按钮:使代码框中只显示所选的一个过程。 7其他窗口 在VB 6.0的开发界面中,除以上主要窗口外,还有以下窗口。 窗体布局窗口:窗体布局窗口允许用户使用一个表示屏幕的小图像来布置应用程序中窗体在屏幕上的位置。 对象浏览

8、器窗口:执行“视图”“对象浏览器”菜单命令,或单击“标准”工具栏上的“对象浏览器”按钮打开对象浏览器窗口。该窗口列出工程中有效的对象,并提供在代码中漫游的快速方法。可使用对象浏览器浏览VB中的对象和其他应用程序,查看那些对象的方法和属性,以及将代码过程粘贴到自己的应用程序中。 数据视图窗口:执行“视图”“数据视图窗口”菜单命令,或单击“标准”工具栏上的“数据视图窗口”按钮,可打开数据视图窗口。数据视图窗口用于管理数据库应用程序与数据库的链接。 5.1.2 VB程序设计语言1VB的编码原则VB 6.0代码主要书写规则如下: 代码不区分大小写。 在同一行上可以书写多条语句,各语句间用“:”分开。一

9、行最多可书写255个字符。 一条语句可以写成若干行,在行末加续行符(空格或下画线)。 不能使用VB的关键字,如Private、Sub、End、If等。 以Rem或撇号“”开头的语句为注释语句,注释语句的内容可以是任意的一串字符,但同一行内,续行符之后不能加注释。 各种符号必须在西文状态下输入。2VB中的标识符 标识符是一个字符序列,用来标记变量名、函数名和类型名等。VB要求标识符必须符合以下语法规定: 组成标识符的字符有:AZ、az、09和_。 标识符必须以字母或下画线开始,后跟字母、数字或下画线组成的字符串。 标识符不能分行书写。 3VB的数据类型 数据类型决定数据的存储方式,包括数据的大小

10、、有效位、是否有小数点等。 基本数据类型是系统定义的数据类型,VB 6.0中定义的基本数据类型有数值型、字符型、日期/时间型、逻辑型、对象型和变体型等。1)数值型数据类型 数值型数据类型包括Integer、Long、Single、Double、Currency和Byte型。 如果变量存储的是整数而不是小数,则可声明它为Integer或Long型。如果变量包含小数,则应声明为Single、Double或Currency型。如果变量包含二进制数据,则可声明为Byte型。 2)字符串数据类型 用引号括起来的一串字符即为字符串常量。字符串有定长字符串和可变长字符串。数值字符串和数值型变量可以互相赋值。

11、例如:Dim x As Single , y As String x=123.456: y=x y 的值为123.456 x=Int(y) x 的值为123 3)布尔型(Boolean) Boolean数据类型用于逻辑判断,只有True和False两个值。逻辑型数据可转换成整型数据,True转换为1,False转换为0。其他类型数据可转换为逻辑型数据,非0值转换为True,0转换为False。4)日期/时间型(Date) 日期型数据用8字节的浮点数来存储,整数部分表示距1899年12月30日的天数,小数部分表示距午夜的时间(如中午为0.5),负数表示1899年12月30日以前的日期。使用时可将

12、按日期/时间格式书写的字符串用“#”号括起来即可。例如,“# 7/1/97 8:30 am #”为合法的日期/时间值。 可对日期型数据进行算术运算。加减整数为加减天数,加减小数为加减时间。5)对象型(Object) Object变量用4个字节来存储,该地址可引用应用程序中的对象。对Object型变量,可用Set语句为其赋一个应用程序承认的实际对象。对象数据类型包括两种,一般对象数据类型和特殊对象数据类型。 6)变体型(Variant) 变体型数据是一种可以改变数据类型的数据,对于未声明或声明时未指定类型的变量,默认为变体型。变体型变量可存储任何类型的数据,包括数值型、对象型、字符型等,可用函数

13、VarType来测试其数据类型。 不论哪种类型的数据均可向变体型变量赋值而不必进行任何转换,VB自动完成任何必要的转换。例如: Dim x 不指定数据类型为变体型x =123 : x = x-23 x的值为100 x = ABC & x x 的值为ABC1007)自定义数据类型 自定义数据类型是把若干不同类型的变量结合在一起作为一个数据类型。定义后,这个数据类型就可以和内部数据类型一样的使用了。 创建自定义数据类型用Type语句实现,必须放在模块的声明部分,语法格式为:Private / Public Type 类型名 元素名(下标) As 数据类型 元素名(下标) As 数据类型 End T

14、ype 说明: 自定义类型中的每个元素可为任何一种VB内部数据类型。 Private / Public用于指明所定义的数据类型的有效范围,对私有数据类型,只能在该模块中使用,对公有数据类型,可在整个工程中使用。 声明一个变量为自定义类型后,引用该变量中元素的格式为:变量名元素名。 例如,为了描述通迅录(包括姓名、地址、电话号码)中的数据,可定义自定义类型: Private Type Address_BookName As String * 15Address As String * 30Phone As LongEnd Type然后声明Address_Book类型的变量,并赋值:Dim Rec

15、ord As Address_Book Record.Name = Zang Sa: Record.Address = Baoding: Record.Phone = 5019530 4常量和变量1)常量 在程序运行过程中,其值始终保持不变的量称为常量。(1)符号常量 用户声明的常量是用一个符号名来代替数值或字符串,因此又称为符号常量。声明常量的语法规则如下: Public / Private Const 常量名 As 类型 = 表达式 说明: 符号常量是有意义的名字,用来取代程序中永远不变的数值或字符串。不能对符号常量重新赋值,也不能像变量一样修改。 符号常量要先定义后使用,在整个模块中只需

16、定义一次。 表达式中不能含有变量和函数调用。(2)系统提供的常量 VB 6.0提供了大量应用程序和控件的系统常量,例如,窗口状态属性WindowsState可接受的常量见表5.1。在程序中使用语句Form1.WindowsState = vbMaximized将窗口最大化,显然比Form1.WindowsState = 2易于阅读。 2)变量 变量是指在程序运行期间其值可以改变的量。变量在使用前应该声明,以便系统为它分配存储单元。可在“通用”区中用Option Explicit语句强制要求变量先声明、后使用,否则变量可以不声明而直接使用。(1)声明变量的方法 用语句声明。 格式如下: 表5.1

17、 WindowsState常量常 量值描 述VbNormal0正常VbMinimized1最小化VbMaximized2最大化表5.1 WindowsState常量 Dim/ Public/ Private / Static 变量名 As 数据类型, 变量名 As 数据类型说明: 若省略As,系统默认为变体类型。一条语句可声明多个变量,但每个变量必须有自己的类型声明。例如:Dim Num As Single, unit As single 表示Num, unit都是Single数据类型Dim Num, unit As single 表示Num为Variant类型, 而unit为Single类型

18、 变量被声明后,被赋予默认初值数值型为0,字符串型为空串,布尔型为False等。 对于字符串变量,根据其存放的字符串长度是否固定,其定义方法有两种: Dim 字符串变量名 AS String 声明不定长的字符串Dim 字符串变量名 AS String*字符数 声明定长的字符串 用类型说明符直接声明变量 格式为: 变量名类型符 不同数据类型的类型符见表5.2。如声明整型变量item:item% 数据类型整 型长整型单精度型双精度型货币型字符型类型符%&!#$表5.2 数据类型的类型符 隐式声明不声明变量而直接使用,应尽量避免使用。(2)变量的作用域变量的作用域是指变量的使用范围。变量的声明位置、

19、关键字不同,变量的有效范围也不一样。VB中变量的有效范围有三个等级。 全局变量:在整个工程的所有模块中均有效,主要用于在不同窗体或标准模块之间传送数据。可在标准模块的声明部分,用Public声明。 窗体/模块级变量:只在该窗体或模块的各个过程中使用,其他模块中的代码不能引用。在标准模块的声明部分,用Private或Dim声明的变量为模块级变量;在窗体的声明部分,用任何关键字声明的变量均为窗体级变量。 过程级(局部)变量:在过程中用Dim或Static声明,只在本过程有效。Static用于定义静态变量,Dim用于定义动态变量。若某变量声明为静态变量,则重复调用该过程时,静态变量能够保留原来的值,

20、而动态变量的值,每次调用时都被初始化。如运行下面的代码: 运行此工程,单击窗体后,结果为:1 1 1 1 1 如将Form1_Load()中的Dim改为Static,运行结果则为: 2 3 4 5 6 Option Explicit : Dim iPrivate Sub Form1_Click() For i = 1 To 5 : Form1_Load : Next iEnd SubPrivate Sub Form_Load() Dim a As Integer a = a + 1 Print a , End Sub5运算符和表达式在VB的代码中有四种运算符:算术运算符、字符串运算符、关系运算

21、符、逻辑运算符。用这些运算符将相关的常量、变量、函数等连接起来的式子即为表达式。1)算术运算符 算术运算符执行简单的算术运算,按优先级由高到低依次为:(乘方)、(负号)、*、/(乘、除)、(整除)、Mod(取余)、+、(加、减) VB中的加、减、乘法运算和代数中的概念相同,而除法运算有两种,一种是普通除法“/”,另一种是整除“”(只取商数的整数部分)。例如,53的结果为1。 求余运算就是求两数相除后的余数,若操作数中有小数点,则先按四舍五入的原则处理,再进行运算。例如,8.6 Mod 3结果为0,10.4 Mod 4.2结果为2。2)字符串运算符 字符串运算符只有“&”和“+”,它们都可以将字

22、符串首尾连接起来。其主要区别如下。(1)书写格式“&”两边都要有空格,否则VB把“&”作为变量名的类型声明符。(2)运算规则“+”两边变量的数据类型要一致,否则出现错误。若都是数值型的,则进行加法运算;若都是字符型的,则进行字符串连接运算;若有一个是数值,而另一个是数值字符串,则进行数值运算。 例如,x = 123,y =123,则x + y的结果为数值246,而x & y的结果为字符串123123。3)关系运算符 关系运算符不分优先级,一率从左到右执行,VB的关系运算符如下:(小于)、=(小于等于)、=(等于)、(不等于)、=(大于等于)、(大于) 关系运算符可用于任何数据类型的表达式(除对

23、象型),结果为逻辑值。若操作数为字符型时,按字符的ASCII码值从左到右逐个比较。ASCII码值大的字符串大,若第一个字符相同,则比较第二个字符,以此类推,直到比较出大小。若要忽略大小写,可在模块的声明部分加入语句:Option Compare Text。日期型数据比较按日期先后,后边的大于前边的,如#2/5/99# 大于#2/2/99# ,布尔型比较True小于False。 4)逻辑运算符 逻辑运算符用于连接布尔型数据,结果为逻辑值。5)表达式 由运算符将常量、变量、函数等按照一定规则连接起来的有意义的式子即为表达式。 (1)书写规则 乘号不能省略。括号必须成对出现,且都用圆括号。表达式从左

24、至右在同一基准上书写。 (2)不同数据类型的转换 在算术运算中,如果操作数具有不同的数据精度,则结果以精度高的数据类型为准。 表5.3 VB支持的逻辑运算符(3)优先级 不同类型的运算符优先级为: 括号算术运算符字符运算符关系运算符逻辑运算符 6函数 内部函数是把一些常用的操作事先编写成一段程序代码并封装起来,用户通过函数名调用这段程序并返回一个函数值。函数按功能分类如下。(1)数学函数 数学函数与数学中定义的函数一致,其参数和函数值的数据类型均为数值型。常用数学函数见表5.4。 表5.3 VB支持的逻辑运算符(2)字符串函数 字符串函数用于处理字符信息。函数名后有$符号的表示函数返回值为字符

25、串。函 数 名含 义例 子结 果Abs(N)取绝对值Abs(1.4)1.4Sqr(N)平方根Sqr(4)2Rnd(N)产生随机数Rnd01之间的数Fix(N)取整函数,无条件舍去小数部分Fix(1.23)Fix(3.5)13Int(N)取整函数,返回不大于N的最大整数Int(1.23)Int(3.67)23 (正舍负入)表5.4 常用数学函数 Len(字符串):返回字符串的长度。 InStr(数值,字符串,子串,模式):返回子串在字符串中第一次出现的位置。数值指定开始查找的位置,省略时从第一个字符开始。模式为0或1。为0(默认)时区分大小写,为1时不区分大小写。找到后返回子串在字符串中的起始位

26、置,若没找到则返回0。 Mid$(字符串,m,n):从字符串的第m个字符起,取n个字符(省略n时取到末尾)。 Left$(字符串,n):返回字符串左边n个字符。 Trim$(字符串):去掉字符串的前后空格,如Trim$( abcd )=abcd。(3)日期/时间函数 Date$():返回系统当前的日期。有$时返回值是字符型数据。 Time$():返回系统当前的时间。如Time= 11:20:12 DateAdd(日期形式串,增减量,要增减的日期变量):对日期变量按日期形式做增减。日期形式串见表5.5。 日期形式yyyyqMwwDhnsyw意 义年季月周日时分秒一年的天数一周的天数表5.5 日期

27、形式串 DateDiff(日期形式串, 日期1, 日期2):返回日期2减去日期1所得的日期数。返回值的单位由日期形式串确定。 (4)转换函数 Chr$(n):将ASCII码值转换成字符串,其中0n255。如Chr$(65)= A。 Asc(字符串):返回字符串中第一个字母的ASCII码,Chr$的反函数。例如:m = Asc(B) 结果为66 Val(字符串):将字符串转换成数值量。串的组成必须符合数学规范。例如:a = Val(-13.409) a的值为-13.409 Str$(n):将数值型量转换成字符型量。例如:s = Str(35) s的值为字符35 7数组 数组是用一个相同的变量名表

28、示,用不同下标来区分的一系列变量。VB中有变量数组和控件数组两种数组。1)变量数组 变量数组是在程序中声明的一组下标变量,下标的个数称为数组的维数。在VB中,变量数组分为固定大小的数组和可变大小的数组。变量数组必须先声明后使用。(1)固定大小的数组 数组所包含的元素个数是固定不变的。声明时必须指定数组的大小。语法格式为:Dim/ Public/ Private 数组名(下界To 上界, 下界To 上界)As 数据类型 (2)动态数组 动态数组可以在任何时候改变其大小。数组声明方式为数组名后跟一对空的圆括号。如Dim Marr()。使用时要用ReDim语句为其分配实际的存储空间。其语法格式为:

29、ReDim 动态数组名(下界To上界,下界To上界)As 数据类型 2)控件数组 控件数组由一组相同类型的控件组成,它们共用一个名称。系统给每个元素赋一个索引号Index,依次为0、1、2、。控件数组中各个元素共用同一个事件过程,在事件过程的声明中增加Index参数,通过Index参数值来指明是哪一个控件发生了该事件。创建一个控件数组有以下几种方法: 先创建第一个控件,创建第二个控件时修改其Name属性为第一个控件的Name值,则VB询问是否创建控件数组。若回答“是”,则两个控件的Index属性值自动被设置。 创建第一个控件后,将其复制到剪贴板,再粘贴到窗体中,则询问是否创建控件数组。若回答“

30、是”,后面的工作同第一种方法。 先创建第一个控件,修改其Index属性值为0,创建后面的控件元素时设置相同的Name属性即可。 运行时添加控件。先在设计阶段创建第一个控件,将其Index属性设为0。再在代码段用Load数组名(下标值)添加其他元素,也可用Unload数组名(下标值)删除在代码段添加的数组元素。最后,应用Left和Top属性来确定其在窗体中的位置,并将其Visible属性设置为True。 8顺序结构 顺序结构中的语句依次执行,常用赋值语句构成。赋值语句用于数据的处理,其语法格式为:LET 变量名 = 表达式 功能: 计算赋值号右边表达式的值并将结果赋给左边的变量。 9条件分支结构

31、 VB的选择结构可以根据需要判断是否满足某些条件,以决定程序的转移。 1)二分支结构行If:If 条件 Then 语句块1 Else 语句块2 块If:块If:If 条件 Then 语句块1Else语句块2 End If2)多分支结构(1)多分支的IfThenElse结构If 条件1 Then语句块1ElseIf 条件2 Then语句块2 Else 语句块 End If (2)多分支的Select Case结构。语法格 式为:Select Case 测试表达式Case 取值表1 语句块1Case 取值表2 语句块2Case Else 语句块 End Select 功能为:首先测试“条件”,若条

32、件成立(结果为True)则执行Then后面的语句,否则执行Else后面的语句。省略Else子句为单分支结构,即条件为False时不进行任何操作。 说明: “条件”为具有布尔值的关系表达式或逻辑表达式,也可以是求值结果为数值的任何表达式,数值零解释为False,任何非零值 解释为True。 “语句块”可以是一条语句或多条语句(以“:”分隔各语句)。 10循环结构 在VB中可用循环结构来解决需要重复执行多次的语句,要求循环必须是有穷的。循环控制有两种,一种循环次数已知,另一种循环有结束条件。 1)ForNext结构 语法格式为:For 循环控制变量 = 初值 To 终值 Step 步长 语句块 E

33、xit For 语句块 Next 循环控制变量 执行过程:初值赋给循环控制变量。与终值比较,若超过终值则退出循环,否则执行循环体。循环控制变量增加一个步长,与终值比较,如此重复。 2)Do While Loop语句 语法格式为:Do While 条件表达式语句块Exit Do语句块Loop 执行过程:计算条件表达式,若值为真,则执行循环体,否则退出循环。执行完一遍循环体后,再重新计算表达式的值看是否再进行循环。 3)DoLoop While语句 语法格式为:Do语句块Exit Do语句块Loop While 条件表达式 执行过程为,执行循环体,计算条件表达式,并根据条件表达式的值决定是否再执行

34、循环体。若条件表达式的值为真,则重复执行循环体,否则退出循环,执行Loop语句后面的语句。 4)DoLoop Until语句 语法格式为:Do 语句块Exit Do语句块Loop Until 条件表达式 执行过程为,首先执行循环体,计算条件表达式的值,若值为假,则重复执行循环体;若为真,则退出循环,执行Loop语句后面的语句。 5.1.3 常用控件介绍 控件是构成VB程序的主要对象,用来获取用户的输入信息、显示输出信息或访问其他应用程序并处理数据。控件的外观和窗体一起构成应用程序的界面,程序的代码也主要是控件的事件过程。标准控件是最基本、最常用的控件,启动VB后显示在工具箱中。1基本属性 VB

35、中每个对象都有自己的属性,程序中使用一个对象时,都要设置它的属性满足程序的要求。下面首先介绍标准控件所共有的属性。 1)Name(名称) Name是对象的名称,用于标识不同的对象。默认值是对象类型加序号。Name属性在程序运行时只读。访问对象的属性和方法的语法格式为:对象名属性名 或 对象名方法名 参数表 2)Caption(标题) Caption属性用于设置对象的标题。窗体的标题是显示在其标题栏中的文本;控件的标题是显示在该控件中或其附近的文本,一般用于功能描述。 3)Height、Width、Left、Top(大小和位置) Height和Width用于设置对象的高度和宽度。Left和Top

36、用于设置对象的位置:对于窗体,Left是窗体左边框到屏幕左边的距离,Top是窗体上边框到屏幕顶部的距离;对于窗体中的控件,其位置是相对于包容它的窗体而言。若这两个属性为负数,表示窗体移出了屏幕或控件移出了窗体。 4)Font(字体) Font用于设置对象中文字的字体、字形、字号等。Font本身作为一个对象,具有Name(字体名)、Bold(粗体)、UnderLine(下画线)、Italic(斜体)、Size(字号)等属性。当给具有Font属性的对象设置有关字体的属性时,可通过其Font属性设置Font对象的属性来实现。运行阶段使用代码设置的语句格式为: 对象名.Font.Font对象的属性名

37、= 属性值 5)Enabled(有效性)用于设置对象是否能响应用户产生的事件。6)Visible(可视性)用于设置对象是否可见。7)Picture用于设置对象中显示的图像。设置方法有: 设计阶段通过LoadPicture对话框设置,或从剪贴板粘贴图形到对象上。 运行阶段用LoadPicture()函数装入,语法格式为:对象名.Picture = LoadPicture(d:path图形文件名) 8)AutoSize(自动调整大小) 用于设置控件是否能自动调整大小。 2基本事件 事件是对象能识别的动作。在事件驱动编程中,主要的代码写在事件过程中,它规定了产生某一事件时程序完成的功能,用于对事件做

38、出响应。1)Click、DblClick(单击和双击事件) 单击某对象时,引发该对象的Click事件;双击某对象时,引发该对象的DblClick事件。 2)GotFocus、LostFocus(焦点事件) 当一个对象接收到焦点时,发生GotFocus事件,失去焦点时发生LostFocus事件。3)Load、UnLoad(装载和卸载) 加载窗体时发生窗体的Load事件,卸载窗体时发生UnLoad事件。 一般在Load事件过程中书写初始化代码。如初始化窗体变量、为控件的属性指定默认值、装入列表框中的目录项等。UnLoad事件过程一般处理关闭相关的对象及文件、数据存盘等操作。 3基本方法 1)Pri

39、nt、Cls(输出和清除) Print用于在窗体、图片框、调试窗口、打印机等对象上输出文本;Cls清除运行时由绘图方法或Print方法在窗体、图片框上产生的图形和文本。语法格式为: 对象名.Print 输出项表; 对象名.Cls 用Print方法输出的文本VB视为图形文本,默认对象名时指当前具有焦点的对象。输出项之间以逗号或分号分隔,以逗号分隔时按标准格式输出,以分号分隔时按紧凑格式输出。 2)Hide、Show(隐藏和显示) Hide方法用于隐藏窗体对象,Show方法用于显示窗体对象。语法格式为: 窗体名Hide 或 窗体名Show 0/1 选择参数1时显示为模式窗体,在关闭之前不能进行任何

40、其他操作。 3)Move(移动) Move方法用于在屏幕上移动窗体或在窗体中移动控件,同时可改变大小。语法格式为: 对象名Move Left ,Top ,Width ,Height 参数表示对象移动后新的Left、Top、Width、Height属性。仅Left参数是必须的,要指定后面的参数,其前面的参数也必须指定。4)SetFocus(焦点) 语法格式: 对象名SetFocus 指定对象必须是能接收焦点的对象,即该对象包括SetFocus方法,同时是可以接收焦点的。在调用SetFocus方法后,指定对象就有了焦点,下面的任何输入都指向该对象。 4标准控件的其他属性1)命令按钮命令按钮(Com

41、mandButton)是应用程序使用最多的控件之一,常用来接收用户的操作信息,用以激发某些事件,处理一些事情。 Default:用于设置一个命令按钮是否为默认按钮,值为True时为默认按钮,默认值为False。对于默认命令按钮,按回车键时,引发其Click事件。一个窗体上至多有一个默认命令按钮。 Cancel:用于设置一个命令按钮是否为Cancel按钮。对于Cancel命令按钮,按Esc键时引发其Click事件。一个窗体上至多有一个Cancel按钮。 Style:设置命令按钮的样式。默认值为0,表示是标准按钮,值为1是图形按钮。 Picture:设置在命令按钮上显示的图形。 2)图像框和图片框

42、 图像框和图片框均可用来显示图形,包括位图、图标、JPEG或GIF格式的图形文件等。除Picture外,主要属性有: Autosize:(图片框具有)用于设置控件的大小是否自动调整。值为True时,自动调整大小,以显示装入的整个图片;值为 False时,保持控件大小,图片超出部分截除。 Stretch:(图像框专有)用于设置装入的图片是否自动调整大小以适应图像框的大小。值为True时,图片自动伸缩,以充满整个图像框,即图片适应图像框;值为False时,图像框自动调整大小,以显示装入的整个图片,即图像框适应图片。3)标签 标签通常用于显示文本,标识窗体上不具有Caption属性的对象。除Capt

43、ion、AutoSize、BorderStyle、字体、颜色等属性以外,标签还有以下重要的属性: Alignment:设置标签中标题文本的对齐方式。 0文本左对齐(默认);1文本右对齐;2文本居中。 BackStyle:用于设置标签的背景是否透明。 True透明,背景及任何图形在控件之后可见。 False不透明(默认),其BackColor属性设置填充控件。 WordWrap:设置标签是否可以在垂直方向扩展,以适应Caption属性指定的文本。 True垂直方向扩展(水平尺寸不变),以多行显示文本。False水平方向延伸,以容纳整个文本。 4)文本框 文本框最重要的属性是Text属性和关于字体

44、的属性。Text属性值是文本框中显示的文本。其他主要的属性有: MultiLine:用于设置文本框是否可以输入多行文字。默认值为False。 Locked:用于设置文本框的内容是否可以编辑。若值为True,则文本为只读文本。 PasswordCHar:用来设置输入密码时显示的字符。比如,属性值设置为“*”,则在文本框中输入的字符,都会显示为“*”。 SelText:在程序运行过程中,对文本内容进行选择操作时,用于标识被选中的文本。用该属性可实现“块复制”、“块移动”等与Windows剪贴板交换信息的操作。 SelLength:程序运行时,被选中文本的长度。 SelStart:程序运行时,被选中

45、文本的开始位置。如果没有选中的文本,则该属性值表示插入点的位置。 该控件的主要事件有键盘事件(KeyPress)、焦点事件(GotFocus和LostFocus)和Change事件。 5)框架 框架用于将其他控件分组。主要属性Caption设置显示在框架左上角的标题文本。 在框架中创建控件时,必须先创建框架控件,然后从工具箱中选中控件并把它画到框架中。不能把控件建立在窗体上,再用鼠标拖到框架中。如果想把已建立好的若干控件分组,并放到框架上,可以先选中要分为一组的控件,“剪切”到剪贴板上,然后选定框架控件,再使用“粘贴”命令。 6)单选按钮 单选按钮提供多个可选项,只能选择其中的一项。主要属性有

46、: Value:指出单选按钮是否被选中。如选中,则值为True。 Alignment:设置Caption属性的文本显示在控件右边(值为0)还是左边(值为1)。 Style:用于设置控件外观的形式。值为0时是标准样式,值为1时是图形样式。 单选按钮支持Click事件,通过检测该控件的Value值,决定执行相应的命令。 7)复选框 复选框提供Yes/No或True/False选项,以确定是否选中某一项目。复选框组中各个控件独立,可以同时选中多个选项。Value属性用于判断复选框处于什么状态:0未选中状态。1选中状态。2禁用状态。 复选框支持Click事件,根据复选框的某种状态执行相应的操作。 8)

47、列表框与组合框 列表框(ListBox)提供一系列表项,用户可从中选择一项或多项,显示不下时自动加滚动条。组合框(ComboBox)是文本框和列表框的组合,用户可在文本框中输入信息,也可从列表框中选择表项,但一次只能选择一项。(1)主要属性 ListCount:指示列表框或组合框中表项的数目,该属性只能在程序中读取。 List:列表框或组合框中一系列表项可视为一个字符串数组List,每个表项是其一元素。设计时可通过该属性向列表框或组合框中添加表项,运行时可用“对象名.List(Index)”来读取其表项。List数组的下标从0开始,即第一项的序号(Index值)为0,第2项为1,最后一项为Li

48、stCount 1。 ListIndex:指示列表框或组合框中被选中表项的序号(索引值),若没有项被选中,则该属性值为1。设计时不可用。 Text:指示列表框中最后一次选中的表项文本,或在组合框的编辑域中输入的文本。 Selected:该属性是一个逻辑数组,其元素对应列表框中相应的项,表示对应的项在程序运行期间是否被选中。例如,Selected(0)的值为True表示第一个表项被选中,为False表示第一个表项不被选中。该属性只能在程序运行时设置或引用。(2)常用方法 AddItem:在列表框或组合框中加入表项。语法格式为:对象名AddItem 表项文本 ,Index 指定Index时,将新表

49、项加入到指定位置,否则加入到排序位置(Sorted为True时)或尾部。 RemoveItem:从列表框或组合框的列表中删除一个表项文本。语法格式为: 对象名RemoveItem Index Clear:删除列表框中所有表项。 9)计时器控件 计时器控件(Timer)按一定时间间隔自动触发其Timer事件,在事件过程中编写代码,可以有规律地执行某种操作。计时器控件运行期间不可见。 计时器控件最重要的属性是Interval。该属性用于设置或返回Timer事件发生的时间间隔,单位为毫秒。Enabled属性决定计时器控件是否对其Interval属性做出响应。 计时器控件最常用的事件是Timer事件,

50、在Interval属性为True时,每隔一个Interval时间间隔引发一次。 5.1.4 可视化程序设计的一般过程 创建VB应用程序一般包括以下4个主要的步骤: 建立界面:建立应用程序界面,包括创建窗体和控件。 设置属性:设置对象的属性,满足应用程序的要求。 编写代码:打开代码窗口,从“对象框”中选择对象,从“过程框”中选择事件,系统自动建立事件过程模板,在其中编写程序代码。 保存、调试运行:运行应用程序是开发的后期工作,用以检查是否有错误、能否运行通过、结果是否符合要求等。 5.1.5 程序调试 在编写程序的过程中不可避免地会出现错误,错误分为语法错误、运行错误和逻辑错误三类。调试是指在程

51、序中查找并修改错误的过程。VB本身不能更改程序中的错误,但借助于调试工具可以了解应用程序的运行情况,帮助用户迅速地发现错误。 1调试工具栏 程序的调试包括断点、中断表达式、监视表达式、显示变量和属性的值等。这些调试工具可从“调试”菜单上调用,也可使用“调试”工具栏。调试工具栏提供了对调试程序非常有用的几个按钮,如图5.5所示,各按钮的功能见表5.7。 开始/重新开始结束逐语句跳出切换断点本地窗口中断监视窗口立即窗口逐过程快速监视调用堆栈表5.7 调试按钮功能说明调试按钮切换断点单步执行过程单步跳出本地窗口立即窗口监视窗口快速监视调用堆栈功能说明 在程序代码中确定一行,设置/取消一个断点,程序执

52、行到该行语句停下来执行方式启动按钮,单击一次,执行下一条语句,并跟踪到过程中执行方式启动按钮,单击一次,执行下一条语句,但不跟踪到过程中跳出当前过程,执行其他部分,并在调用过程的下一行处中断执行显示局部变量的当前值当应用程序处于中断模式时,允许执行代码或查询变量显示选定表达式或变量的值当应用程序处于中断模式时,列出某表达式或变量的当前值当处于中断模式时,用一个对话框显示所有已被调用但尚未完成运行的过程表5.7 调试按钮功能说明 2使用调试窗口 VB有三个调试窗口:“本地”窗口、“立即”窗口和“监视”窗口。1)“本地”窗口 显示当前过程中所有局部变量的值。当程序的执行从一个过程切换到另一个过程时

53、,窗口中的内容会发生改变。“本地”窗口中有三个参数。“表达式”表示表达式或变量的名称,“值”表示程序在当前运行状态下表达式或变量的当前值,“类型”表示表达式或变量的类型。2)“立即”窗口 显示代码中正在调试的语句所产生的信息,可以在程序代码中利用Debug.Print方法,把输出项送到“立即”窗口中。 3)“监视”窗口 用于显示当前的监视表达式,可帮助用户随时观察某些表达式或变量的值的变化情况,以确定这样的结果是否正确。 3使用中断 在设计状态下可以改变程序的界面或代码,但不能看程序的运行效果。在运行状态可以观察应用程序的行为,但不能修改代码。然而在中断状态下,可中止程序并从代码窗口修改程序,

54、保留变量的值、窗体和控件的属性,观察应用程序的界面情况。 进入中断的方法: 在程序中加入Stop语句,生成.exe文件时必须将其删除。 在代码窗口中把插入点移到要设置或删除断点的语句处,直接按F9键,即可设置或删除断点。也可从“调试”菜单中执行“清除所有断点”菜单命令来清除所有断点。 运行“运行”“中断”菜单命令进入中断。 【例5.7】 算术教师。 程序自动出一系列1,100以内整数的加、减、乘、除算式,输入答案后判断是否正确,结束时给出成绩。(1)程序设计用随机函数产生两个运算数和运算符,运算数的表达式为int(rnd*100)+1。可以分别用1、2、3、4表示、,则表达式为int(rnd*

55、4+1)。(2)界面设计界面上放置一个标签、一个文本框、两个按钮和一个图片框。(3)属性设置 各控件的属性设置见表5.8。 5.2 实训案例 控 件 名CaptionTextFontBorderStyleText1空白粗体14号默认(1)Label1空白粗体14号0Picture1粗体14号Command1确定粗体14号Command2计分粗体14号表5.8 例5.7的属性设置 (4)编写代码Dim Swrong, Sright, Result, SexpPrivate Sub Form_Load()Dim Sdata1, Sdata2, Op, NopSdata1 = Int(100 * R

56、nd) + 1 :Sdata2 = Int(100 * Rnd) + 1Nop = Int(4 * Rnd) + 1Select Case NopCase 1Op = + : Result = Sdata1 + Sdata2Case 2Op = : Result = Sdata1 Sdata2Case 3Op = : Result = Sdata1 * Sdata2Case 4Op = : Result = Sdata1 / Sdata2End SelectSexp = Sdata1 & Op & Sdata2 & = : Label1.Caption = SexpEnd SubPrivate

57、 Sub Command1_Click() If Val(Text1) = Result Then Picture1.Print Sexp; Text1; Tab(15); : Sright = Sright + 1 Else Picture1.Print Sexp; Text1; Tab(15); : Swrong = Swrong + 1End IfText1 = : Form_Load : Text1.SetFocusEnd SubPrivate Sub Command2_Click() Picture1.Print - Picture1.Print “一共计算” & Sright + Swrong & “道题”; “得分为” & Int(Sright / (Swrong + Sright) * 100) End Sub 5.3.1 顺序、选择、循环结构程序设计及控件的使用 1实验目的 掌握控件的属性的设置方法。 练习使用循环和分支语句,以及对控件事件处理代码的编写。2实验内容1)数的运算 创建如图5.6所示的窗体。 单击“查找”按

温馨提示

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

评论

0/150

提交评论