admin 管理员组

文章数量: 887021


2024年1月23日发(作者:html设置textarea内容为空)

VB知识点总结大全

第一章 VB入门(*)

1.2.2 主窗口

1.标题栏

三种工作模式

(1)设计模式:可进行界面设计、代码编制

(2)运行模式:不可编辑界面、代码

(3)中断模式:不可编辑界面,可以编辑代码

2.菜单栏

3.工具栏

1.2.3 设计窗口

1.窗体设计窗口

2.代码设计窗口

(1)打开方式:

1.单击菜单栏的视图——选择代码窗口

2.双击窗体、控件

3.单击工程资源管理器窗口的“查看代码”

(2)主要内容

1.对象列表框:显示所选对象的名称。列出窗体所有可用的对象名。

2.过程列表框:列出所有对象列表框中对象的事件过程或自定义过程的名称。

1.2.4属性窗口

由四部分组成:

1. 对象列表框

2. 属性排列方式:按字母排列、按分类排列

3. 属性列表框:左边为属性名,右边为相应的属性值

4. 属性含义说明:显示所选属性的含义

1.2.5 工程资源管理器窗口

(1)3个按钮

1.“查看代码”:切换到代码窗口,显示和编辑代码

2.“查看对象”:切换到窗体窗口,显示和编辑对象

3.“切换文件夹”:切换到文件夹显示方式

(2)包含两种类型的文件

1.窗体文件(.frm文件):储存窗体上所有控件对象和有关的属性、对象相应的事件过程、程序代码。

2.标准模块文件(.bas文件):储存所有模块级变量和用户定义的通用过程,该类型可选。

1.2.6 工具箱窗口

一般由21个按钮形式的图标构成。除指针外的20个为标准控件(指针不是控件),每个也是一个类。如:文本类、图形类等。

1.3.1 建立一个应用程序的步骤

1.建立用户界面的对象

2.对象属性的设置

3.创建对象事件过程及编程

4.运行和调试程序

5.保存程序和生成可执行文件

1.3.2 VB程序结构和编码规则

1.程序结构

(1)最上面为通用声明段,主要编写模块级以上的变量声明、Option选项的设置等。

(2)以下为程序代码的块结构,也就是事件过程或自定义过程,这构成程序的主体。块的先后次序与程序执行次序无关。

2.编码规则

(1)代码不区分字母的大小写

(2)语句书写自由

1.同一行可书写多个语句,语句间用冒号分隔

2.一个语句可分多行写,要在本行末加续行符“ -”(空格和下划线)

(3)为了程序的阅读、维护和调试,可加注释

1.一般用 ’(撇号)注释内容

2.也可使用工具栏的文本编辑器中的注释

第二章 可视化编程基础(***)

2.1.2 类和象

1.对象:具体的控件或窗体等都是对象。

2.类:工具箱上的可视图标是标准控件类,如:命令按钮类、文本框类等。

注:窗体是个特例,它既是类也是对象。

2.1.3 对象的属性、方法和事件

属性、方法和事件构成了对象的三要素。

1. 属性(用来描述和反映对象特征的参数)

设置属性的两种方法:

(1) 在设计时,通过属性窗口直接设置

(2) 在代码中设置,通过赋值实现

大多数属性都可用以上两种方法设置,这种属性称为“可读写属性”,有一些只能通过属性窗口设置,此种属性称为“只读属性”

2. 方法(附属于对象的行为和动作,也就是指使对象动作的命令)

如:us (其中setFocus就是方法)

3. 事件(如单击、双击、装载等都是事件)

事件和方法的简单区别:

(1)事件是被外在条件激活的,是被动的;而方法却是主动的。

(2)事件:要写代码。方法:系统自定义代码。

2.2 窗体和基本控件

2.2.1 控件的基本属性

(1)Name:对象的名称,不会显示在窗体上。

(2)Caption:决定控件上显示的文本内容。

(3)Height、Width、Top和Left:前两个决定控件大小,后两个决定控件的位置。

(4)Font:改变文本的外观。

me(字体)属性是字符型

ze(字体大小)属性是整型

3.以下是逻辑型(FontBold为粗体、 FontItalic为斜体、 FontStrikethru

为删除线、FontUnderline为下划线)

(5)Enabled、Visible:决定控件的有效性、可见性,为逻辑型。

(6)ForeColor、BackColor:颜色属性,ForeColor前景色(正文颜色)、BackColor背景色。

(7)MousePointer、MouseIcon:前者为指针类型,范围为0—15,默认为99,即用户自定义图标;后者是当前者为99时,要显示的图标。

(8)TabIndex:决定了按Tab键时,焦点在各个控件移动的顺序。

(9)控件默认属性

文本框 Text 标签 Caption

命令按钮 Default 图形、图像框 Picture

单选按钮 Value 复选框 Value

2.2.2 窗体

1.属性

(1)Picture:窗体要显示的图片

(2)BorderStyle :边框样式属性,值范围0—5,默认为2.

0:窗体无边框,不能移动和改变大小

1:单线边框,可移动,不可改变大小

2:双线边框,可移动可改变大小

3:固定对话框,不可改变大小

4:窗体外观与工具条相似,有关闭按钮,不可改变大小

5:窗体外观与工具条相似,有关闭按钮,可改变大小

(3):WindowState:窗口状态属性,有3个值,默认为0

0—Normal:正常窗口状态,有窗口边界

1—Minimized:最小化状态,以图标方式运行

2—Maximized:最大化状态,无边框,充满整个屏幕

2.事件

(1)Click:鼠标单击窗体时,触动该事件

(2)DblClick:鼠标双击窗体时,触动该事件

(3)Load:启动窗体时,自动触发该事件。此事件常用来对属性和变量进行初始化。

(4)Activated:当单击一个窗体,使其变成活动窗体时,触动该事件

(5)Resize:当改变窗体的大小时,触动该事件

3.方法

(1)Print:显示文本内容

(2)Cls:清除窗体的内容

(3)Move:移动窗体或控件对象的位置,也可改变对象的大小。

[对象.]Move 左边距离[,上边距离[,宽度[,高度]]]

2.2.3 标签

1.属性

(1)Alignment:控件标题的对齐方式。

0—左对齐

1—右对齐

2—居中

(2)AutoSize:决定控件是否自动调整大小。

(3)BackStyle:背景样式。0为透明显示,可显示后面的内容。

(4)BorderStyle:边框样式,0为没有边框,1为控件带单边框。

2.事件(一般不编写事件过程)

2.2.4 文本框

1.属性

属性 类型 意义

Text 字符串 正文内容

MaxLength 整型 文本框输入的最大字符数

MultiLine 逻辑 是否设置多行

ScrollBars 整型 设置文本框是否有滚动条,当MultiLine为True,此属性才有效。

PassWordChar 字符串 设置文本框的替代符,一般用“*”

SelStart 整型 选定正文的开始位置,文本框中的第一个字符的位置是0

SelLength 整型 选定正文的长度

SelText 字符串 选定正文的内容

2.事件

(1)Change:当输入内容或将Text属性设置新值时,触动该事件。

(2)KeyPress:当按下并释放键盘上某个键时,触动该事件,并返回一个KeyAscii参数。常用于对输入是否为回车符(KeyAscii=13)的判断。

(3)LostFocus:当按Tab键或鼠标单击其它控件时触动,常用于对文本框输入内容进行有效性检查。

(4)GotFocus:与LostFocus事件相反,对象得到焦点时发生。

3.方法

主要是SetFocus,将光标移到指定的对象中,形式为:

[对象.]SetFocus

2.2.5 命令按钮

属性

n:按钮上显示的文字。若某字母前加入“&”,则运行时该字母带下划线,并成为快捷键,当按Alt+快捷键时,可激活并操作该按钮。

:设置按钮的样式,有两种:

0—Standard:标准的(默认),按钮上不能显示图形

1—Graphical:图形的,按钮可以显示图形,也可显示文字

e:按钮装入图形文件,但Style必须为1

pText:工具提示信息,按钮设置图形样式显示时,才设置此属性。

2.2.6 图片框、图像

区别:两者都可显示图形文件。但图片框还可放置其他控件,以及通过Print、PSet、Line、Circle等方法输出文本和画图,而图像不能。

e:显示图形文件,其值可通过4种途径获得:

(1)设计时,通过Picture属性直接选择

(2)在代码中使用LoadPicture()函数装入图形,形式为:

图片框或图像对象.Picture=LoadPicture(“图形文件名”)

(3)在代码中通过赋值从另一个控件获得,形式为:

图片框或图像对象e=图片框或图像对象e

(4)从剪贴板对象复制图片:对象.Picture=a()

ze:该属性仅作用于图片框对象。为True时,图片框随加载的图形大小而变;为False时,图片框大小不变,若图片过大,则超出部分将被剪掉。

h:该属性仅作用于图像控件。当为 True时,图像框可自动改变大小以适应其中的图形;当为False时,图形可自动调整尺寸以适应图像框的大小。

第三章 VB程序设计基础(***)

3.1.2 数据类型

1、数据类型

2、基本数据类型

数据类型 关键字

逻辑型 Boolean

整型 Integer

长整型 Long

单精度型 Single

双精度型 Double

日期型 Date

字符串型 String

3.2 常量与变量

3.2.1 标识符

标识符是用来命名常量、变量、函数、过程、各种控件名的。命名规则:

1、 由字母开头,后面可跟下划线、数字等字符:可使用汉字,希腊字母,但不常用。

类型符(简写)

%

&

!

#

$

范围

True或False

-2^15~2^15-1

-2^31~2^31-1

1/1/100~12/31/9999

2、

3、

4、

不能使用VB中关键字,如Dim、If、For等。

一般不使用VB中具有特定意义的标识符,如:属性、方法名等。

不去区分大小写,但一般变量的首字母大写,其余小写,而常量全部大写。

3.2.2 常量

常量分为三种:直接常量、用户声明的符号常量、系统提供的常量。

1、 直接常量

直接常量就是常数值直接反映了其类型,又称文字常量。

2、 符号常量

符号常量是用户定义了一个标识符代表一个常数值。

定义形式为:Const 符号常量名[As类型]=表达式

注意:常量一旦声明,以后只能引用,不能改变其值。

3、 系统提供的常量

系统预先定义的,一般以vb为前缀。如:换行符:vbCrLf。

3.2.3 变量

变量是在程序运行时其值可以改变的量。其声明方法有两种:

1、 显式声明

形式为:Dim 变量名[As类型]

方括号可缺省,若缺省则变量类型为变体型(Variant)。

注意:(1)声明多个相同类型的变量时,必须逐一列出,否则类型为变体型。如:Dim a%,b%,c%(正确);Dim a,b,c%(错误)

(2)声明时可选择是否固定字符串类型的变量的长度

Dim 字符串变量名 as String 长度不固定

Dim 字符串变量名 as String*字符数 长度固定

2、 隐式声明

隐式声明是变量没有声明而直接使用。此时变量默认值为0。

3.3 运算符和表达式

3.3.1 运算符

运算符分为四种:算术运算符、字符串连接符、关系运算符和逻辑运算符。

1、算术运算符

运算符 含义 优先级(运算先后)

^ 幂运算 1

- 负号 2

* 乘 3

/ 除 3

整除 4

Mod 取余数 5

+ 加 6

- 减 6

2、字符串连接符

字符串连接符有两个:“&”和“+”,它们可以将两个字符串连接起来。

“&”和“+”的区别:

(1)“&”:连接符两边的操作数不论是字符型还是数值型,系统先将操作数转换成字符型,再连接。

(2)“+”:即可当算术运算的加法运算,

也可作为字符串连接。当两边操作数为字符串时,作连接运算;当两侧为数值型时,作加法运算;当两侧一个为数字字符串,另一个为数值型时,则将数字字符串转换为数值,再作加法运算;当两侧一个为非数字字符串,另一个为数值型,则出错。

3、关系运算符

稍微注意不等于的符号是“<>”就好了。

注意:

(1) 如果两个操作数是数值型,则按其大小进行比较。

(2) 如果两个操作数是字符型,则按字符的ASCII码值从左到右逐一进行比较,直到出现不同的字符时为止。

(3) 关系运算符的优先级相同。

4、逻辑运算符

逻辑运算符又称布尔运算符,结果只有True或False。

运算符 含义 优先级 含义 实例 结果

Not 取反 1 当表达式的值为False时,结果为True。 Not F T

Not T F

And 与 2 当两个表达式的值为True时,结果才为T And T

True。 F And F

F And T

当两个操作数中有一个为True,结果为T Or T

True。 T Or F

F Or F

当两个操作数一个为True,一个为FalseT Xor F

时,结果才为True,否则为False。 T Xor T

T

F

F

T

T

F

T

F

Or

Xor

或 3

异或

3

3.3.2 表达式

1、表达式的书写规则

(1)乘号不能省去,应写成a*b形式。

(2)括号必须成对出现,均使用圆括号。

(3)表达式从左到右在同一基准上书写,无高低、大小之分。

3、运算符的优先级

算术运算符>字符串连接符>关系运算符>逻辑运算符

3.4 常用内部函数

3.4.1 数学函数

函数 含义

Abs(N) 取N的绝对值

Log(N) 返回以e为底的自然对数

Exp(N) 返回以e为底的幂,即eN

Sqr(N) 求N的平方根

3.4.2 转换函数

实例

Abs(-3.5)

Log(10)

Exp(3)

Sqr(9)

结果

3.5

2.3

20.086

3

函数名 功能 实例 结果

Asc(C) 字符转换成ASCII码值 Asc(“A”) 65

Chr(N) ASCII码值转换成字符 Chr(“65”) A

CStr(N) 数值转换为字符串 CStr(123.45) “123.45”

Str(N) 数值转换为字符串 Str(123.45) “□123.45”

Int(N) 返回不大于N的最大整数 Int(-3.5) -4

LCase(C) 大写字母转为小写字母 LCase(“ABC”) “abc”

UCase(N) 小写字母转为大写字母 UCase(“abc”) “ABC”

Val(N) 数字字符串转换为数值 Val(“123ab”) 123

3.4.3 字符串函数

函数名 说明 实例 结果

InStr(C1,C2) 在C1中找C2,找不到为0 InStr(“qwasdf”,”as”) 3

Left(C,N) 取出字符串左边N个字符 Left(“asdf”,2) “as”

Len(C) 字符串长度 Len(“fsgs”) 4

Mid(C,N1[,N2]) 在字符串C中从N1位开始向右取Mid(“asdgf”,3,2) “dg”

N2个字符,缺省N2则取到结束

Replace(C,C1,C在C中将C2替代C1 Replace(“asdf”,sd,1) “a1f”

2)

Right(C,N) 取出字符串右边N个字符 Right(“ghajh”,2) “hj”

Space(N) 产生N个空格 Space(3) “□□□”

String(N,C) 产生N个C个字符组成的字符串 String(4,”x”) “xxxx”

3.4.3 日期函数

函数 说明 实例 结果

Date 返回系统日期 Date 2016-6-11

Now 返回系统日期和时间 Now 2016-6-11 23:12:31

Time 返回系统时间 Time 23:12:31

Year(D) 返回年份4位数 Year(Now) 2016

WeekDay(D) 返回星期代号(1~7) WeekDay(Now) 7(即星期六)

3.4.5 其他使用函数

1、Rnd函数 Rnd[()]或Rnd(N)

功能:产生一个范围为[0,1)的双精度随机数,N>0或缺省时生成随机数,N≤0时生成与上次相同的随机数。

通用表达式:Int(Rnd*(上界-下界+1)+下界)。为了产生不同序列的随机数,可在其上一行加Randomize语句,它能初始化随机数生成器。

2、IsNumeric函数

形式:IsNumeric(表达式)

作用:判断表达式是否是数字,若是数字字符(包括正负号、小数点),返回True,否则为False。

第四章 基本控制结构(*****)

4.1 顺序结构

4.1.3 数据输入

通过InputBox对话框输入

一般的简单形式为:变量=InputBox(提示)

4.1.4 数据输出

1、MsgBox的两种形式:

函数形式:变量=MsgBox(提示, 0+48,标题)

过程形式:MsgBox 提示,0+48 ,标题

其它按钮、图标类型请看P75。

2、格式输出函数

Format(表达式,”格式字符串”)

符号 作用 实例

0 数字占位符,若实际数字小于符号Format(23.4,”000.00”)

位数,数字前后加0

# 数字占位符,若实际数字小于符号Format(23.4,”###.##”)

位数,数字前后不加0

, 千分位占位符 Format(1523.4,”##,##0.00”)

% 将表达式乘以100,并在数字后加% Format(23.426,”###.##%”)

显示结果

023.40

23.4

1.523.40

2342.6%

4.2 选择结构

4.2.1 If条件语句

1、If …Then 语句(单分支结构)

两种形式如下:

(1)If 表达式 Then

语句块

End If

(2)If 表达式 Then 语句

2、If …Then …Else 语句 (双分支结构)

(1)If 表达式 Then

语句块1

Else

语句块2

End If

(2)If 表达式 Then 语句1 Else 语句2

3、If …Then …ElseIf 语句 (多分支结构)

If 表达式1 Then

语句1

ElseIf 表达式2 Then

语句2

[Else

语句n+1]

End If

4.2.2 Select Case 语句

Select Case 表达式

Case 表达式列表1

语句1

Case 表达式列表2

语句2

[Case Else

语句块n+1]

End Select

4.2.4 条件函数

1、IIf函数

IIf (表达式,当表达式的值为True时的值,当表达式的值为False时的值)

2、Choose函数

变量=Choose (整数表达式,选项列表)

4.2.5 选择控件与分组控件

1、单选按钮

主要属性Value为逻辑型,被选定为True;未选定为False,默认值。

2、复选框

Value属性有3个状态,分别表示未被选定、选定和灰色。

3、框架

修改框架的Enabled、Visible属性同样作用框架内的其它控件。

4.3 循环结构

4.3.2 For …Next 循环语句

For 循环控制变量=初值 To 终值[Step 步长]

循环体

Next 循环控制变量

循环次数n=Int((终值-初值)/ 步长+1)

4.3.3 Do … Loop 循环语句

常用于控制循环次数未知的循环结构,有两种形式:

1、Do [{While|Until} 条件表达式]

循环体

Loop

先判断再循环,有可能循环体一次也不执行。

2、Do

循环体

Loop [{While|Until} 条件表达式]

先循环再判断,至少执行一次循环体。

4.4 其他辅助控制语句和控件

4.4.1 GoTo 语句

形式为:GoTo {标号|行号}

作用:程序运行转移到标号或行号指定的那行语句。

4.4.2 Exit 和 End 语句

1、Exit 一般用于退出循环或过程的执行。如:Exit Do、Exit Sub等。

2、End 单独用时,结束程序运行;与其他控制结构关键字配套时,结束一条

控制语句、过程或语句块。

4.4.3 滚动条、进度条和定时器

1、滚动条

分为水平滚动条(HScrollBar)和垂直滚动条(VScrollBar)

(1)属性

属性 属性意义 默认值

Min 滑块处于最小位置的值 0

Max 滑块处于最大位置的值 32767

SmallChange 用户单击两端箭头时Value的减、增量 1

LargeChange 用户单击滑块两端灰色区域时Value的减、增量 1

Value 滚动条当前值 0

(2)事件

当拖动滑块时触动Scroll事件;当滚动条内滑块的位置改变时,触动Change事件。

2、进度条

一般与定时器连用,运用时要注意两个属性:

(1)Max值,进度条的最大值。

(2)Value值,表示进度条每次变化的大小。

3、定时器

(1)属性

①Enabled:默认值为True,当为False时,定时器不产生Timer事件。

②Interval:决定两个Timer事件之间的时间间隔,其值以ms(0.001s)为单位。默认为0,定时器不工作。

第五章 数组(*****)

5.2 数组声明

5.2.1 定长数组及声明

定长数组是在声明后不能再改变其大小的数组。

1、一维数组

声明形式:Dim 数组名(下标)[As 类型]

下标:必须是常数,不可以是表达式或变量。

数组的大小:上界-下界+1

2、多维数组

声明形式:Dim 数组名(下标1,[,下标2,…])[As 类型]

下标个数:决定数组的维数。

数组的大小:各维数组大小的乘积。

注意:数组下界默认为0,可在代码窗口的上面加Option Base 1,设定默认下界为1。

5.2.2 动态数组及声明

建立动态数组的两个步骤:

1、用Dim 语句声明数组,但不能指定数组的大小。

Dim 数组名()As 数据类型

2、用ReDim语句声明数组的大小。

ReDim 数组名(下标1[,下标2,…])

注意:(1)Dim 可以出现在代码的任何地方;而ReDim 只能出现的过程中。

(2)Dim 声明的数组下标必须是常量;而ReDim声明的数组的下标可以是常量,也可以是有确定值的变量。

(3)每次使用ReDim都会使原来数组中的值的丢失,可在ReDim后面加Preserve来保留数组中的数据。

5.3.1 Array函数为一维数组赋初值

形式:数组变量名=Array(常量列表) 如:a()=Array(1,2,3,4)

此时,必须在前面声明数组类型为变体型,并且该数组没有大小。赋值后数组的下界和上界通过LBound和UBound函数获得。

5.3.2 数组的排序

以下都是通过从大到小排序说明

1、选择排序法

基本原理:

(1)先用类似打擂台的形式找出N个数中的最大值,然后将最大值与第一个数交换位置。

(2)在余下的N-1个数中,按(1)的方法找到最大值,与第二个数交换位置。

(3)不断重复步骤(2)直到排好序即可。

2、冒泡排序法

基本原理:

(1)从最后一个数开始,相邻的两个数比较,若后一个数大,则两个数交换位置。

(2)在余下的数中,按步骤(1)进行,直到排序即可。

3、空桶排序

最好是知道要排列的数的大小范围,比如一列数为:3 ,4 ,2 ,6 ,8, 1,5

基本原理:

(1)定义一个足够大的空数组,如上例可定义:Dim a(1 to 10 )

(2)对数组进行赋值,必须是数组元素的值等于它的下标。上例为:a(3)=3、a(4)=4、a(5)=5…

(3)然后用循环从下标上界到下界输入即可,但如a(9)=0不能输出。即控制大于0就输出。

5.4 列表框和组合框控件

5.4.1 列表框

1、属性

属性 类型 说明 数组对应项

List 字符串数组 存放列表项目值,第一个下标为0 a

ListCount 整型 列表框项目总数,下标范围0~ListCount-1 UBound(a)+1

ListIndex 整型 选中项目的序号。 i

Text 字符型 选中项目的文本内容。 a(i)

注意:引用选定的内容的两种形式:

或(dex)

2、方法

方法形式 作用 说明

AddItem 字符串[,索引值] 把字符串加到指定索引值中,原有项目 m “ad”,0。将ad

退后;若无索引值,则加到最后一项。 加到第一项,原内容下移。

RemoveItem 索引值 从列表框删除由索引值指定的项目 Item 0。删除

Clear 清除列表框的所有项目内容

5.4.2 组合框

属性:Style属性值为0~2

Style=0(默认):下拉式组合框,由1个文本框和1个列表框组成。

Style=1:简单的组合框。

Style=2:下拉式列表框。没有文本框,只有列表框。

1、自定义类型的定义

形式为:Type 自定义类型名

元素名1 As 数据类型名

元素名n As 数据类型名

End Type

数据类型若为字符串,则必须使用定长字符串(好像没用也没事吧)

注意:自定义类型一般在标准模块中定义,若在代码窗口上面定义,前面加Private。

2、With 语句的使用

With 变量名

.元素名1

.元素名2

End With

第一项。

第六章 过程(****)

自定义过程有两种:

1、Sub过程:子过程无返回值。(不可赋值)

2、Function函数:函数名有返回值。(即可赋值)

6.1.2 函数过程的定义和调用

1、函数过程定义

形式:[Public|Private] Function 函数过程名([形参列表])[As 类型]

局部变量或常数定义

语句块

函数过程名=表达式

End Function

(1)Public 表示函数过程在同一工程的任何过程或窗体都可使用;Private 表示函数仅能在同一个窗体其他过程使用。

(2)形参列表:[ByVal|ByRef]形参名[()][As类型]

默认为ByRef,表示形参是地址传递;若为ByVal,则形参是值传递。

6.2.2 子过程的定义和调用

1、子过程的定义

形式:[Public|Private] Sub 子过程名([形参列表])

局部变量或常数定义

语句块

End Sub

注意:形参没有具体的值,仅表示参数的个数、位置和类型。

函数与过程的区别:

(1)两者可互换,若要返回值,则用函数;没有返回值,用过程。

(2)函数名有类型,在函数过程中必须对函数名赋值;过程名没有类型,不能在子过程中对过程名赋值。

2、子过程的调用

形式1:Call 子过程名[(实参列表)] ‘实参列表要加括号

形式2:子过程名 [实参列表] ‘实参列表不加括号

6.3.2 传地址和传值

1、ByVal传值:实参将其值传给形参,函数或过程对形参进行操作,但形参的改变不影响实参,即单向传递。

2、ByRef传地址:实参将其值传给形参,函数或过程对形参进行操作,实参会随形参的改变而改变,即双向传递。

3、传递方式的选择

(1)若要将被调过程中的结果返回给主程序,则用传地址方式;若要实参不变,则用传值。

(2)传值参数只接受实参的值,故实参应与传值参数同类型的表达式;传地址时,实参本身必须是同类型的变量名,不能是常量、表达式。

6.3.4 变量的作用域

变量的作用域分为局部变量、模块变量和全局变量。

1、局部变量(过程级变量)

在一个过程中,用Dim或Static语句声明的变量。只能在本过程使用。

2、模块级变量

在模块内、任何过程外用Dim、Private语句声明的变量,可被本模块的任何过程使用。

3、全局变量

在模块内用Public语句声明的变量,可在整个程序中使用。

6.3.5 静态变量

形式:Static 变量名[As类型]

与Dim的区别:用Dim声明的变量,每次调用过程时,上次调用时变量的值就会消失;用Static声明时,每次调用过程,变量会保持原来的值。

第七章 界面设计(**)

7.1 菜单设计

菜单都是通过“工具|菜单编辑器”设计。一般为下拉菜单,若想在某对象上单击鼠标右键弹出菜单,则可通过下列方法显示弹出式菜单:

[对象.]PopupMenu菜单名

例子:Sub Text1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)

If Button=2 Then PopupMenu FileMenu

End Sub

此过程表示在文本框1上单击鼠标右键时,在鼠标处弹出FileMenu菜单。

1表示鼠标左键,2表示鼠标右键。

7.2 对话框的设计

对话框分为通用对话框和自定义对话框。

7.2.1、通用对话框

通用对话框需要加载Microsoft Common Dialog Control 6.0部件。

弹出对话框有Action和Show两种方法。

通用对话框类型 Action Show

打开文件对话框 1 ShowOpen

另存对话框 2 ShowSave

颜色对话框 3 ShowColor

字体对话框 4 ShowFont

打印机对话框 5 ShowPrinter

帮助对话框 6 ShowHelp

说明:Action属性不能在属性窗口设置,只能在代码中赋值。

CancelError属性

此属性决定用户在弹出对话框中单击“取消”后是否产生错误警告,其值的意义如下:

(1)True:产生错误警告 (2)False:不产生错误警告

但一般都设置为True,采用以下程序结构:

On Error GoTo a ‘一旦出错转到a

Error=True ‘用户选择“取消”后产生错误警告

Exit Sub ‘退出过程

a:

MsgBox(提示内容)

7.2.2、自定义对话框

自定义对话框实质是一个没有最大化和最小化按钮、不能改变大小的窗体。

1、主要语句和方法

(1)Load语句

将一个窗体装入内存,可以引用窗体中的控件和各种属性,但窗体没有显示出来。

形式:Load 窗体名称

(2)Unload语句

将一个窗体从内存中删除。形式:Unload 窗体名称

常用Unload Me,即关闭窗体自己。

(3)Show 方法

显示一个窗体,具有加载和显示窗体两种功能,即包含了Load功能。

形式:[窗体名称.]Show

(4)Hide方法

将窗体隐藏,并没有从内存中删除,窗体中的控件和各种属性可以继续使用。

形式:[窗体名称.]Hide

2、与对话框的数据传递

(1)一个窗体直接访问另一个窗体上的数据

如:[Form1.]=

(2)一个窗体直接访问另一个窗体中定义的全局变量

形式:另一个窗体名.全局变量名

(3)在模块定义公共变量实现相互访问

添加模块Modulel,然后在其中定义变量语句为:

Public X As Single

7.3 工具栏设计

设计步骤:

1、加载Microsoft Windows Common Control 6.0部件,然后将ToolBar和ImageList控件放置在窗体上。

2、在ImageList1属性页选项卡中,通过“插入图片”插入图片。

3、在ToolBar1属性页中的图像列表下拉列表中选定ImageList1。

4、在ToolBar1属性页的按钮选项卡中,插入需要的按钮个数,并将每个按钮与相应的图片链接起来。

5、编写工具栏的事件过程。

第八章 数据文件(***)

1、顺序文件

3个特点:

(1)读写数据时要从头到尾读写

(2)各种类型的数据自动换成字符串后写入文件,可用记事本打开。

(3)一般按一行一行地读,也可一个字符一个字符地读。

1、打开文件

形式:Open 文件名 For模式 As [#]文件号

说明:

(1)“模式”有下列3种形式:

Output:写入文件,若文件已存在,则先清除文件再记录,不存在则新建。

Input:读取文件。

Append:在文件末尾追加记录。

(2)文件号是一个介于1~511之间的整数,一般自己指定一个较小的数即可。也可用FreeFile函数获得文件号。

形式为:FileNo=FreeFile()

Open “C:” For Output As FileNo

2、写操作

有2种方法,一般用Write语句。

(1)Write #文件号,[输出列表]

此法以紧凑式储存,在数据项间插入逗号,并给字符串类型的数据加上双引号。

(2)Print #文件号,[输出列表]

数据以一定空格分开,没有逗号和双引号。

3、读操作

(1)EOF(文件号)

判断是否到达文件末尾,若到达,返回True,否则返回False。

(2)LOF(文件号)

返回文件的字节数。若返回0,则是空文件。常用于随机文件。

(3)Input #文件号,变量列表

变量类型应与写入时的数据的类型一致。

(4)Line Input #文件号,字符串变量

与Input 的区别是:Input是将一行的多个数据赋值给多个变量;而Line Input则将

整行赋值给一个字符串变量。

4、关闭文件

形式:Close #[[#]文件号][,[#]文件号]…

所有文件的关闭形式相同。

2、二进制文件

访问单位为字节,即每次读写只能操作一个字节。

1、打开文件

形式:Open 文件名 For Binary As #文件号

2、写操作

形式:Put [#]文件号,[位置],变量名

3、读操作

形式:Get [#]文件号,[位置],变量名

3、随机文件

每一条记录都有记录号且长度全部相同,数据类型由Type语句定义的用户自定义类型。程序由以下4部分组成:

(1)定义记录类型及其变量

(2)打开随机文件

(3)进行读写操作

(4)关闭随机文件

1、打开随机文件

形式:Open 文件名 For Random As #文件号 [Len=每条的记录长度]

2、写操作

形式:Put [#]文件号,[记录号],变量名

注意:记录号是一个大于等于1的整数,若省略记录号,则在当前记录后写入记录。

3、读操作

形式:Get [#]文件号,[记录号],变量名

第九章 稍微看一下吧,注意画线、画点、画圆、颜色、线宽就好了。

第十章 应该不考吧。

本学期学过的重点程序:

1、求一段范围内的素数(P99)

2、求两个数的最小公约数和最大公倍数(P96)

3、求一元二次方程的根(最好能求虚根)

4、数组的排序

...

重点是4、5、6章,后面大题主要用到这三章内容。2、3、8基本理解并会用就行了。剩下的了解一下就差不多了吧。一切都是猜的,老师应该会说重点的,请静候佳音。

由于时间紧迫,错误和问题难免,恳请各位指正,不要批评了。 2016.6.15


本文标签: 属性 过程 窗体 对象 变量