VB复习提纲 - 图文

更新时间:2023-12-18 09:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

VB工程设计窗口的组成及其用途:工程设计窗口,是用户进行应用程序开发时的主要工作窗口,它包括工程资源管理器窗口、窗体设计器窗口、属性设计窗口、代码设计窗口、窗体布局窗口、立即窗口、工具箱窗口。即除了标题栏、菜单栏、工具栏以外的窗口统称为工程设计窗口。

工程资源管理器窗口:工程资源管理器是呈倒置的“树状”结构,如果要对某一个部分进行设计或编辑,就可以双击这个部分对其进行操作。工程资源管理器所管理的资源文件有工程组文件(.VBG)、工程文件(.VBP)、窗体文件(.FRM)、模块文件(.BAS)、类模块文件(.CLS)、资源文件(.RES)

窗体设计器窗口:窗体设计器窗口是设计Visual BASIC程序界面的工作窗口,构成程序的基本“控件”都是通过窗体设计器设计而成的。

代码窗口:当打开一个窗体设计器窗口时,同时也可以打开一个代码窗口,用来显示、编辑窗体及窗体中控件的事件和方法代码,也可用于标准模块中代码的显示、编辑。

立即窗口:立即窗口是用来进行快速的表达式计算,简单方法的操作,进行程序测试的工作窗口。

属性窗口:属性窗口是显示和设置窗体或窗体中控件当前属性的窗口

第二章

对象:对象就是现实世界中某个客观存在的事物,是对客观事物属性及行为特征的描述。 任何一个对象都有属性、事件和方法三个要素,它们各自从不同的角度表达了对象的构成,通过三者有机的结合,便构成Visual Basic应用程序的基本元素。 标识符的命名规则(参见课本P31第2题):对象名、变量名、过程名统称标识符。 标识符的命名规则如下:

1.以字母开头,由字母、数字、下划线组成 2.长度小于256个字符

3.不能使用VB中的专用关键字,例如if, else, end, sub, private, public等(系统自动以蓝色标记) 4.标识符不区分大小写

5.(略)为了增加程序的可读性,建议在变量名前加一个缩写的前缀来表示该变量的数据类型:参见P29表2-4 第三章

常用五种数据类型的含义及其判断——参见课本P48第2题

数值型数据:是由数字(0~9)、小数点和正负号组成,是可以参加算术运算的数据 1.整型(Integer)、长整型(Long)——整数数据

2.浮点型:单精度型(Single)、双精度型(Double)——小数数据

字符型数据:(String)是由双引号(\括起来的一个符号序列,其中\双引号中无任何字符,也不含空格)为空字符串

1.定长字符型:(表示为String * 常数) 2.不定长字符型

日期型(Date):是由双井号(# #)括起来用于表示时间的数据 布尔型(Boolean)数据:是描述客观事物真假的数据,用于表示逻辑判断结果,它只有真(True)和假(False)两个值

1.布尔类型转化为数值类型:true 为-1,false 为0 2.数值类型转化为布尔类型:非0为true,0为false

变体型(Variant):是一种可变的数据类型,可以看做万能的数据类型 符号常量的定义、理解

符号常量是命名的数据项,其类型取决于<表达式>值的类型 定义符号常量语句格式如下: Const 常量名[As 类型] = <表达式> 例子:Const a As Integer = 14135 该语句作了以下几件事情:创建了一个名字为a的常量,这个常量存放的数据类型是integer,并且当前存放的值(永久值)为14135 符号常量的作用:用具有一定含义的常量名来代替难记的文字常量,可增加程序代码的可读性,同时方便修改。(注意符号常量定义的唯一性) 变量的四要素,声明和使用——参见课本P48第3题 变量:在程序运行过程中其值可以改变 注意!变量和文本框是独立的,两者没有必然的联系(a<>Text1)!都是用来存放数据的容器,所不同的是:变量是无形的、一般存放临时过渡的东西——有些东西肉眼虽然看不到,但却是存在的,而文本框是有形的、一般存放最终结果的(对输出而言) 变量的四要素:

①内存地址——决定了它在内存中存放的物理位置 ②变量名——可以看作内存单元中存储位置的别名,用户可以通过变量名使用内存单元存取数据

③数据类型——变量的类型a.决定了变量能够存放的数据类型b.决定了变量能参与哪些运算c.决定了变量的取值范围 ④值——变量的值 变量的声明:

显式声明——正规渠道把“容器”买回来

声明局部变量语句格式如下:Dim 变量名As 数据类型 例如:Dim I As integer Dim Sum As single

注意:1、在Dim语句声明一个变量后,VB系统将自动为该变量赋初值:数值型为0,字符型为空串,布尔型为False?

2、声明多个变量时,除每行使用一个语句逐个声明外,可以采用以下语句。换言之,同时声明多个变量时,应分别给每个变量加As子句,说明其数据类型 Dim a as integer, b as double, c as integer 以上语句等价于:Dim a as integer

Dim b as double Dim c as integer

隐式声明:未进行显式声明而通过赋值语句(也就是“x=10”这种语句)直接使用,或声明时省略了[AS 数据类型]的变量,其类型为变体(Variant)类型

强制声明:①手动添加:在Visual BASIC程序的开始处,写入语句:Option Explicit 作用:在执行含有未声明变量的代码时,显示编译错误 变量的作用域:

局部变量:在事件过程(如下图)、通用过程(见第七章)中用Dim语句声明的变量叫局部变量。它是只能在其所声明的事件过程、通用过程内部使用的变量。Eg:下图的a 是局部变量

全局变量:在声明部分(见下图,横线以上)中用Dim语句声明的变量叫全局变量,也叫全程变量,它是可以在整个程序的任何模块、任何过程中使用的变量。Eg:下图的b 是全局变量

注意:声明部分不能写”a=***”这些执行语句!一般只能写Option、dim 、const 这三种 变量与常数的区别:特别注意a和”a”的区别。A是变量,”a”是常数 常用数学函数(课本P38)、字符函数(课本P40)的使用(转换函数(Val)需要记忆,数学函数、字符函数不需要记忆)——以pdf文件为准,即包括Round、Fix、Int函数

Int 和Fix 函数的区别在于:当N为负数时,Int 函数返回小于或等于N 的第一个负整数,而Fix 函数返回大于或等于N 参数的第一个负整数 Fix(10.5) = 10 Int(10.5) = 10 Fix(-10.5) = -10 Int(-10.5) = -11

Round 函数中,C是指小数点右边应保留的位数,如果省略,则函数返回的结果是整数 转换函数: 函数 Asc(C) Chr(N) Str(N) CStr(N) Val(C) 功能 返回C的第一个字符ASCII码 返回ASCII码N对应的字符 将N转换成C类型 将数值型N转换成字符型数据 将C转换成N型 例子 Asc(“A”) Chr(97) Str(100010) CStr(100010) Val(“123.567”) 函数值 65 “a” “100010” “100010” 123.567 注意: Val(\返回的不是abc,而是0。这是该函数的一个弱点,例如它把“纯字母”字符串转换为0。所以,我们不能通过Val(字符串)的结果来判断用户的输入是否符合要求,只能通过字符串本身来进行。可以利用后面介绍的测试函数Isnumeric和第五章条件语句来实现 CStr函数和Str函数的区别:后者包含符号位。也就是说,当处理的参数是正数时,后者返回的字符串有一个前导空格暗示存在一个正号。

算术表达式、字符表达式(算术运算符、字符运算符都需要记忆,特别注意/和\\的区别,还有mod、&的用法);——参见课本P48第4(1)-(5)题、课件第三章“字符表达式”、课本P104

第3(3)题

算数表达式

字符表达式

注意: “+”、“&”两者均可以完成字符串连接运算。不同的是前者既可以做加法运算又可以做字符串连接运算;后者只能做字符串连接运算

进行字符串连接运算一般使用“&”作运算符,而且要注意“&”的前后要加空格 关系表达式(除去like)、逻辑表达式(not、and、or)——参见课本P48第5题,还有做过的相关实验、作业

关系表达式

注意:

不等于运算符“><”是合法的,但是一般被自动转换为“<>” 立即窗口和代码窗口一般只写语句,而不是写表达式。例如,“sin(x)”只是表达式,没有任何作用, “ y = sin(x) ”才有用,“2+1”也是表达式,不合法, “ y = 2+1 ”才合法? 另外,立即窗口中,“? X=10” 和 “ x=10 ” 的区别:前者是打印表达式(判断x的值与10是否相同)的值,后者是赋值语句 逻辑表达式:

如何把代数式转换为VB算术表达式——参见课本P48第6题 常用的正弦、余弦值,如30°正弦、60°余弦 第四章

赋值语句(特别注意a=a+1这种正确表达的含义,也要注意x+1=x这种错误表达) 赋值语句和“等于”关系表达式之间的区别

功能:先计算<表达式>,再将其值赋给变量或指定对象的属性 注意事项:每个变量某个时刻只能有一个值

“=”与代数式中的等号不同,它是赋值号,在代数式中L=L+1是错误的,在VB中其意义是将L+1的值赋给L

“=”号左边不能是常数、符号常量、表达式,例如: 10=X+Y ‘错误,赋值号左边是常数 X+Y=20 ‘错误,赋值号左边是表达式 Const a as integer = 100 ?

a = 200 ‘错误,赋值号左边是符号常量

了解窗体和三种控件(文本框、标签、命令按钮)常用属性、方法和事件,尤其注意区别文本框的Change事件、LostFocus事件和SetFocus方法

窗体:窗体模块简称窗体(Form),它包括事件过程、通用过程(第七章会介绍)和声明部分 窗体常用的属性:

①名称(Name)②Caption——设置窗体标题栏的文本内容 窗体常用的方法

①Print方法:在窗体上输出表达式的值 ②Cls方法:清除在窗体显示的文本或图形 ③Move方法:移动窗体并可改变其大小

④Show方法:<窗体名>.Show功能:在屏幕上显示一个窗体 ⑤Hide方法:<窗体名>.Hide功能:使指定的窗体隐藏起来 窗体常用的事件

Click:单击窗体时触发的事件 DblClick:双击窗体时触发的事件

标签(Label):用于显示文本信息的控件,在工具箱的外观为

标签常用的属性: 名称(name)Caption——改变Label 控件中显示的文本信息 标签常用的方法和事件:无 标签一般用于注释说明,很少使用方法和事件

文本框(TextBox):是一个文本编辑区域,可在该区域输入、编辑和显示文本内容,在工具箱的外观为

文本框常用的属性:名称(Name) Text——文本框中显示或接收的正文内容

使用时,如果该属性出现在“=”的左边,则是对文本框的内容赋值(写入),否则,则是对文本框的内容获取(读取)

除了使用赋值语句来修改文本框的内容以外,可以在程序运行时,通过用户键盘输入正文内容来实现

文本框常用的方法:SetFocus方法

即:[<对象名>.]SetFocus 功能:把光标移到[<对象名>.]指定的文本框上

注:界面上窗体以及窗体上的控件有很多,当程序运行时,某个时刻只能有一个对象能够接受键盘的操作,称为具有焦点,其他不能接受键盘输入的对象称为不具有焦点 文本框常用的事件:Change事件 LostFocus事件

即:当文本框的内容发生改变时触发,适用于检查文本框输入内容的合法性

实例:网站的注册页面输入当前数据时的自动检查功能(如验证码或密码强度的实时检测) LostFocus事件:当控件失去焦点时触发,适用于检查文本框输入内容的合法性 与Change事件的不同之处:LostFocus——“完成时态”,Change——“进行时态”。例如用户在某个文本框中输入字符“abc”,则change事件被触发三次,而当用户点击其他控件使得该文本框失去焦点时,LostFocus事件被触发一次

实例:网站的注册页面当前数据输入完毕,希望跳到下一个数据输入时的自动检查功能(如确认密码和原密码、用户名重复的检测)

命令按钮(CommandButton):用于控制程序的进程,即控制过程的启动、中断或结束,在工具箱的外观为

命令按钮常用的属性:名称(Name) Caption——命令按钮显示的标题 命令按钮常用的事件:

Click事件——鼠标单击按钮时触发的事件

MouseMove事件——鼠标在按钮上移动时触发的事件

注意!事件要通过鼠标选择进行添加,而不是通过键盘敲字母添加进去,因为并非所有事件都是“0参数”,例如MouseMove

如果要日期前面要显示一个固定的文本,则用字符串连接,例如Text1.Text = \现在时刻:\Date & \

第五章——参见课本P102-104第2、3题做过的作业 If分支语句: 单路分支语法:

格式一:If <表达式> Then

<语句序列> (注意:书写代码时最好使用缩进格式锯齿式, 即使用键盘的Tab键) End If

格式二:If <表达式> Then <语句> 双路分支语法:

格式一:If <表达式> Then

<语句序列1> (注意:书写代码时最好使用缩进) Else

<语句序列2> End If 格式二:If <表达式> Then <语句1> Else <语句2>

If语句的简单使用:(不包含多个If语句的嵌套,除了最后那道程序设计题有两个IF语句以外)

注意:(泛指,即单路、双路和后面的多路分支均适用) 条件表达式可以是关系表达式、逻辑表达式等 多个If语句可以嵌套使用,例如: If <表达式1> Then [语句序列1] If <表达式2> Then <语句序列2> End If

[语句序列3] End If .

若不是单行If 语句时,If 必须与End If 配对使用:配对与书写时的缩进无关,End if 与最相邻的if 配对。 For循环语句的使用(不需要理解“多个For语句的嵌套”是如何执行的,但是需要知道“嵌套是不能交叉的”。另外,要掌握For语句和If语句的联合使用)

For循环语句又称“计数”型循环控制语句,它以指定的次数重复执行一组语句 For语句格式:

For <循环变量>=<初值> to <终值> [Step <步长>] <语句序列> ---------中间部分即指循环体 Next <循环变量>

功能:用循环计数器<循环变量>来控制<循环体>内的语句的执行次数 第六章——参见课本P137-138第2、3题 数组的功能及数组元素的访问

数组不是一种数据类型,而是一组有序基本类型变量的集合,数组的使用方法与变量相同。 数组特点:1、数组是一组相同类型的元素的集合

2、数组中各元素有先后顺序,它们在内存中按排列顺序连续存储在一起

3、所有的数组元素是用一个变量名命名的一个集合体,而且每一个数组元素在内存中独占一个内存单元(元素之间独立)

4、为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的,如A(5)、B(1,2)

一维数组的声明和使用: 1) 静态数组: 声明静态数组

格式一:Dim 数组名(下标的上界) [AS 类型] 例子:Dim a(10) as integer

即定义一个静态数组,其数组名为a,a是一维数组,有11个元素,类型为整型。每个元素的标识分别是:a(0),a(1),a(2),?,a(10) 例子:Dim a(14) As double

即从a(0)到a(14)共15个双精度类型的元素

格式二:Dim 数组名(下标的下界to 下标的上界) [AS 类型] 例子:Dim a(-1 to 5) As string

即定义一个静态数组,其数组名为a,a是一维数组,有7个元素,类型为字符型。每个元素的标识分别是a(-1),a(0),a(1),a(2),a(3),a(4),a(5) 注意!1.数组名的命名规则与变量名的命名相同

2.数组的维数由下标的个数确定,下标的个数最多可以为60个

3.数组每一维的元素个数,也就是数组每一维的大小是(上界-下界+1),而整个数组的元素个数,是每一维元素个数的乘积

4.关于<下标的下界>,数组每一维的下标默认从0开始,若希望下标从1开始,可在模块的通用部分使用Option Base 1语句设置开始下标为1

例子:Option Base 1 ‘将数组下标默认设为1

—————————————————————— Private Sub Command1_Click()

Dim a(5) As Integer --------从a(1)到a(5)共5个元素 ?? End Sub

5.定义数组时,<下标的下界>和<下标的上界>不能使用变量,必须是常量,常量可以是文字常量、符号常量,一般是整型常量 2) 动态数组 声明动态数组:

第一步:用Dim语句声明动态数组(定义动态数组的名称)

Dim 数组名() [AS 类型]

第二步:用ReDim语句声明动态数组的大小(定义动态数组的大小) ? ReDim 数组名(下标的上界) 例子:Private Sub Form_click()

Dim x() as integer

?

ReDim x(5) x(0) = 2 ?.. x(5) = 13 End Sub

注意!1.在声明动态数组(Dim语句)的名字时无须给出数组的大小

2.Dim是一个声明语句,而ReDim是一个执行语句,因此ReDim只能出现在过程内,可以多次使用ReDim来改变数组的大小,也可改变数组的维数,但不能改变数组的数据类型 3.ReDim中的下标上界可以是常量,也可以是有了确定值的变量(这个上界必须大于等于0) 4.【提高篇】每次执行ReDim语句时,将重新对数组元素进行初始化,当前数组中的数据会全部丢失(可以用Preserve参数弥补)

3) 一维数组的下标设置(默认为0开始,可以设置为1开始) 数组的维数由下标的个数确定,下标的个数最多可以为60个 Array、UBound和LBound函数的使用 Array函数格式:Array( <常数表> )

功能:给一维数组整体赋值,并定义一维数组的大小——注定了数组一定是动态的

注意:Array函数只能给声明Variant类型(变体型)的动态数组赋值,赋值后的数组大小由所赋的数据个数来决定 例如:Dim a()

a = Array(1, 2, 3) ‘a是一个大小为3的一维数组,其元素分别为a(0)=1,a(1)=2,a(2)=3 Ubound( ) 函数格式:UBound(<数组名>) 功能:确定一维数组下标的上界

Lbound( )函数格式:LBound(<数组名>) 功能:确定一维数组下标的下界

举例:利用UBound和LBound函数计算两个向量的乘积,其核心代码为:

result = 0

For i = LBound(a) To UBound(a) result = result + a(i) * b(i) Next i

?注意:LBound和UBound函数对静态或者动态数组都有效 第七章——参见课本P163第2、3题 过程的声明与使用: 使用“过程”的两个常见场合:某些事件的代码相同,或一个事件中有许多重复的程序段落,

因此可以将这程序段独立出来。(代码重复使用) 通用过程、窗体事件过程和控件事件过程 窗体事件过程:?

语法格式: Private Sub Form_事件名([参数列表])

[局部变量和常数声明] 语句块 End Sub

说明:不管窗体名如何,事件过程中都用“Form _事件名” 控件事件过程:

控件的事件过程名定义为“控件名_事件名”

语法格式: Private Sub 控件名_事件名([参数列表])

[局部变量和常数声明] 语句块 End Sub 例如,单击按钮的事件过程代码为: Private Sub Command1_Click()

? End Sub 通用过程:是具有一定功能的独立程序段,是用户自己定义的一种过程 Sub和Function两种过程的区别

定义Sub过程的语句格式:Sub <子程序名> ([<参数表>])

<语句序列> End Sub

功能:定义一个以<子程序名>为名的Sub过程,Sub过程不含返回值(有进无出) 注意事项:

1.<子程序名>的命名规则与变量名规则相同

2.<参数表>中的参数称为形式参数(形参),表示形参的类型、个数、位置 3.<参数表>中可以有多个形参,它们之间要用逗号“,”隔开,每一个参数要按如下格式定义:变量名[As 类型]

4.定义过程时可以无形式参数,但括号不能省略 调用Sub过程注意事项:

参数表中的参数称为实际参数(实参),它必须与形参保持个数相同、类型一致——对号入座 过程在代码窗口的位置是无关重要的

定义Function过程的语句格式:Function <函数名>([<参数表>])[As<类型>]

<语句序列> 函数名=返回值 End Function

功能:定义一个以<函数名>为名的Function过程,Function过程通过形参与实参的传递得到结果,返回一个函数值(有进有出)

注意事项:(其余与Sub过程基本相同)

1.在函数体内部,<函数名>可以当变量使用,函数的返回值就是通过给<函数名>的赋值语句来实现的,在函数过程中至少要对函数名赋值一次

2.As<类型>是指函数返回值的类型,若省略,则函数返回变体类型值(Variant)

3.执行过程以后都会返回,所不同的是,sub不带有返回值,而function带返回值

形参和实参:

形式参数:简称“形参” ,指在定义通用过程时,出现在Sub或Function语句中过程名后面圆括号内的参数

实际参数:简称“实参”,指在调用Sub或Function过程时,写入子程序名或函数名后括号内的参数。实参的作用是将它们的数据(数值或地址)传送给Sub或Function过程与其对应的形式参数

理解:形参是过程被定义时设定的,因此是无值的,实参是在过程被调用时把值传递给形参的,因此有相应的值

形参和实参:

形式参数:简称“形参” ,指在定义通用过程时,出现在Sub或Function语句中过程名后面圆括号内的参数

实际参数:简称“实参”,指在调用Sub或Function过程时,写入子程序名或函数名后括号内的参数。实参的作用是将它们的数据(数值或地址)传送给Sub或Function过程与其对应的形式参数

理解:形参是过程被定义时设定的,因此是无值的,实参是在过程被调用时把值传递给形参的,因此有相应的值

本文来源:https://www.bwwdw.com/article/ect5.html

Top