计算机专业 VisualBasic程序设计试题
一、单项选择题(每小题2分,共30分)
1.在下列有关Visual Basic的叙述中,错误的是( B ) B.是面向对象的编程语言
2.在新建一个“标准EXE”工程后,不在工具箱中出现的控件是(B) B.通用对话框
3.对于定时器(Timer)控件,设置其定时是否开启的属性是( C ) C.Enabled
4.有程序代码如下:
Textl.Text=”欢迎走进VB世界!”·
则Textl,Text,和”欢迎走进VB世界!”分别代表( D) D.对象,属性,值
5.VB提供了结构化程序设计的三种基本结构是( A)。A.选择结构、循环结构、顺序结构
6.下列说法中正确的是( D)。为了保存一个V isual Basic应用程序,应当
D.分别保存工程文件、窗体文件和标准模块文件
7.当一个工程含有多个窗体时,其中的启动窗体是( D)。
D.在“工程属性”对话框中指定的窗体
8.要设置命令按钮的背景图形,必须设置的两个属性是( A)。A.Style和Picture
9.将数据“China”项添加到列表框(Listl)中成为第一项应使用的语句是( C)。
C.Listl.AddItem”China",0
10.确定一个窗体或控件的大小的属性是( B)。B.Width和Height
11.下列可以把当前目录下的图形文件picl.jpg装人图片框Picturel中的语句为( C)
C.Picture1.Picture=LoadPicture((1picl.jpg")
12.不属于VB数据库引擎的是( B)。B.BDE
13.如果准备读文件,打开顺序文件“text.dat”的正确语句是( C )。
C.open"text.dat"ForInputAs井1
14.使用ADO对象模型时,使Recordset和Connection对象建立连接的属性是( D )
D.ActiveConnection
15.Winsock控件的LocalPort属性的作用是( C)。C.返回或设置所用端口
16.窗体的Load事件的触发时机是( B)。B.窗体被加载时
17.无论何种控件,共同具有的属性是( C )。C.Name属性
18.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是( D )。D.通用对话框
19.如果对象的名称为Mytext,而且对象有一个属性Text,那么在代码中引用该属性的正确格式是( B)。
A.Text.Mytext B.Mytext.T ext
20.要在窗体的标题栏内显示“欢迎您!”,使用的语句是( B) B.Forml.caption=“欢迎您!”
21.VB中,在一个语句行内写多条语句时,语句之间应该用( D)分隔。D.冒号
22.以下可以作为Visual Basic变量名的是( B)。B.C01
23.如果要在文本框中键人字符时,只显示某个字符,如星号(*),应设置文本框的( D )属性。
C.Locked D.PasswordChar
24.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列(A)属性设置就有效。A.BorderSyle
25.对于定时器(Timer)控件,设置其定时是否开启的属性是( C)。C.Enabled
26.“x是小于80的非负数”,用VB表达式表示正确的是( C)。C.0<=x And x<80
27.Dim I As Integer,则运行时变量I的初始值是( A)。A.0
28.使用ADO数据模型时,建立Recordset和Connection对象连接的属性是( C)。
C.ActiveConnection D.CommandType
29.下列数据对象模型中采用OLEDB访问数据库的是( B) B.ADO
30.VB程序中设置断点的按键是( C) C.F9键
31.后缀为.frm的文件表示(B)。B.窗体文件
32.与传统的程序设计语言相比,Visual Basic最突出的特点是(C.事件驱动编程机制)
33.无论何种控件,共同具有的属性是(C)。C.Name属性
34.有程序代码如下:
Text1.Text = "VB简单易学,功能强大"
则Text1、Text 、和" VB简单易学,功能强大"分别代表( B )。
A.对象,值,属性B.对象,属性,值
35.如果想让文本框中的内容在运行时不能编辑,需将文本框的(A)属性设置为True。
A.Locked B.MultiLine C.TabStop D.V isible
36.关于语句行,下列说法正确的是( D )。D.一条语句可以分多行书写
37.当使用上下文相关的帮助时,选择要帮助的内容,然后按( D )键,就可出现MSDN窗口直接显示所需的帮助信息。D、F1
38.用下面的语句所定义的数组的元素的个数是( D )。
Dim A(-3 To 5)As Integer D.9
39.如果希望以模态方式显示窗体Form1,下列正确的语句是( C )。
C.Form1.Show 1 D.以下都不正确
40.为了清除图片框Picture1中的图形,应采取的正确方法是( B )。
B.执行语句Picture1.Picture = LoadPicture("")
41.如果创建了命令按钮数组控件,那么该命令按钮的Click事件的参数是(A)。
A.Index B.Caption
42.设ADOrs为Recordset对象,从“学生基本情况表”中获取所有记录的语句是(B)。
B.ADOrs.Open “Select * From 学生基本情况表”
43.VB程序中通常不会产生错误提示的是(D)。D.逻辑错误
44.VB集成开发环境中,提供控件的窗口是( B )。 B.工具箱
45.在VB6.0集成开发环境中有三种工作模式,下列不属于三种工作模式之一的是( D )
D.编写代码模式
46.要在窗体Forml内显示“欢迎您!”,使用的语句是( C )。C.Forml.print“欢迎您!”
47.能够改变标签控件显示标题的属性是( B )。B.Caption
48.在VB中,下列合法的变量名是( C )。C.a_4
49.执行Forml.Scale(-14,14)-(14,-14)语句后,Forml窗体坐标系x轴和y轴的正方向是( B )。
A.向左和向下B.向右和向上
50.用来从数据库表中删除记录的SQL命令是( A)。A.DELETE
51.要发送数据,通常使用Winsock控件的( D )。D.SendData方法
52.在Visual Basic中,窗体文件的扩展名为(B)。B..frm
53.关于对象的属性不正确的是( D )。D.对象的所有属性值均可在设计时设计
54.在设计阶段,双击窗体上的某个控件时,打开的窗体是(C)。C.代码编辑器窗口
55.下列符号不能作为VB中变量名的是(C)。C.60XYZ
56.在设计动画时,用时钟控件来控制动画速度的属性是(D)。D.Interval
57.文本框ScrollBars属性设置了非零值,却没有效果,原因是(D)。
D.文本框的MultiLine属性为False
58.当一个工程含有多个窗体时,其中的启动窗体是(D)。D.在“工程属性”对话框中指定的窗体59.下列赋值语句正确的是(A)。A.x = y +z
60.用语句Dim A(-2To 3)As Integer所定义的数组的元素的个数是(D)。D.6
61.要向图片框Picture1中加载“d:\hainan\zhiwu.bmp”图像文件,应使用语句(B)。
B.Picture1.Picture=LoadPicture("d:\hainan\zhiwu.bmp ")
62.在代码编辑器中,如果一条语句太长,无法在一行内写下(不包括注释),要折行书写,可以在行末使用续行字符(A),表示下一行是当前行的继续。A.一个空格加一个下划字符”_”
63.如果准备读文件,打开顺序文件”text.dat”的正确语句是(C)。C.open"text.dat"For Input As # 1 64.下列只能用程序代码设置,不能通过属性窗口设置的属性是(A)。A.Drive属性
二、填空题(每小题2分,共20分)
1.窗体文件和工程文件的扩展名分别是____ frm ___和_____ vbp___。
2.表达式17\2-2^3*5 MOD 6的值是_______4_____。
3、表达式14/2-2-3*7 MOD 6的值是____5______。
4、在Visual Basic中,变量的默认类型是___ Variant或变体型___。
5.VB中,Access数据库属于__本地数据库__。(说明是哪种数据库类型)
6.设某个程序中要用到一个二维数组,要求数组名为A,类型为整型,第一维下标从-1到2,第二维下标从1到4,则相应数组声明语句为__ Dim A(-1T o2,1 T o 4) As Integer __。
7.控件数组的名字由__ Name __属性指定,而数组中的每个元素由__ Index ___属性决定。
8.若窗体的左上角坐标为(-200,250),右下角坐标为(300,-150),则X轴的正向向__右__,Y轴的正向向_上。9.窗体、图片框或图像框中的图形通过对象___ Picture __属性。
10.在VB中,将Foxpro称为外部数据库,Access称为___本地数据库__,SQLServer称为远程数据库。
11.全局变量必须在__标准___模块中定义,所使用的关键字为__Public____。
12.Winsock控件主要用来编制___ TCP/IP ____或__ UDP ____协议的网络应用程序。
13.在VB中,要想获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语句,然后按_F1_键。14.要想在代码中给名为txtshow的文本框赋予文本:GOODWORK!时,应当编写的语句是
___txtshow.text="GOOD WORK!”___。
15.变量的声明方法有隐式和___显示____两种,如果采用隐式声明方法,那么VB会自动将变量声明为____变体____。
16.若已建立了Forml和Form2两个窗体,默认启动窗体为Forml。通过工程菜单的__工程属性Forml ____菜单项,可将启动窗体设置为Form2。在程序中若要显示Forml窗体,则执行____ Show ____语句。17.如果希望得到本地计算机的IP地址,可以使用Winsock控件的__ Locallp ____属性。
18.要在窗体Form1内显示“myfrm”,使用的语句是Form1.print "myfrm" 。
19.表达式8+13 Mod 2*4+3的值是16 。
20.若窗体Form1左上角坐标为(0,600),右下角的坐标为(800,-200)。则X轴的正向向右,Y轴的正向向上。
21.全局变量在整个应用程序中有效,一般在标准模块中使用Public语句声明。
22.为了在运行时把当前路径下的图形文件picturefile.jpg装入图片框Picture1,所使用的语句为Picture1. Picture = LoadPrcture("picturefile.jpg")。
23.将图片框的AutoSize属性设置成T rue 时,可使图片框根据图片调整大小。
24.VB应用程序与数据库进行通信的主要机制称为数据库引擎。
25.若已建立了Form1和Form2两个窗体,默认启动窗体为Form1。通过工程菜单的工程属性菜单项,可将启动窗体设置为Form2。在程序中若要显示Form1窗体,则执行Form1.Show语句。
26.列表框控件中最后一项的序号等于ListCount属性减1。
27.闰年的条件是:年号(Y)能被4整除,但不能被100整除;或者年号能被400整除。表示该条件的逻辑表达式是Y MOD 4=0 And Y MOD 100<>0 OR Y MOD 400=0。
28.如果要每隔15s产生一个Timer事件,则Interval属性应设置为15000。
29.每个标准应用程序通常至少有一个_frm ___文件。
30.Vb应用程序与数据库进行通信的主要机制称为__数据引擎___。
31.如果不能适先确定变量的数据类型,则可以把它声明为__变体型(Variant)_____。
32.执行赋值语句a="123"+"456"后,变量a的值是__123456_____。
33.对VB程序进行调试时,若要进行断点设置应按_F9__键,如果需要逐语句调试,应按___F8__键。34.通常可以将文本框控件的_Locked ____属性设为True,以禁止键盘输入。
35.欲设置定时器的时间间隔为2秒,则属性Interval的值为2000 。
36.列表框中项目的序号是从0开始的。
37.表达式3+ 10 Mod 2^3 + 2的值是7。
38.Stretch属性设置为False时,图像框可自动改变大小以适应其中的图形。
39.Winsock1.Listen语句的含义是使服务程序处于侦听状态。
一、什么是可视化编程和事件驱动?
可视化编程:在设计界面时,只需将所需要的控件放到窗口的指定位置,整个界面设计过程基本不需要编写代码。在开发过程中所看到的界面,与程序运行时的界面基本相同。概括地说可视化编程就是程序员在开发过程中能看到界面的实际效果。
事件驱动:是指应用程序没有预定的执行路径,而是由程序运行过程中的事件决定。
二、对象、事件和方法三者之间的关系如何?
⑴对象:从广义上来说,对象是客观事物的一个实体。在可视化编程语言中,对象分为两类,一类由系统设计,可以直接使用或对其进行操作,如工具箱中的控件、窗体和菜单等,另一类由用户定义。
⑵属性:属性是一个对象的特性,不同的对象有不同的属性通过修改对象的属性,可以改变对象的外观和功能。
⑶事件:所谓事件就是发生在对象上的事情。在VB中,系统为每个对象预先定义好了一系列的事件。
⑷方法:在面向对象的程序设计中,引入了称为方法(Method)的特殊过程和函数供用户直接调用。
答案是:在VB程序设计中,完成某种功能可通过触发对象事件和调用对象方法,而触发事件和调用对象方法都必须基于某个对象。触发某个事件实际上就是执行一个事件过程代码段,在该代码段中又可以随意调用对象方法,而调用对象方法不可能触发某个事件。
三、简述事件驱动机制与传统编程方法的不同。
传统的编程方法使用的是面向过程、按顺序进行的机制,其缺点是程序员始终要关心什么时候发生什么事情,应用程序的界面都需要程序员编写语句来实现,对于图形界面的应用程序,只有在程序运行时才能看到效果,一旦不满意,还需要修改程序,因而使得开发工作非常烦琐。用VB进行应用程序开发主要有两部分工作:即设计界面和编写代码。在开发过程中所看到的界面,与程序运行时的界面基本相同,同时VB还向程序员提供了若干界面设计所需要的对象(称为控件),在设计界面时,只需将所需要的控件放到窗口的指定位置即可,整个界面设计过程基本不需要编写代码。
用VB开发的应用程序,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发,如单击鼠标、键盘输入等事件。也可以由来自操作系统或其它应用程序的消息触发。这些事件的顺序决定了代码执行的顺序。
四、简述事件驱动的工作过程。
此题的考核知识点是:第二章的对象、属性、方法和事件的概念及其之间的区别和联系。
事件驱动的工作过程为:
⑴启动应用程序,装载和显示窗体。
⑵窗体或窗体上的控件等待事件的发生。
⑶当某个事件发生后,执行其对应的事件过程代码。
⑷重复执行第2和第3步,直到遇到End语句或单击结束按钮停止程序的运行。
五、简要设计错误处理程序的3个步骤。
答:VB中一般可按下列步骤设计错误处理程序:第1步:捕获错误,并强制程序跳转第2步:编写错误处理程序,对所有可预见的错误做出反应
第3步:退出错误处理程序
六.简述常用的程序调试技巧。
答:调试程序是一件复杂的工程,不但要求程序员对系统设计结果非常熟悉,思路清晰,更需要不断地在实践中积累经验。以下技巧可供参考:
首先,应事先做好备份:尽管VB提供了众多的调试工具,但要利用这些工具查找、定位程序中的错误并非易事,对于一些规模较大的程序,即使是有经验的程序员也常常要损失好几小时甚至几天的时间来查找错误。在调试过程中,很容易意外地修改、覆盖或删除掉必要的代码部分。因此事先做好备份非常重要。其次,尽可能地分离受怀疑的程序:对于那些代码规模较大,窗口众多的程序而言,如果能将错误的范围定位于某个窗体或某段代码,则可以使用分离程序的调试方法。基本思路是:试着找到出错的代码行(块)或窗体,选择并复制这些代码到一个新的工程中,然后运行新工程,看一看是否还会出现同样的错误。这样就可以尽可能地排除程序其他部分的干扰,提高调试的效率。第三,缩小搜索范围:如果有可能的话,可删除工程中任何第三方控件和自定义控件,或者任何看来与问题无关的代码,逐步缩小搜索范围。或者采用相反的策略,先调试某一段代码或窗体,再象搭积木似的逐步扩大调试的范围。这种方法与“分离受怀疑的程序”方法相结合,对复杂大系统的调试非常有效。最后,使用MsgBox语句:如果怀疑程序的错误是由于执行路径或者变量的值不正确等原因造成的,除了采用设置断点的方式进行调试外,还可以借助于MsgBox语句。即在程序运行路径的关键点上插入一系列的MsgBox语句,用来展示程序运行的路径和重要变量的值。
七.简述基于Winsock控件的开发模式。
答:利用Winsock控件开发网络通信系统时,通常要涉及服务器和客户机两类应用程序。一般过程是:
⑴服务器程序的开发模式
1、服务器程序必须设置好LocalPort属性,作为侦听端口。该值可设置成任意一个整数,只要其他应
用程序没有使用过的值均可,但习惯上应大于1000。
2、使用Listen方法使服务器进入侦听状态,等待客户机程序的连接请求。
3、客户机程序发出连接请求后,将触发服务器程序的ConnectionRequest事件,该事件得到一个参数
requestID。
4、服务器程序使用Accept方法接受客户机程序的requestID请求。
5、当服务器程序接收到数据时,会产生DataArrival事件。在该事件中可以使用GetData方法接收数据。
⑵客户机程序的开发模式
1、客户程序首先应设置好RemoteHost属性,用来指向运行服务器程序的主机名或IP地址。
2、设置RemotePort属性,用来指向服务器程序的侦听端口号。
3、使用Connect方法向服务器提出连接请求。
4、如果服务器接受了上述连接请求,客户机程序会产生Connect事件。
5、连接成功后,就可以根据需要使用SendData方法向服务器发送数据了。
6、当客户机程序接收到数据时,会产生DataArrival事件,可以用GetData方法接收数据。
三、阅读程序题(共25分)
阅读下列程序并写出程序运行结果
1.Private Sub Form_Click()
Static a As Integer
Dim b As Integer
a=a+3
b=b+4
Textl=a
Text2=b
End Sub
写出程序运行时连续单击三次窗体后,文本框Textl和Text2显示结果。
答案:3 4
6 4
9 4
2.Private Sub Form-Click()
n=0
For i=1 To 2
For j=2 To 4
If j Mod 2<>0 Then
n=n+1
EndIf
N=n+2
Next j
Next
Print n
End Sub
写出程序运行时单击窗体后,窗体Forml上的输出结果。答案:14 3.Private Sub Fornl_Click()
I)im A(1 to 4) As String
Dim c As Integer
Dim j As Integer
A(1)=”6”
A(2)=”8”
A(3)="10”
A(4)=”12"
c=1
For j=1 To 4
c=c+V al(A(j))
Next j
Printc
End Sub
写出程序运行时单击窗体后,窗体Form1上的结果。答案:37
4.Function F(n As Integer) As Long
Dim I As Integer,Temp As Long
Temp=1
For i=1 To n
temp=Temp*i
Next i
F=Temp
End Function
Private Sub Forrn_Click()
Dim k As Integer,nj As Integer
k=5
nj=F(k)
Print k;“i=”;nj
End Sub
写出程序运行时,单击窗体Forml上的输出结果。答案:5!=120
5.Private Sub Commandl_Click()
Dim Suml As Integer,Sum2 As Integer
Suml=0:Sum2=1
For i=1 To 3
For j=1 To i
Sum2=Sum2*,j
Next j
Suml=Suml+Sum2
Next i
Print Suml
End Sub
写出程序运行时单击Commandl按纽后,Forml上的输出结果。参考答案:15
6.Private Sub Commandl_Click()
Dim A(1To5) As Integer
Dim b As Integer
For b=1 To 5
A(b)=b
Next b
Textl.Text=A(b-2)
End Sub
写出程序运行时单击Commandl按纽后,Textl上的输出结果。参考答案:4
7.Sub Change(ByV al x As Integer,ByV al y As Integer)
Dim t As Integer
t=x
x=y
y=t
Print x,y
End Sub
Private Sub Form_Click()
Dim a As Integer,b As Integer
a=5:b=8
Change a,b
Print a,b
End Sub
写出程序运行时单击Commandl按纽后,Forml上的输出结果。参考答案:8 5
8.Private Sub Commandl_Click()
Static Sum As Integer
Dim I As Integer
I=1
Do
Sum=Sum+I
I=I+1
Loop While I<=5
Textl.Text=Sum
Text2.Text=I
End Sub
写出程序运行时两次单击Commandl按纽后,文本框Text1,Text2上的输出结果。
参考答案:15 6
30 6
9. Private Sub Command1_Click()
Dim x As Integer
Static s As Integer
x = Val(InputBox("请输入一个正整数="))
If x < 5 Then
s = s * x
Else
s = s + x
End If
Text1.Text = "s=" & Str(s)
End Sub
程序运行时连续3次单击Command按纽,且设输入的数据为5、4、3时,分别写出文本框Text1中的值。参考答案:s= 5
s= 20
s= 60
10. Private Sub Form_Click()
Static Sum As Integer
For i = 1 To 3
Sum = Sum + i
Next i
Print Sum
End Sub
写出程序运行时点击窗体两次后,变量Sum的值。参考答案: 6 12
11. Sub test(i As Integer)
i = i + 3
End Sub
Private Sub Form_Click()
Dim x As Integer
x = 8
Print "x="; x
Call test(x)
Print "x="; x
End Sub
写出程序运行时,单击窗体后显示的值。参考答案:7 4
12. Private Sub Form_Click()
Dim c As Integer, j As Integer, k As Integer
k = 2
c = 3
For j = 1 To 5
If j > 3 Then
c = c + 5
Exit For
Else
k = k + 5
End If
Next j
Print c, k
End Sub
写出程序运行时单击窗体后,Form1上的输出结果。参考答案:8 17
13. Private Sub Form_Click()
Dim I As Integer, j As Integer
Dim c As Integer
c = 0
For I = 1 To 3
For j = 1 To 3
c = c + 4
Next j
End Sub
写出程序运行时,单击窗体后显示的值。参考答案:36
14. Private Sub Command1_Click()
Dim A(1 To 5) As Integer
Dim x As Integer
For I = 1 To 5
A(I) = I
Next I
I = 1
Do While x < 6
A(I) = A(I) + x
x = x + 2
I = I + 2
Loop
Text1.Text = A(1)
Text2.Text = A(3)
End Sub
写出程序运行时单击Command1按纽,文本框Text1和Text2上的输出结果。参考答案:1
5 15. Private Sub Form_Click()
Dim x As Integer
Static y As Integer
x = x + 3
y = y + 4
Form1.Print "x="; x, "y="; y
End Sub写出程序运行时连续单击三次窗体后,Form1上的输出结果。
参考答案:x=3 y=4
x=3 y=8
x=3 y=12
16、Private Sub Form_Click()
Dim i As Integer, k As Integer, c As Integer
For i = 1 To 5
If i Mod 2 = 0 Then
k = k + 2
Else
c = c + 3
End If
Next i
Print k, c
End Sub
写出程序运行时单击窗体后,Form1上的输出结果。参考答案:4 9
17、Private Sub Command1_Click()
Dim s As Double
Dim i As Integer
Do While i < 8
i = i + 5
s = s + i
Loop
Text1.Text = s
End Sub
写出程序运行时单击命令按纽后,文本框中的输出结果。参考答案:23 18、 Function F(a As Integer)
Dim b As Integer
Static c As Integer
b = b + 3
c = c + 3
F = a + b + c
End Function
Private Sub Command1_Click()
Dim a As Integer
a = 4
For i = 1 To 3
Print F(a)
Next i
End Sub
写出程序运行时,单击命令按钮在窗体上的输出结果。参考答案:10
13
16 19、 Function F(a As Integer)
Dim b As Integer
Static c As Integer
b = b + 2
c = c + 2
F = a + b + c
End Function
Private Sub Command1_Click()
Dim a As Integer
a = 5
For i = 1 To 3
Print F(a)
Next i
End Sub
写出程序运行时,单击命令按钮在窗体上的输出结果。参考答案:9
11
13
四.完善程序题(共10分)
1、在窗体上建立一个驱动器列表框、目录列表框、文件列表框、图片框、文本框。要求程序运行后,驱动器列表框Drivel的默认驱动器设置为E盘,选择Filel中所列的图片文件(*.bmp,*.gif和*-Jpg),则相应的图片显示在图片框Picturel中,文件的路径显示在文本框中。程序运行结果如图1所示。
参考答案:
2、按下述规定,编写一征收所得税程序。
(1)收入在800元以内,不纳税; (2)收入超过800元以上的部分,纳税20%;
(3)当收入达到5000元或超过时,5000元以上的部分,纳税22%,
程序运行界面如图2所示:
参考答案:
Private Sub Command1_Click()
Dim x As Integer, tax As Single
x = Val(Text1.Text)
If x <= 800 Then
tax = 0
ElseIf x <= 5000 Then
tax = (x - 800) * 0.2
Else
tax = (x - 5000) * 0.22 + 4200 * 0.2
End If
Label3.Caption = tax
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
3、假设用Access创建了一个名为“HRM.mdb"的数据库,并在其中创建了一张名为“档案”的数据表,表中存放了人员的基本信息,如图1所示。
要求使用ADO对象和MSFlexGrid控件设计数据库列表显示程序。程序的设计界面和运行结果如图2、图3所示。
参考答案:[1]strcn
[2]NewADODB.Recordset
[3]rs.ActiveConnection
[4]Not
[5]Myrefresh
4、请根据下列描述编写购物优惠程序。某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在20。元以上者,按九五折优惠;(2)在400元以上者,按九折优惠;(3)600元以上者,按八折优惠;(4)1000元以上者按七折优惠。在窗体上添加两个文本框和一个命令按钮,要求在Textl中输人购物商品总金额,单击命令按钮,在Text2中输出优惠价。程序运行结果如图4所示。
参考答案:
5、图片浏览器程序运行界面如图1所示。要求程序运行后,驱动器列表框Drive1的默认驱动器设置为d盘,选择驱动器的盘符,则在目录列表框中显示该该驱动器下的目录;点击目录列表框中的某一目录,在文件列表框File1中显示该目录下的图片文件(*.jpg);选择File1中所列的图片文件,则相应的图片显
示在图片框Picture1中。
图1
程序代码如下,请补充完整。
Private Sub Form_Load()
Drive1.Drive = " [1 ] "
File1.Pattern = "*.jpg"
End Sub
Private Sub Drive1_change()
[2]
Text1.Text = Drive1.Drive
End Sub
Private Sub Dir1_Change()
[3]
[4]
End Sub
Private Sub File1_click()
Picture1.Picture = LoadPicture(File1.Path + "\" + File1.FileName)
FileName = [5]
Text1.Text = FileName
End Sub
参考答案:[1] d:\
[2] Dir1.Path = Drive1.Drive
[3] File1.Path = Dir1.Path
[4] T ext1.T ext = Dir1.Path
[5] File1.Path + "\" + File1.FileName
6、编写程序题
1.列表框应用程序。要求从文本框中输入课程名称,然后按“添加”按钮,把课程名称添加到列表框中;当选择列表框中某一项时,按“删除”按钮,从列表框中删除;当选择列表框中某一项时,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。在文本框的内容修改好后,