VB复习要点Word格式文档下载.docx

上传人:b****3 文档编号:8008576 上传时间:2023-05-09 格式:DOCX 页数:39 大小:55.72KB
下载 相关 举报
VB复习要点Word格式文档下载.docx_第1页
第1页 / 共39页
VB复习要点Word格式文档下载.docx_第2页
第2页 / 共39页
VB复习要点Word格式文档下载.docx_第3页
第3页 / 共39页
VB复习要点Word格式文档下载.docx_第4页
第4页 / 共39页
VB复习要点Word格式文档下载.docx_第5页
第5页 / 共39页
VB复习要点Word格式文档下载.docx_第6页
第6页 / 共39页
VB复习要点Word格式文档下载.docx_第7页
第7页 / 共39页
VB复习要点Word格式文档下载.docx_第8页
第8页 / 共39页
VB复习要点Word格式文档下载.docx_第9页
第9页 / 共39页
VB复习要点Word格式文档下载.docx_第10页
第10页 / 共39页
VB复习要点Word格式文档下载.docx_第11页
第11页 / 共39页
VB复习要点Word格式文档下载.docx_第12页
第12页 / 共39页
VB复习要点Word格式文档下载.docx_第13页
第13页 / 共39页
VB复习要点Word格式文档下载.docx_第14页
第14页 / 共39页
VB复习要点Word格式文档下载.docx_第15页
第15页 / 共39页
VB复习要点Word格式文档下载.docx_第16页
第16页 / 共39页
VB复习要点Word格式文档下载.docx_第17页
第17页 / 共39页
VB复习要点Word格式文档下载.docx_第18页
第18页 / 共39页
VB复习要点Word格式文档下载.docx_第19页
第19页 / 共39页
VB复习要点Word格式文档下载.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB复习要点Word格式文档下载.docx

《VB复习要点Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VB复习要点Word格式文档下载.docx(39页珍藏版)》请在冰点文库上搜索。

VB复习要点Word格式文档下载.docx

和数字"

l"

形式几乎相同、O的小写字母"

与数字"

0"

也难以区,这在输入代码时要十分注意,避免单独作为变量名使用。

3.对象名称(Name)属性写错

在窗体上创建的每个控件都有默认的名称,用于在程序中唯一地标识该控件对象。

系统为每个创建的对象提供了默认的对象名,例如,Text1、Text2、Command1、Label1等。

用户可以将属性窗口的(名称)属性改为自己所指定的可读性好的名称,如txtInput、txtOutput、cmdOk等。

对初学者,由于程序较简单、控件对象使用较少,还是用默认的控件名较方便。

当程序中的对象名写错时,系统显示"

要求对象"

的信息,并对出错的语句以黄色背景云。

用户可以在代码窗口的"

对象列表"

框检查该窗体所使用的对象。

4.Name属性和Caption属性混淆

Name属性的值用于在程序中唯一地标识该控件对象,在窗体上不可见;

而Caption属性的值是在窗体上显示的内容。

5.对象的属性名、方法名写错

当程序中对象的属性名、方法名写错时,VB系统会显示"

方法或数据成员未找到"

的信息。

在编写程序代码时,尽量使用自动列出成员功能,即当用户在输入控件对象名和句点后,系统自动列出该控件对象在运行模式下可用的属性和方法,用户按空格键或双击鼠标即可,这样既可减少输入也可防止此类错误出现。

6.变量名写错

用Dim声明的变量名,在后面的使用中表示同一变量而写错了变量名,VB编译时就认为是两个不同的变量。

例如,下面程序段求1~100的和,结果放在Sum变量中:

DimsumAs 

Integer,iAsInteger

Sum=0

For 

=1 

to100

Sum=Sun+i

Nexti

PrintSum

显示的结果为100。

原因是累加和表达式Sum=Sun+i中的右边的变量名Sum写成Sun。

VB对变量声明有两种方式,可以用变量声明语句显式声明,也可以用隐式声明,即不声明直接使用。

上述变量名的写错,系统为两个不同的变量各自分配内存单元,造成计算结果不正确。

因此,为防止此类错误产生,必须对变量声明采用限制其为显式声明方式,也就是在通用声明段加OptionExplicit语句。

7.语句书写位置错

在VB中,除了在"

通用声明"

段利用Dim等对变量声明语句外,其他任何语句都应在事件过程中,否则运行时会显示"

无效外部过程"

若要对模块级变量进行初始化工作,则一般放在FormLoad()事件过程中。

8.无意形成控件数组

若要在窗体上创建多个命令按钮,有些读者会先创建一个命令按钮控件,然后利用对该控件进行复制、粘贴,这时系统显示:

已经有一个控件为"

Command1"

创建一个控件数组吗?

的信息,若单击"

是"

按钮,则系统创建了名称为Command1的控件数组。

若要对该控件的Click事件过程编程,系统显示的框架是:

PrivateSubCommand1_Click(IndexAsInteger)

EndSub

Index表示控件数组的下标。

若非控件数组,Click事件过程的框架是:

PrivateSubCommand1_Click()

EndSub

请注意直到学习第四章数组前,一律不使用控件数组。

9.Print方法中定位问题

定位通过Tab、Spc函数和最后的逗号、分号和无符号来控制。

VB中通过Print方法中各参数的综合使用达到所需的结果,但初学者往往难以掌握。

(1) 

Tab(n)与Spc(n)的区别

Tab(n)从最左第1列开始算起定位于第n列,若当前打印位置已超过n列,则定位于下一行的第n列,这是常常定位不好出现的问题。

在格式定位中,Tab用得最多。

Spc(n)从前一打印位置起空n个空格。

例如,下面程序段显示了Tab与Spc的区别,效果如图所示。

PrivateSubCommandl_Click()

Print"

1234567890”,

PrintTab

(1);

**"

Tab

(2);

%%%"

spc

(2);

$$$$"

EndSub

(2)紧凑格式"

分号的使用

紧凑格式"

,即输出项之间无间隔。

但对于数值型,输出项之间系统自动空一列,而由于数值系统自动加符号位,因此,大于零的数值,实际空两列。

对于字符型之间无空格。

例如,下面程序段,效果如图所示。

Print1;

-2;

3

Print"

1234"

5678"

A"

B"

C"

D"

"

E"

F"

从该例应区分数值和字符在紧凑格式输出的差异。

10.打开工程时找不到对应的文件

一般,一个再简单的应用程序也应由一个工程.vbp文件和一个窗体.frm文件组成。

工程文件记录该工程内的所有文件(窗体.frm文件、标准模块.bas文件、类模块.cls文件等)的名称和所存放在磁盘上的路径。

若在上机结束后,把文件复制到软盘上保存,但又少复制了某个文件,下次打开工程时就会显示"

文件未找到"

也有在VB环境外,利用Windows资源管理器或DOS命令将窗体文件等改名,而工程文件内记录的还是原来的文件名,这样也会造成打开工程时显示"

解决此问题的方法:

一是修改.vbp工程文件中的有关文件名:

二是通过"

工程"

菜单的"

添加窗体"

中的"

现存"

选项,将改名后的窗体加入工程。

第二章 

VB语言基础和顺序结构

2.1 

1.VB程序的书写规则

VB代码书写规则

1)程序中不区分字母的大小写,Ab与AB等效;

2)系统对用户程序代码进行自动转换:

● 

对于VB中的关键字,首字母被转换成大写,其余转换成小写

若关键字由多个英文单词组成,则将每个单词的首字母转换成大写

对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成首次定义的形式

(2) 

语句书写规则

1) 

在同一行上可以书写多行语句,语句间用冒号(:

)分隔

2) 

单行语句可以分多行书写,在本行后加续行符:

空格和下划线 

3) 

一行允许多达255个字符

(3) 

程序的注释方式

整行注释一般以Rem开头,也可以用撇号'

用撇号'

引导的注释,既可以是整行的,也可以直接放在语句的后面,最方便;

3)可以利用“编辑”工具栏的“设置注释块”、“解除注释块”来将设置多行注释。

2.VB提供的数据类型

VB提供了丰富的数据类型(见教程表1.3.1),每种数据类型有关键字或类型符表示,不同的数据类型占用不同的存储空间,用户可根据实际问题的需要使用合适的类型。

除此数据类型外,VB还提供了构造类型,即数组和用户自定义类型(相当于记录类型)。

3.变量和常量

(1)变量

变量的命名规则:

☆ 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度≤255个字符;

☆不能使用VB中的关键字,并尽量不与VB中标准函数名同名;

如:

Dim、Sin

☆VB中不区分变量的大小写,一般变量首字母用大写,其余用小写;

常量全部用大写字母表示

☆为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。

变量的声明:

有利用Dim等声明语句或类型符声明各种类型的变量,也可以不声明直接使用具有Variant变体类型的变量。

为使程序运行安全、可靠,对使用的变量还是利用显式声明为好。

变量的初值:

系统默认数值型变量为零、字符型变量为空(…Q),对象变量为Nothing。

(2)常量

在VB中,常量有三类,分别为:

·

直接常量,例如,1、1.23、&

Hab、0.123El、"

1234asd"

、#2000/5/5#、True、False。

用户自定义常量,例如,ConstPI=3.14159。

VB系统提供的常量,例如,vbEmpty、vbInteger、vbNormal。

4.运算符及优先级

算术运算符 

-、^、*或\、/、Mod、+或- 

由高到低

字符运算符 

+或&

同级

关系运算符 

=、>

、>

=、<

、<

>

、Is、Like 

逻辑运算符 

Not、And、Or、Xor、Eqv、Imp 

高到低

5.表达式书写及值的类型

书写规则:

从左到右在-行上书写,无高低区分:

表达式中的运算符可以用圆括号括起,以改变运算的优先级或增加表达式的消蜥度。

不能使用方括号或花括号,圆括号可以出现多个,但要配对。

值的类型:

在算术表达式中,出现不同的数据类型,向精度高的数据类型转换。

6.常用函数

VB中提供了丰富的函数,教程中按算术、字符串、日期和时间、转换,格式等分类列出了一些常用的函数,对函数完整的形式和使用举例参阅VB帮助。

查阅的方法一般有两种:

对已知函数名,选中函数名,按F1键:

未知函数名,进入VB帮助后,通过"

目录"

选项卡,选择"

VisualBasic文档"

目录,再选择"

参考"

下的"

语言参考"

函数"

7.赋值语句

赋值号"

="

左边只能是变量;

一次只能对一个变量赋值。

8.与用户交互函数和过程

InputBox函数和MsgBox函数或过程。

2.3 

1.逻辑表达式书写错,在VB没有造成语法错而形成逻辑错

例如,要将数学上表示变量x在一定数值范围内如3≤x<10,以VB的逻辑表达式表示,有的读者写成的VB表达式为:

3<

=x<

10

此时在其他语言中将产生语法错,而在VB中不产生语法错,程序能运行,但不管x的值为多少,表达式的值永远为True,这造成程序能正常运行的假象,其结果是不正确的。

因为在VB中,当两个不同类型的变量或常量参加运算时,有自动向精度高的类型转换的功能。

例如,逻辑常量Tme转换为数值型的值为-1,False为0;

反之数值型非0转换为逻辑型的值为True,0为False。

同样数字字符与数值运算,转换为数值型。

例如,语句 

PrintTrue+3 

'

显示的结果是2

123"

+100 

显示的结果是223

Print#5/1/2000#+3 

显示的结果是00-5-4

根据此原因,表达式:

3<

=x 

(1)

(2)

值的计算过程是:

首先根据x的值计算3<

=x,结果总为True或False;

然后该值(-1或0)与10比较永远为True。

正确的VB表达式书写为:

=xAndx<

2.同时给多个变量赋值,在VB没有造成语法错而形成逻辑错

例如,要同时给x,y,z三个整型变量赋初值1,有的读者写成如下赋值语句:

x=y=z=1

在C语言中,上述语句是可以实现同时对多个变量赋值,而在VB中规定一句赋值语句内只能给一个变量赋值,但上述语句并没有产生语法错,运行后x,y,z中的结果均为0。

原因是VB将y=z=1作为一个表达式,再将表达式的结果赋值给x。

在VB中默认数值型变量的初值为0,根据上面错误1的分析类推,因此表达式y=z=l的结果为0,所以x赋得的值为0、y、z变量的值为默认值o。

3.标准函数名写错

VB提供了很多标准函数,如IsNumeric()、Date()、LeR()等。

当函数名写错时,如将IsNumeric写成IsNummeric,系统显示"

子程序或函数未定义"

,并将该写错的函数名选中提醒用户修改。

[提示]

如何判断函数名、控件名、属性、方法等是否写错,最方便的方法是当该语句写完后,按Enter键,系统把被识别的上述名称自动转换成规定的首字母大写形式,否则为错误的名称。

4.数据合法性检查中引起程序的死循环

在数据输入时,经常需要对输入的数据作合法性检查,以确保程序运行的正确性。

如在实验:

第1题中,对输入的温度要求是数字,否则删除原输入的内容,焦点仍定位于文本柜。

有关属性设置见下表,界面如图2.2.2所示,程序段如下。

表2.2.1 

控件有关属性

有关控件名 

TabIndex

Text1 

2

Text2 

3

Command1 

4

5

PrivateSubText1_LostFocus()

IfNotIsNumeric(Text1)Then

Text1="

Text1.SetFocus

EndIf

EndSub

PrivateSubText2_LostFocus()

IfNotIsNumeric(Text2)Then

Text2="

Text2.SetFocus

当华氏温度(Text1)输入错时,焦点在Text2处不停地闪动,程序产生死循环。

原因是当Textl输入结束按Tab键,激发TextlLostFocus事件,焦点已到Text2;

但当判断Textl文本框输入数据错时,执行Textl.SetFocus,使焦点从Text2拉回到Textl;

而又激发Text2_LostFocus事件,此时并没有判断Text2文本框输入数据错,又执行Text2.SetFocus,使焦点从Text1拉回到Text2,如此交错造成死循环。

而当摄氏温度(Text2)输入错时,程序正常运行。

因为当Text2输入结束按Tab键,焦点已到Commanl,因此不会产生死循环。

解决Text1输入错时死循环的问题,只要把PrivateSubText2_LostFocus()事件的If表达式IfNotIsNumeric(Text2)Then改为:

IfText2<

AndNotisNumeric(Text2)Then即可。

5.如何终止死循环

当编写程序时考虑不周到,产生死循环(尤其使用第四章介绍的循环结构)时,只要同时按Ctrl+Break键就町终止死循环,找出死循环的原因,修改程序。

6.声明局部变量和窗体级变量的问题

在VB程序中,除了大量的控件对象外,还要使用一些变量,暂时存放一些中间结果。

这些变量的声明可以放在过程外的"

段(称为窗体级变量,在教程的3.7.4节介绍),也可以放在过程中(称为局部变量),怎样安置这些变量,初学者觉得有点头疼。

两者区别:

窗体级变量在本窗体的所有过程中均可使用:

而局部变量仅在变量所在的过程中可使用,也即随着本过程的执行而分配存储空间,当执行到EndSub语句,分配的内存空间回收,变量的值也丢失。

具体对实验二第2题来说,在方法一中窗体内有四个过程,共同要用到三个变量a,b,c,因此这些变量的声明应在"

段,否则Click事件过程中a,b,c变量的值为零。

在方法二中只有一个事件过程,变量a,b,c作为过程级变量声明,当然声明与窗体级变量效果相同。

方法一:

方法二:

Dimag,b#,c# 

Pfiv~eSubForm-Click()

PrivateSubTextl_LostFocus() 

Dima#,b#,c#

… 

对变量a赋值 

用到变量a,b,c

EndSub 

对变量b赋值

PrivateSubText3_LostFocus()

对变量c赋值

PrivateSubCommand1_Click()

7.在FormLoad事件中,SetFocus方法不起作用

原因同Print方法,因为系统在窗体装入内存时无法同步地用SetFocus方法定位控件的焦点。

解决的方法在属性窗口对要定位焦点的控件将其Tablndex值设置为。

就可。

8.程序运行时对多个文本框间焦点移动的问题

方法-:

按"

Tab"

键。

这时可不必编程,直接利用系统提供的功能方便地在各控件之间移动。

若要确定离开或进入了哪个控件,则利用"

控件LostFocus'

或"

控件_GotFocus'

事件进行判断。

方法二:

回车"

这时必须通过KeyPress事件编程宋实现,有关程序段如下:

PrivateSub某文本框_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then

另一控件.SetFocus

第三章 

选择结构

3.1 

1.单边IF语句的两种格式和使用

(1)If<

表达式>

Then 

(2)If<

Then<

语句>

语句块>

EndIf

其中,表达式可以是任何表达式,即算术、字符、关系和逻辑表达式,按表达式的值非。

为True,0为False来判断。

多行的IF必须与EndlF配对;

单行格式没有EndIf关键字。

2.双边IF语句的两种格式和使用

语句1>

Else<

语句2>

语句块1>

Else

语句块2>

3.多边IF语句的格式和使用

If<

表达式1>

Then

ElseIf<

表达式2>

[Else

语句块n+1>

]

ElseIf之间不能有空格。

4.IF语句的嵌套和使用

 

If<

表达式11>

区分嵌套的层次方法,每个Endlf与它上面最接近的If配对。

书写为锯齿形,便于区分和配对。

5.情况语句SelectCase的格式和使用

格式:

SelectCase<

变量或表达式,

Case<

表达式列表1>

表达式列表2>

[CaseElse

EndSelect

其中,<

变量或表达式>

只能是对一个变量进行多种情况的判断;

<

表达式列表i>

中不能山现"

变量或表达式"

中出现的变量。

6.条件测试函数的形式和使用

IIf(<

条件表达式>

,当条件为True时的值,当条件为False时的值)

Choose(<

数字类型变量>

,值为1的返回值,值为2的返回值…)

Switch(<

条件表达式1>

,条件表达式1为True时的值

[,<

条件表达式2>

,条件表达式2为True时的值…])

3.3 

1.在选择结构中缺少配对的结束语句

对多行式的If块语句中,应有配对的EndIf语句结束。

否则,在运行时系统会显示"

块If没有EndIf"

的编译错误。

同样对SelectCase语句也应有与其相对应的EndSelect语句。

2.多边选择ElseIf关键字的书写和条件表达式的表示

多边选择ElseIf子句的关键字ElseIf之间不能写有空格,即不能写成ElseIf。

在多个条件表达式的表示时,应从最小或最大的条件依次表示,以避免条件的过滤。

例如,已知输入某课程的百分制成绩mark,要求显示对应五级制的讦定,评定条件如下:

有以下几种表示方式,语法上都没有错,但执行后结果有所不同,请读者分析哪些正确?

哪些错误?

下面给出的答案中,方法一、二、五正确,其余错误,请读者分析各自的原因。

方法一:

方法三:

Ifmark>

=90Then 

Ifmark<

60Then 

Ifmark>

=60Then

优"

不及格"

及格"

ElseIfmark>

=80Then 

ElseIfmark<

70Then 

ElseIfmark>

=70Then

良"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2