注意:下面出现的“考生文件夹”均为c:\wexam\25160001。 (1) 在名称窗体为Form1,KeyPreview属性为True的窗体上有一个列表框(名称为List1)和一个文本框(名称为Text1),如图22-5所示。编写窗体的KeyDo

admin2009-02-25  37

问题 注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
   (1) 在名称窗体为Form1,KeyPreview属性为True的窗体上有一个列表框(名称为List1)和一个文本框(名称为Text1),如图22-5所示。编写窗体的KeyDown事件过程。程序运行后,如果按“A”键,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果按“D”键,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图22-6所示。
   在考生文件夹下有一个工程文件sjt3.vbp(相应的窗体文件名为sjt3.frm),可以实现上述功能。但这个程序不完整,请把它补充完整。
   要求:去掉程序中的注释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

   (2) 在考生文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),其功能是通过调用过程Average求数组的平均值,请装入该文件。程序运行 后,在4个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的平均值,并在窗体上显示出来,如图22-7所示。这个程序不完整,请把它补充完整,并能正确运行。
   要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

选项

答案判断按键可以在窗体的KeyDown事件下用Chr函数将按键代码转换成字符与给定字符进行比较。使用 AddItem方法向列表框中添加列表项目,使用RemoveItem方法从列表框中删除列表项目。程序中用到了InputBox(),其格式为: InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context]) prompt:是一个字符串,其长度不得超过1024个字符,它是在对话框内显示的信息,用来提示用户输入。 title:字符串,它是对话框的标题,显示在对话框顶部的标题区。 default:字符串,用来显示输入缓冲区的默认信息。 xpos,ypos:是两个整数值,分别用来确定对话框与屏幕左边的距离(xpos)和上边的距离(ypos),它们的单位为twip。 helpfile,context:helpfile是一个字符串变量或字符串表达式,用来表示帮助文件的名字;context是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表22-3。 [*]   第二步:编写程序代码。   程序提供的代码:     Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)       If Chr(KeyCode)="A" Then        Text1.Text=InputBox ("请输入要添加的项目")        ’ List1.AddItem ?       End If       If Chr(KeyCode)="D" Then        Text1.Text=InputBox ("请输入要删除的项目")        ’For i=0 To ?         ’If List1.List(i)=? Then          ’ List1.RemoveItem ?          End If        Next i       End If     End Sub   参考代码:     Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)       If Chr(KeyCode)="A" Then        Text1.Text=InputBox ("请输入要添加的项目" )        List1. AddItem Text1       End If       If Chr(KeyCode)="D" Then        Text1.Text=InputBox ("请输入要删除的项目")        For i=0 To List1.ListCount-1          If List1.List(i)=Form1.Text1 Then           List1.RemoveItem (i)          End If        Next i      End If     End Sub   第三步:调试并运行程序。   第四步:按题目要求存盘。   (2)文本框里的内容(包括数字)默认都是当作字符串来处理的,如果要参与数据运算则需先用Val函数将其转化为数字类型。这里需要指出的是利用Array函数对数组各元素赋值,声明的数组只能是Variant类型,数组的上下界可用 UBound和LBound函数获得,这两个函数的格式分别为:   LBound(数组[,维])   UBound(数组[,维])   这两个函数分别返回一个数组中的下界和上界。其中“数组”是一个数组名,“维”是要测试的维。LBound函数返回“数组”的下界,而UBound函数返回 “数组”某一“维”的上界值,这两个函数一起使用即可确定一个数组的大小。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表22-4。 [*] 第二步:编写程序代码。 程序提供的代码: Option Base 1 Private Function Average(a() As Integer) As Sincle Dim Start As Integer, Finish As Integer Dim i As Integer Dim Sum As Integer ’Start=?(a) ’Finish=?(a) ’Sum=? For i=Start To Finish ’Sum=Sum+? Next i ’Average=? End Function Private Sub Command1_Click() Dim arr1 Dim arr2(4) As Integer arr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) ) For i=1 To 4 arr2(i)=CInt(arr1(i) ) Next i ’Aver=Average(?) Print "平均值是:"; Aver End Sub 参考代码: Option Base 1 Private Function Average(a() As Integer) As Single Dim Start As Integer, Finish As Integer Dim i As Integer Dim Sum As Integer Start=LBound(a) Finish=UBound(a) Sum= 0 For i=Start To Finish Sum=Sum+a(i) Next i Average=Sum/Finish End Function Private Sub Command1_Click() Dim arr1 Dim arr2(4) As Integer arr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) ) For i=1 To 4 arr2(i)=CInt(arr1(i) ) Next i Aver=Average (arr2) Print "平均值是:"; Aver End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘

解析
转载请注明原文地址:https://kaotiyun.com/show/ih1p777K
0

最新回复(0)