vb难点与考点.docx
《vb难点与考点.docx》由会员分享,可在线阅读,更多相关《vb难点与考点.docx(23页珍藏版)》请在冰豆网上搜索。
![vb难点与考点.docx](https://file1.bdocx.com/fileroot1/2022-11/19/5416ec0c-8e7f-4d82-9747-6e92804131b1/5416ec0c-8e7f-4d82-9747-6e92804131b11.gif)
vb难点与考点
2011年计算机二级考试VB常见错误和难点分析
1.标点符号错误
在VB中只允许使用西文标点,任何中文标点符号在程序编译时产生“无效字符”错误,并在该行以红色字显示。
用户在进入VB后不要使用中文标点符号。
中、西文状态下标点号对照见下表所示。
中、西状态下标点符号对照
2.字母和数字形状相似
L的小写字母“l”和数字“1”形式几乎相同、O的小写字母“o”与数字“0”也难以区,这在输入代码时要十分注意,避免单独作为变量名使用。
3.对象名称(Name)属性写错
在窗体上创建的每个控件都有默认的名称,用于在程序中唯一地标识该控件对象。
系统为每个创建的对象提供了默认的对象名,例如,Text1、Text2、Command1、Label1等。
用户可以将属性窗口的(名称)属性改为自己所指定的可读性好的名称,如txtInput、txtOutput、cmdOk等。
对初学者,由于程序较简单、控件对象使用较少,还是用默认的控件名较方便。
当程序中的对象名写错时,系统显示“要求对象”的信息,并对出错的语句以黄色背景。
用户可以在代码窗口的“对象列表”框检查该窗体所使用的对象。
4.Name属性和Caption属性混淆
Name属性的值用于在程序中唯一地标识该控件对象,在窗体上不可见;而Caption属性的值是在窗体上显示的内容。
5.对象的属性名、方法名写错
当程序中对象的属性名、方法名写错时,VB系统会显示“方法或数据成员未找到”的信息。
在编写程序代码时,尽量使用自动列出成员功能,即当用户在输入控件对象名和句点后,系统自动列出该控件对象在运行模式下可用的属性和方法,用户按空格键或双击鼠标即可,这样既可减少输入也可防止此类错误出现。
6.变量名写错
用Dim声明的变量名,在后面的使用中表示同一变量而写错了变量名,VB编译时就认为是两个不同的变量。
例如,下面程序段求1~100的和,结果放在Sum变量中:
DimsumAsInteger,iAsInteger
Sum=0
Fori=1to100
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)紧凑格式”;“分号的使用
紧凑格式”;“,即输出项之间无间隔。
但对于数值型,输出项之间系统自动空一列,而由于数值系统自动加符号位,因此,大于零的数值,实际空两列。
对于字符型之间无空格。
例如,下面程序段,效果如图所示。
PrivateSubCommand1_Click()
Print1;-2;3
Print”1234“;”5678“
Print”A“;”B“;”C“;”D“,”E“,”F“
EndSub
从该例应区分数值和字符在紧凑格式输出的差异。
10.打开工程时找不到对应的文件
一般,一个再简单的应用程序也应由一个工程.vbp文件和一个窗体.frm文件组成。
工程文件
记录该工程内的所有文件(窗体.frm文件、标准模块.bas文件、类模块.cls文件等)的名称和所存放在磁盘上的路径。
若在上机结束后,把文件复制到U盘上保存,但又少复制了某个文件,下次打开工程时就会显示”文件未找到“。
也有在VB环境外,利用Windows资源管理器或DOS命令将窗体文件等改名,而工程文件内记录的还是原来的文件名,这样也会造成打开工程时显示”文件未找到“。
解决此问题的方法:
一是修改.vbp工程文件中的有关文件名;二是通过”工程“菜单的”添加窗体“中的”现存“选项,将改名后的窗体加入工程。
§1、VB的特点、运行环境、对象、属性、方法、事件各概念,尤其是方法和事件的区分。
熟悉VB的IDE,VB开发应用程序的一般步骤。
特点:
GUI(集成开发环境)、OLE(对象的连接和嵌入)、OOP(面向对象);
运行环境:
Windows(VB5.0以上在32位操作系统)
方法:
对象可以执行的动作或行为;(主动性)
事件:
使某个对象进入活动状态的一种操作或动作。
(被动性)
例题:
1、VB的使用目的是()。
A.开发Windows应用程序B.图象处理
C.制作WAV文件D.文字处理
2、一个对象可以执行的动作和可被对象识别的动作分别称为()。
A.方法、事件B.事件、方法C.方法、属性D.事件、属性
3、一只白色的足球被踢进球门,则白色、足球、踢、进球门是()。
A.属性、对象、方法、事件B.属性、对象、事件、方法
C.对象、属性、方法、事件D.对象、属性、事件、方法
§2、熟练应用窗体、控件。
掌握窗体的常用方法(Hide、Show、Print、Cls、Refresh、Move)、属性和事件(Load、Activate、Click)。
Load事件、Unload事件、End语句
常用控件:
CommandButton(Default、Cancel、Enabled、Style、
DisabledPicture、DownPicture)、Label(AutoSize)、TextBox(Alignment、MaxLength、PasswordChar、Multiline、ScrollBars注:
Multiline=True)、OptionButton(Value)、ListBox(属性:
list\listcount\listindex\selected、方法:
AddItem、RemoveItem、Clear)、ComboBox(P27)、HscrollBar、VscrollBar(min、Max、Value)、PictureBox(print方法)、Timer(运行时不可见、只有Timer事件、Interval)方法、属性、事件的掌握。
容器控件:
Form、Picture、Frame特殊控件:
菜单的使用(只响应Click事件)
1、以下窗体名中哪些是非法的窗体名()。
对象名命名规则:
以字母或汉字开头,后面可以是字母、数字、下划线、汉字。
(变量名类似)
A._aformB.3frmC.f_1D.frm5E.f_1*
2、一个名称为myfrm,标题属性为form1的窗体,它的单击事件名应为()。
A.myfrm_clickB.form1_click
C.form_clickD.me_click
3、执行下面语句:
print“5*20”的结果是()。
A.“5*20”B.出现错误信息C.5*20D.100
4、下列语句代码哪一些可正常执行(正常执行是指系统不给出出错提示);
A、Print32765+3B、Print5+7=14
C、Print256/128D、Print“14”+12E、Print“14”&12
5、以下使用方法的代码中,正确的是()。
A、Label1.SetfocusB、Form1.Clear
C、Text1.SetFocusD、Combo1.Cls
6、在程序中可以通过复选框和单选按钮的()属性值来判断他们的当前状态。
A.CaptionB.ValueC.CheckedD.Selected
7、将复选框的Value属性设为“2”,其效果与把它的Enabled属性设为“False”有何异同?
若把一个控件的Visible属性设为“False”,意味着什么?
8、当用户单击命令按钮时,()属性可以使得命令按钮对激发事件无效。
A.NameB.EnabledC.DefaultD.Cancel
9、在文本框Text1和Text2中分别输入35与48,变量S与X分别为字符型与整型,以下赋值语句的执行结果是什么?
s=Text1.Text+Text2.Textx=Text1.Text+Text2.Text
s=Text1.Text&Text2.Textx=Text1.Text&Text2.Text
s=Val(Text1.Text)+Text2.Text
x=Val(Text1.Text)+Text2.Text
s=Val(Text1.Text)&Text2.Text
x=Val(Text1.Text)&Text2.Text
1、下列模块中哪个是一个工程必须具备的()。
A.窗体模块B.标准模块C.类模块D.用户自定义模块
2语言基础
一、书写规范:
“:
”间隔符号、续行符号“_”、注释符号“’”
二、数据:
数据类型、关键字、存储单位、初值。
数值常量&O(8)&H(16)
字符常量“”命名规则局部Dim/Static
常量逻辑常量变量作用域窗体/模块Dim/Private
日期常量#月/日/年#全局(共有)Public
例如:
1、在窗体或标准模块的通用声明处可以用_______语句定义变量。
A.Dim、RedimB.Dim、Static
C.Dim、Private、PublicD.Dim、Private、Static
注意:
在窗体和类模块中,不能将定长字符串、符号常量、数组用Public来定义。
隐式说明的六个符号:
%、&、!
、#、@、$
例:
m1&=5*x%\3+x%mody%和m1&=“5*x%\3+x%mody%”的正确性
OptionExplicit语句功能:
强制变量的声明
例题:
1、下列字符串中()是合法变量
A.char_1,student,no,a1234B.exp,12