VB资料及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程作业
第一章VB基础知识
1 填空题
(1)在代码中设置属性,格式为。
(2)调用对象方法的格式为:。
(3)VB中的控件有三种类型,分别是。
(4)窗体文件的扩展名为。
(5)当完成完成的全部文件后,通过编译工程可以将此工程转换成。
(6)在窗体上复制控件,如果复制的控件名称相同,系统会出现一个是否创建的对话框。
2 编程题
(1)窗体上放置一个标签,通过单击窗体,使标签内容改变为“窗体被单击”,双击窗体时,标签内容为“窗体被双击”
(2)编写一个程序,要求用单击命令按钮要显示或隐藏标签或文本框。
第二章VB语言基础
1 填空题
(1)VB中有两种类型的字符串;分别是变长字符串与。
(2)定义aa 为一个10个字符的字符串,使用语句。
(3)对象变量赋值,必须使用关键字。
(4)要强制使用变量声明,使用语句。
(5)使用语句声明公有的模块级变量。
(6)为了建立建立应用程序都有效的变量,应该在进行变量声明。
(7)在VB中,对于没有声明的变量,其默认的数据类型是。
(8)如果今天是星期五,那么print weekday(now())输出的结果是。
(9)输入对话框inputbox的返回值的数据类型是:。
(10)msgbox 函数提供了3个参数,它们是。
2 写出下列表达式的值
(1)(2+8*3)/2 (2)3^2+8
(3)#11/22/06# -10 (4)”zyx”&”123”&”abc”
3 写出下列函数的值
(1)int(-3.14159)(2)sqr(64)(3)fix(-3.14) (4)ABS(-50.76)(5)VAL(“A123”) (6)Format(Str(123.567), "0.00")(7)LEFT(“HELLO”,2) (8)LEN(“远程教育”)
4 如果X是正实数,对X的第4位小数四舍五入的表达式是()(1)0.001 * Int(1000 * (x + 0.0005)) (2)0.01 * Int(100 * (x + 0.005))
(3)0.001 * Int( (x + 0.0005)) (4)0.001 * Int (x + 0.005)
第三章顺序结构程序设计
1 填空题
(1)使用方法可以将信息直接输出到窗体或者picturebox中。
(2)控制窗体或者标签的背景色与前景色,可能过属性与属性完成。
(3)程序中要将label1的标题改为“开始”,使用的语句是:。
(4)为了使标签能够自动调整以适应内容的多少,必须将标签的属性设置为true?
(5)为了使caption属性有内容自动换行并垂直扩充,要将标签的属性设置为true?(6)卸载窗体可以使用语句完成?
(7)文本框控件显示的文本通过属性控制?
(8)要将文本框text1的内容设置为只读,可使用语句:完成。
(9)在设计程序时改变文本框的属性与属性,可使文本框显示多行并且出现滚动条?(10)当文本框的内容发生改变时,会触发事件?(11)当控件得到焦点时触发事件,失去焦点时触发事件?
(12)程序执行时,将焦点停在text1上,可在窗体的activate事件中写入代码:。
(13)设置控件的属性,改变控件接收焦点的顺序。
(14)文本框的属性,设置所选择文本框的起始点,属性设置或者返回所选择的字符数?这二个属性只能程序代码完成。
(15)使用函数显示一个接受用户输入的对话框。
(16)设置窗体frm1成为有模式对话框,使用的语句是:。
2 编程题P64页3.3
第四章选择结构程序设计
1 填空题
(1)使用函数可以实现比较简单的选择结构。
(2)设置时钟控件的属性,指定了两个timer事件之间的毫秒数。
(3)关闭计时器timer1,使用的语句是。
(4)要将选项按钮设计成图形按钮的形式,要将该选项按钮的属性设置为1-graphical?
(5)复选框的状态由其属性决定?
2 选择题
(1)“x是小于100的非负数”,用VB表达式表示正确的是()(A)0≤x<100(B)0<=x<100(C)0<=x and x<100 (D)0<=x or x<100
(2)要将复选框做成图形(即按钮)方式,需要改变复选框的()属性
(A)downpicture (B)picture (C)style (D)tooltiptext
(3)下边控件中哪个控件是不可见控件()?
(A)选项按钮(B)文本框(C)框架(D)
时钟
(4)时钟控件仅有一个事件,其事件名为()?
(A)initialize (B)unload (C)timer (D)click
(5)执行print IIF(len(“abc”)>4,”A”,”B”)输出的结果是()(A)语句错误,不能输出(B)B (C)A (D)3
3 根据所给条件,列出表达式
(1)闰年的条件是:年号(year)能被4整除,但不能被100整除,或者能被400整除。
(2)一元二次方程ax2+bx+c=0有实根的条件是:A不等于0,并且b2-4ac大等于0
(3)征兵的条件是:男(sex),年龄(age)在18-20岁间,身高(size)在1.65m以上;或者女,年龄在16到18间,身高在1.60m以上。
4 编写程序
(1)如果要实现在关闭窗体前询问是否关闭,选择“是”,关闭窗体,选择“否”,不关闭窗体,请写出事件名及程序代码。
必须将程序放在queryunload事件中。
(2)使用select case语句,完成:输入学生成绩x,评定其等级。
方法是:90-100分为“优秀”,80-89分为“良好”,70-79分为“中等”,60-69分为“及格”,60分以下为“不及格”,写出主要程序语句。
(3)如果要限制2个文本框控件数组text1, text2,只能输入数字,而不能接受其他字符输入,写出事件过程及程序代码。
(4)设计一个倒计时程序,通过单选按钮选择计时时间(默认为1分钟),要求1)单击“计时开始”按钮,进行倒计时;2)在标签中显示计时情况,计时结束后在标签中显示“时间到”;3)单选按钮与“计时开始”按钮在计时后被禁用,直到计时结束后才能使用,运行效果如图4-1
图4-1
第五章循环结构程序设计
1 填空题
(1)Do …loop循环中使用跳出循环。
(2)对于数组或者集合中的每一个元素重复循环体,而不知道集合中有多少个元素,适合使用循环。
(3)下边程序运行的结果是。
s = 0: t = 0: u = 0
For i = 1 To 3
For j = 1 To i
For k = j To 3
s = s + 1
Next k
t = t + 1
Next j
u = u + 1
Next i
Print s; t; u
(4)程序运行时单击command1后,输入12345678,写出窗体上输出的结果是
Dim x As Long, y As String
x = InputBox("输入一个数")
Do While x <> 0
y = y & x Mod 10
y = x \ 10 Mod 10 & y
x = x \ 100
Print y
Loop
(5)返回列表框中选取项的个数,使用的属性是。
(6)向列表框中添加数据,使用方法。
2 编程题
(1)P105例5-10(2)P103例5-9
第六章数组
1 填空题
(1)如果没有使用1语句,则缺省的数组下限为0。
(2)当改变数组大小而又想不打丢失数组中的数据,在使用redim 语句中要使用。
(3)下面的程序完成对一维数组的倒置(假设数组a(i)已经赋值,n是数组元素个数),请填空:
for i=1 to n/2
t=a(i)
a(i)=a(n-i+1)
next
(3)有数组a(i)(I=1,2,…10 ),求a(i)中最大元素及其下标
max=a(1)
for I=2 to 10
if a(i)>max then
end if
next
print “数组中最大元素是”&max &”其下标为”&p
(4)编程求某班60个同学某门课程考试平均成绩及高于平均成绩的学生人数,数据的输入是通过inputbox来实现的,程序为:
const num=60
dim a(num) as integer,aver as single,n as integer
sum=0
for I=1 to num
a(i)=val(inputbox(“输入第(”&I&”)个学生的成绩”))
next I
aver=sum/num
n=0
for I=1 to num
next
print “全班平均成绩:”&aver &”共有”&n &”个同学的成绩高于平均成绩”
(5)选择法排序是从n个数(放在a(n)中)选出最小的数,与第一个数交换位置,除第1个数外,其余n-1个数中选最小的数,与第2个数交换位置;依此类推,选择了n-1次后,这个数列已经按升度排列,主要程序为:
for I=1 to n-1
p=I
for j=I+1 to n
next j
tmp=a(i)
a(i)=a(p)
a(p)=tmp
next I
2 编程题
简易计算器,如图6-1所示
图6-1
1)在窗体上增加一个框架frame1,选中框架1,在其中增加一text1、两个命令按钮组command1(0)…command1(10)与command2(0)到command(4),按图6-1设置命令按钮组的caption属性
2)在通用模块中声明变量
Dim v As Boolean '是否第一次按运算符
Dim s As Integer '存放上次按的运算符
Dim x As Double '存放第1个操作数
Dim y As Double '存放第2个操作数
3)编写数字类命令按钮组command1()的click事件
4)编写运行付类命令按钮command2()的click代码
第七章过程
1 填空题
(1)VB中的过程包括有过程与过程。
(2)在定义通用过程时,缺省状态下所有模块中的子过程为public,如果选用,则只有该过程所在的模块中的程序才能调用该过程。
(3)传递参数时,默认的方式是传递。
(4)调用通用过程add(5,6)时,使用的语句是call add(5,6)或者add 5,6。
(5)一个控件的事件过程将控件的、下画线与事件名组合起来。
(6)下边是计算任意整数n的阶乘的function过程fact
function fact(x as integer) as long
dim p as long,I as long
p=1
for I=1 to x
next I
end function
第八章变量与过程的作用范围
1 填空题
(1)VB中代码存储在3种不同的模块中:窗体模块、与类模块。
(2)窗体保存在扩展名为的文件中。
(3)根据变量声明的位置,就是分两类:与。
(4)声明x为私有的模块级变量,其数据类型为整型,使用的语句为:。
(5)可以使用语句创建用户自定义的类型,该语句必须置于模块的声明部分。
2 编程题P178页例8-9
第九章文件管理
1 填空题
(1)窗体上增加公用对话框cmdlg1,要显示“打开”对话框,使用的语句是:。
(2)使用公用对话框的属性,设置显示文件的类型。
(3)访问c:\a.txt文件,读取其中的内容,打开该文件的语句为:。
(4)随机文件的打开,其语句是:。
(5)VB提供了新的,使用它能够建立、改变、移动、删除文件与文件
夹。
(6)改变当前的驱动器为e:,使用的语句是:。
(7)改变当前的目录为d:\abc,使用的语句是:。
(8)目录列表框的。
属性,用于返回或者设置当前的路径。
2 编程题
(1)P188,例9-2
(2)编程将一文本文件my.txt的内容读到文本框text1中
第十、十一章菜单与工具栏、绘图
1 填空题
(1)菜单一般分两种:。
(2)VB下拉式菜单最多可达层。
(3)VB菜单设计器中“复选”,其作用是:。
(4)在设计菜单时,为了创建分隔栏,要在中输入单连字符(-)。
(5)已经定义了弹出式菜单mypop,要显示此菜单,需要使用的语句是:。
(6)菜单编辑器中,同层次的设置为相同,才可以设置索引值。
(7)菜单项可以响应的事件过程为。
(8)用户可以通过设置菜单项的属性值为false来使该菜单项不可见。
(9)用户可以设置菜单项的属性为false使该菜单项失效。
(10)VB提供了两种绘图方式,一种是使用,而另一种是使用。
(11)运行时向窗体form1加载一幅图片(图片文件为d:\a.gif),使用的语句为:。
(12)设置对象的属性可以改变坐标系统的单位。
(13)滚动条主要的事件有事件与事件。
第十二章数据库功能
已知有一个access数据库k1.mdb与要建立的应用程序在同一文件夹下,k1.mdb中有一个名为b1的表,表中的字段名与数据类型如下:
(1)数据表是由多列多行构成的集合、每列称为一个,每行称为一条。
(2)VB中可以使用的数据访问接口有3种,分别是。
(3)Access数据库的扩展名是。
(4)从b1中查询“基本工资”大于2600元的语句是:。
(5)为b1中插入编号为“150”,姓名为“赵六”,性别为“女”,基
本工资为2000元的记录,相应的SQL语句为:或者:。
(6)通过连接对象的方法,可对连接执行各种操作。
(7)指示当前记录指针位置是否位于首记录前,使用记录集的BOF属性;指示是否位于末记录尾,使用记录集的属性。
(8)通过记录集的方法,可以为可更新的记录集对象创建一条新的空记录。
(9)保存对当前记录的修改,可以通过记录集的update方法完成。
(10)建立连接对象cnn,要通过命令打开到数据源的连接,连接到当前工程目前下的k1.mdb,语句为:或者是:。
课程作业答案
第一章VB基础知识
1 填空题
(1)在代码中设置属性,格式为__对象.属性名=值。
(2)调用对象方法的格式为:对象名.方法名。
(3)VB中的控件有三种类型,分别是内部控件、ActiveX控件与可插入对象。
(4)窗体文件的扩展名为FRM
(5)当完成完成的全部文件后,通过编译工程可以将此工程转换成可执行文件exe。
(6)在窗体上复制控件,如果复制的控件名称相同,系统会出现一个是否创建控件数组的对话框。
2 编程题
(1)窗体上放置一个标签,通过单击窗体,使标签内容改变为“窗体被单击”,双击窗体时,标签内容为“窗体被双击”
答案:
Private Sub Form_Click()
Label1.Caption = "窗体被单击"
End Sub
Private Sub Form_DblClick()
Label1.Caption = "窗体被双击"
End Sub
(2)编写一个程序,要求用单击命令按钮要显示或隐藏标签或文本框。
Private Sub Command1_Click()
Label1.Visible = Not Label1.Visible
End Sub
第二章VB语言基础
1 填空题
(1)VB中有两种类型的字符串;分别是变长字符串与__定长字符
串。
(2)定义aa 为一个10个字符的字符串,使用语句dim aa as string*10
(3)对象变量赋值,必须使用关键字set 。
(4)要强制使用变量声明,使用语句option explicit。
(5)使用public语句声明公有的模块级变量。
(6)为了建立建立应用程序都有效的变量,应该在标准模块中进行变量声明。
(7)在VB中,对于没有声明的变量,其默认的数据类型是variant。
(8)如果今天是星期五,那么print weekday(now())输出的结果是4。
(9)输入对话框inputbox的返回值的数据类型是:字符串。
(10)msgbox 函数提供了3个参数,它们是提示信息、按钮类型、标题。
2 写出下列表达式的值
(1)(2+8*3)/2 (2)3^2+8
(3)#11/22/06# -10 (4)”zyx”&”123”&”abc”
答案:(1)13 (2)17 (3)#2006-11-12# (4)zyx123abc 3 写出下列函数的值(1)int(-3.14159) (2)sqr(64)
(3)fix(-3.14) (4)ABS(-50.76)
(5)VAL(“A123”) (6)Format(Str(123.567), "0.00")
(7)LEFT(“HELLO”,2) (8)LEN(“远程教育”)答案:(1)-4 (2)8 (3)-3 (4)50.76(5)0(6)123.57(7)HE(8)4
4 如果X是正实数,对X的第4位小数四舍五入的表达式是()(1)0.001 * Int(1000 * (x + 0.0005)) (2)0.01 * Int(100 * (x + 0.005))
(3)0.001 * Int( (x + 0.0005)) (4)0.001 * Int (x + 0.005)
第三章顺序结构程序设计
1 填空题
(1)使用print方法可以将信息直接输出到窗体或者picturebox中。
(2)控制窗体或者标签的背景色与前景色,可能过forecolor属性与backcolor属性完成。
(3)程序中要将label1的标题改为“开始”,使用的语句是:label1.caption=”开始”。
(4)为了使标签能够自动调整以适应内容的多少,必须将标签的autosize属性设置为true?
(5)为了使caption属性有内容自动换行并垂直扩充,要将标签的wordwrap属性设置为true?
(6)卸载窗体可以使用语句unload me完成?
(7)文本框控件显示的文本通过text属性控制?
(8)要将文本框text1的内容设置为只读,可使用语句:text1.locked=true完成。
(9)在设计程序时改变文本框的multiline属性与scrollbars属性,可使文本框显示多行并且出现滚动条?
(10)当文本框的内容发生改变时,会触发change事件?
(11)当控件得到焦点时触发gotfocus事件,失去焦点时触发lostfocus事件?
(12)程序执行时,将焦点停在text1上,可在窗体的activate事件中写入代码:text1.setfocus
(13)设置控件的tabindex属性,改变控件接收焦点的顺序。
(14)文本框的selstart属性,设置所选择文本框的起始点,sellength 属性设置或者返回所选择的字符数?这二个属性只能程序代码完成。
(15)使用inputbox函数显示一个接受用户输入的对话框。
(16)设置窗体frm1成为有模式对话框,使用的语句是:frm1.show 1
2 编程题
P64页3.3
答案:在窗体上增加二个标签label1与label2,设置其caption属性为“喜迎千禧年”。
将label2的backstyle设置为0(透明),label1的visible设置为false。
Command1的click事件中代码:
Label1.visible=true
Label1=label2+20
Label1.left=label2.left+20
Command2的click事件中代码:
Label1.visible=true
Label1=label2+50
Label1.left=label2.left+50
第四章选择结构程序设计
1 填空题
(1)使用IIF函数可以实现比较简单的选择结构。
(2)设置时钟控件的interval属性,指定了两个timer事件之间的毫
秒数。
(3)关闭计时器timer1,使用的语句是timer1.enabled=false。
(4)要将选项按钮设计成图形按钮的形式,要将该选项按钮的style 属性设置为1-graphical?
(5)复选框的状态由其value属性决定?
2 选择题
(1)“x是小于100的非负数”,用VB表达式表示正确的是()(A)0≤x<100 (B)0<=x<100
(C)0<=x and x<100 (D)0<=x or x<100(2)要将复选框做成图形(即按钮)方式,需要改变复选框的()属性
(A)downpicture (B)picture (C)style(D)tooltiptext (3)下边控件中哪个控件是不可见控件()?
(A)选项按钮(B)文本框(C)框架(D)时钟
(4)时钟控件仅有一个事件,其事件名为()?
(A)initialize(B)unload (C)timer (D)click
(5)执行print IIF(len(“abc”)>4,”A”,”B”)输出的结果是()(A)语句错误,不能输出(B)B (C)A (D)3
3 根据所给条件,列出表达式(1)闰年的条件是:年号(year)能被4整除,但不能被100整除,或者能被400整除。
(2)一元二次方程ax2+bx+c=0有实根的条件是:A不等于0,并且b2-4ac大等于0
(3)征兵的条件是:男(sex),年龄(age)在18-20岁间,身高(size)在1.65m以上;或者女,年龄在16到18间,身高在1.60m以上。
答案:
(1)(year mod 4=0 and year mod 100<>0) or (int(year/400))=year/400)
(2)a<>0 and b^2-4*a*c>=0
(3)(sex=”男”and age>=18 and age<=20 and size>=1.65)
4 编写程序
(1)如果要实现在关闭窗体前询问是否关闭,选择“是”,关闭窗体,选择“否”,不关闭窗体,请写出事件名及程序代码。
必须将程序放在queryunload事件中。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("真的要关闭窗体", vbYesNo + vbQuestion) = vbYes Then
Cancel = 0
Else
Cancel = 1
End If
End Sub
(2)使用select case语句,完成:输入学生成绩x,评定其等级。
方法是:90-100分为“优秀”,80-89分为“良好”,70-79分为“中等”,60-69分为“及格”,60分以下为“不及格”,写出主要程序语句。
Select case x
Case 90 to 100
Print “优秀”
Case 80 to 89
Print “良好”
Case 70 to 79
Print “中等”
Case 60 to 69
Print “及格”
Case else
Print “不及格”End select
(3)如果要限制2个文本框控件数组text1, text2,只能输入数字,而不能接受其他字符输入,写出事件过程及程序代码。
Private Sub Text1_Validate(Cancel As Boolean)
If IsNumeric(Text1.Text) = False Then
MsgBox "输入的不是数字"
Cancel = True
End If
End Sub
Private Sub Text2_Validate(Cancel As Boolean)
If IsNumeric(Text1.Text) = False Then
MsgBox "输入的不是数字"
Cancel = True
End If
End Sub
(4)设计一个倒计时程序,通过单选按钮选择计时时间(默认为1分钟),要求1)单击“计时开始”按钮,进行倒计时;2)在标签中显示计时情况,计时结束后在标签中显示“时间到”;3)单选按钮与“计时开始”按钮在计时后被禁用,直到计时结束后才能使用,运行效果如图
4-1
图4-1
答案:
在属性窗口中按表4-1设置各对象属性
程序代码
‘声明窗体级变量pretime,mm,ss存放余下时间的秒数,分钟数及除去整分后的秒数
dim pretime as integer,mm as integer,ss as integer
Private Sub Cmdstart_Click()
Cmdstart.Enabled = False
Frame1.Enabled = False
mm = pretime \ 60
ss = pretimme Mod 60
Lbltime.Caption = Str(mm) & "分" & Str(ss) & "秒"
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
pretime = 60
End Sub Private Sub Optfive_Click()
pretime = 300
End Sub
Private Sub Optone_Click()
pretime = 60
End Sub
Private Sub Optten_Click()
pretime = 600
End Sub
Private Sub Timer1_Timer()
pretime = pretime - 1 '减少1秒
mm = pretime \ 60 '计算余下的分钟
ss = pretime Mod 60 '除去整分后的秒数
Lbltime.Caption = Str(mm) & "分" & Str(ss) & "秒"
If mm = 0 And ss = 0 Then
Lbltime.Caption = "时间到!"
Timer1.Enabled = False
Frame1.Enabled = True
Cmdstart.Enabled = True
End If
End Sub
第五章循环结构程序设计
1 填空题
(1)Do …loop循环中使用exit do跳出循环。
(2)对于数组或者集合中的每一个元素重复循环体,而不知道集合中有多少个元素,适合使用for each…next循环。
(3)下边程序运行的结果是14 6 3。
s = 0: t = 0: u = 0
For i = 1 To 3
For j = 1 To i
For k = j To 3
s = s + 1
Next k
t = t + 1
Next j
u = u + 1
Next i
Print s; t; u (4)程序运行时单击command1后,输入12345678,写出窗体上输出的结果是( )
Dim x As Long, y As String
x = InputBox("输入一个数")
Do While x <> 0
y = y & x Mod 10
y = x \ 10 Mod 10 & y
x = x \ 100
Print y
Loop
答案:
78
5786
357864
(5)返回列表框中选取项的个数,使用的属性是listcount
(6)向列表框中添加数据,使用additem方法
2 编程题
(1)P105例5-10
(2)P103例5-9
第六章数组
1 填空题
(1)如果没有使用option base 1语句,则缺省的数组下限为0。
(2)当改变数组大小而又想不打丢失数组中的数据,在使用redim 语句中要使用preserve。
(3)下面的程序完成对一维数组的倒置(假设数组a(i)已经赋值,n是数组元素个数),请填空:
for i=1 to n/2
t=a(i)
a(i)=a(n-i+1)
a(n-i+1)=t
next
(3)有数组a(i)(I=1,2,…10 ),求a(i)中最大元素及其下标
max=a(1)
for I=2 to 10
if a(i)>max then
max=a(i)
p=I
end if next
print “数组中最大元素是”&max &”其下标为”&p
(4)编程求某班60个同学某门课程考试平均成绩及高于平均成绩的学生人数,数据的输入是通过inputbox来实现的,程序为:
const num=60
dim a(num) as integer,aver as single,n as integer
sum=0
for I=1 to num
a(i)=val(inputbox(“输入第(”&I&”)个学生的成绩”))
sum=sum+a(i)
next I
aver=sum/num
n=0
for I=1 to num
if a(i)>aver then n=n+1
next
print “全班平均成绩:”&aver &”共有”&n &”个同学的成绩高于平均成绩”
(5)选择法排序是从n个数(放在a(n)中)选出最小的数,与第一个
数交换位置,除第1个数外,其余n-1个数中选最小的数,与第2个数交换位置;依此类推,选择了n-1次后,这个数列已经按升度排列,主要程序为:
for I=1 to n-1
p=I
for j=I+1 to n
if a(p)>a(j) then p=j
next j
tmp=a(i)
a(i)=a(p)
a(p)=tmp
next I
2 编程题
简易计算器,如图6-1所示
图6-1
1)在窗体上增加一个框架frame1,选中框架1,在其中增加一text1、两个命令按钮组command1(0)…command1(10)与command2(0)到command(4),按图6-1设置命令按钮组的caption属性
2)在通用模块中声明变量Dim v As Boolean '是否第一次按运算符
Dim s As Integer '存放上次按的运算符
Dim x As Double '存放第1个操作数
Dim y As Double '存放第2个操作数
3)编写数字类命令按钮组command1()的click事件Private Sub Command1_Click(Index As Integer)
If Form1.Tag = "T" Then
If Index = 10 Then
Text1.Text = "0."
Else
Text1.Text = Command1(Index).Caption
End If
Form1.Tag = ""
Else
Text1.Text = Text1.Text & Command1(Index).Caption End If
End Sub
4)编写运行付类命令按钮command2()的click代码Private Sub Command2_Click(Index As Integer)
Form1.Tag = "T"
If v Then
x = Val(Text1.Text)
v = Not v
Else
y = Val(Text1.Text)
Select Case s
Case 0
Text1.Text = x + y
Case 1
Text1.Text = x - y
Case 2
Text1.Text = x * y
Case 3
If y <> 0 Then
Text1.Text = x * y
Else
MsgBox "除数不能是0!"
Text.Text = x
v = False
End If
Case 4
y = 0
v = False
End Select
x = Val(Text1.Text)
End If
s = Index
End Sub
第七章过程
1 填空题
(1)VB中的过程包括有事件过程与通用过程。
(2)在定义通用过程时,缺省状态下所有模块中的子过程为public,如果选用private,则只有该过程所在的模块中的程序才能调用该过程。
(3)传递参数时,默认的方式是按址传递。
(4)调用通用过程add(5,6)时,使用的语句是call add(5,6)或者add 5,6。
(5)一个控件的事件过程将控件的实际名、下画线与事件名组合起来。
(6)下边是计算任意整数n的阶乘的function过程fact
function fact(x as integer) as long
dim p as long,I as long
p=1
for I=1 to x
p=p*I
next I
fact=p
end function
第八章变量与过程的作用范围
1 填空题
(1)VB中代码存储在3种不同的模块中:窗体模块、标准模块与类模块。
(2)窗体保存在扩展名为.frm的文件中。
(3)根据变量声明的位置,就是分两类:过程级变量与模块级变量。
(4)声明x为私有的模块级变量,其数据类型为整型,使用的语句为:private x as integer或者dim x as integer
(5)可以使用type语句创建用户自定义的类型,该语句必须置于模块的声明部分。
2 编程题
P178页例8-9
第九章文件管理
1 填空题
(1)窗体上增加公用对话框cmdlg1,要显示“打开”对话框,使用的语句是:cmdlg1.showopen
(2)使用公用对话框的filter属性,设置显示文件的类型。
(3)访问c:\a.txt文件,读取其中的内容,打开该文件的语句为:open c:\a.txt for input as #1
(4)随机文件的打开,其语句是:open <文件名> for random as 1# len=记录长度
(5)VB提供了新的FSO对象模型,使用它能够建立、改变、移动、删除文件与文件夹。
(6)改变当前的驱动器为e:,使用的语句是:chdrive “e”。
(7)改变当前的目录为d:\abc,使用的语句是:chdir “d:\abc”(8)目录列表框的path属性,用于返回或者设置当前的路径。
2 编程题
(1)P188,例9-2
(2)编程将一文本文件my.txt的内容读到文本框text1中
答案:一次性读入
open “my.txt”for input as #1
text1.text=input(lof(1),1)
close #1
如果一行行读写:
open “my.txt”for input as #1
do while not eof(1)
line input #1,inputdata
text1.text=text1.text+inputdata+vbcrlf’vbcrlf表示回车
loop
close #1
第十、十一章菜单与工具栏、绘图
1 填空题
(1)菜单一般分两种:下拉式菜单与弹出式菜单
(2)VB下拉式菜单最多可达6层。
(3)VB菜单设计器中“复选”,其作用是:设置下拉菜单项的checked 属性。
(4)在设计菜单时,为了创建分隔栏,要在名称栏中输入单连字符(-)。
(5)已经定义了弹出式菜单mypop,要显示此菜单,需要使用的语句是:popupmenu mypop
(6)菜单编辑器中,同层次的name设置为相同,才可以设置索引值。
(7)菜单项可以响应的事件过程为click。
(8)用户可以通过设置菜单项的visible属性值为false来使该菜单项不可见。
(9)用户可以设置菜单项的enabled属性为false使该菜单项失效。
(10)VB提供了两种绘图方式,一种是使用绘图控件,而另一种是使用绘图方法。
(11)运行时向窗体form1加载一幅图片(图片文件为d:\a.gif),使用的语句为:form1.picture=loadpicture(“d:\a.gif”)
(12)设置对象的scalemode属性可以改变坐标系统的单位。
(13)滚动条主要的事件有change事件与scroll事件。
第十二章数据库功能
已知有一个access数据库k1.mdb与要建立的应用程序在同一文件夹下,k1.mdb中有一个名为b1的表,表中的字段名与数据类型如下:
(1)数据表是由多列多行构成的集合、每列称为一个字段,每行称为一条记录。
(2)VB中可以使用的数据访问接口有3种,分别是ADO、RDO与DAO。
(3)Access数据库的扩展名是mdb
(4)从b1中查询“基本工资”大于2600元的语句是:select * from b1 where基本工资>2600。
(5)为b1中插入编号为“150”,姓名为“赵六”,性别为“女”,基本工资为2000元的记录,相应的SQL语句为:insert into b1(编号,姓名,性别,基本工资) values(“150”,”赵六”,”女”,2000)或者:insert into b1 values(“150”,”赵六”,”女”,2000)。
(6)通过连接对象的execute方法,可对连接执行各种操作。
(7)指示当前记录指针位置是否位于首记录前,使用记录集的BOF属性;指示是否位于末记录尾,使用记录集的EOF属性。
(8)通过记录集的addnew方法,可以为可更新的记录集对象创建一条新的空记录。
(9)保存对当前记录的修改,可以通过记录集的update方法完成。
(10)建立连接对象cnn,要通过命令打开到数据源的连接,连接到当前工程目前下的k1.mdb,语句为:cnn.open “provider=microsoft.jet.oledb.4.0;data source=”&app.path&”\k1.mdb”
或者是:cnn.open “dbq=”&app.path &”\k1.mdb;driver={microsoft access driver (*.mdb)}”。