问题 问答题

注意:下面出现的“考生文件夹”均为C:\wexam\25160002。 (1) 在名称为Form1的窗体上画一个名称为Label1,标题为“添加项目:”的标签;画一个名称为 Text1的文本框,没有初始内容;画一个名称为Combo1的下拉式组合框,并通过属性窗口输入若干项目 (不少于3个,内容任意);再画两个命令按钮,名称分别为Command1和Command2,标题分别为“添加”和“统计”。在运行时,向Text1中输入字符,单击“添加”按钮后,则Text1中的内容作为一个列表项被添加到组合框的列表中;单击“统计”按钮,则在窗体上显示组合框中列表项的个数,如图23-3所示。请编写两个命令按钮的Click事件过程。 注意:程序中不得使用变量,也不能使用循环。存盘时必须存放在考生文件夹下,工程文件名为sjt3.vbp,窗体文件名为sjt3.frm。 (2) 在考生文件夹下有一个工程文件sjt4.vbp,其窗体如图23-4所示。该程序用来对在上面文本框中输入的英文字母串(称为“明文”)加密,加密结果(称为“密文”)显示在下面的文本框中。加密的方法是:选中一个单选按钮,单击“加密”按钮后,根据选中的单选按钮后面的数字n,把明文中的每个字母改为它后面的第n个字母(“z”后面的字母认为是“a”,“Z”后面的字母认为是“A”),如图所示。窗体中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的改为正确的内容。 注意:不能修改程序中的其他部分和控件的属性。最后把修改后的文件按原文件名存盘。

答案

参考答案:

解析: 在窗体上建立好控件后,先设置控件属性,再编写事件过程。
命令按钮和标签的标题在属性窗口的Caption属性设置。要使Text1的文本框没有初始内容,就在属性窗口中的Text属性设为空。要在下拉式组合框中输入内容,通过下拉式组合框在属性窗口的List属性设置。
AddItem方法用来项组合框中添加一个表项,其给是为:
组合框.Additem列表项[索引]
ListCount属性返回组合框中列表项的综合。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及属性设置见表23-3。
表 23-3

控 件属 性设 置 值
 标签 Caption  添加项目:
 文本框 Text
 下拉式组合框 List 中国
 美国
 英国
 按钮 Caption  添加
 按钮 Caption 统计
第二步:编写程序代码。
参考代码:
Option Explicit
Private Sub Command1_Click()
Combo1.Addltem Text1
End Sub
Private Sub Command2_Click()
Me.Print Combo1.ListCount
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2) 首先要确定移动的位数,移动的位数是通过单选框来选择的,移动的值是由单选框的Caption属性确定的,然后要确定循环的次数,循环的次数是由输入字母的个数确定的。对字符串,需要对字符进行逐个处理。使用Mid函数取出字符串中的字符,利用Ase函数返回字符的代码,利用String函数将字符代码转换成字符。
Mid函数的格式为:
Mid(字符串,p,n)
Mid函数从第p个字符开始,向后截取n个字符,p和n都是算术表达式。Mid函数的第三个变量可以省略,这样将第 p个字符开始先后截取到字符串的结尾。解题步骤:
第一步:分析题目提供的代码。
Private Sub Command1_Click()
Dim n As Integer, k As Integer, m As Integer
Dim c As String, a As String
For k=0 To 2
If Op1(k) .Value Then
’n=Val (Op1 (k) . )
End If
Next k
m=Len(Text1.Text)
a=""
’For k=1 To
’c=Mid$(Text1.Text, , 1)
c=String(1, Asc(c) + n)
If c>"z" Or c>"Z" And c<"a" Then
’c=String(1, )
End If
a=a+c
Next k
Text2.Text=a
End Sub
第二步:修改程序代码。
参考代码:
Private Sub Command1_Click()
Dim n As Integer, k As Integer, m As Integer
Dim c As String, a As String
For k=0 To 2
If Op1(k) .Value Then
n=Val(Op1(k) .Caption)
End If
Next k
m=Len(Text1.Text)
a=""
For k=1 To m
c=Mid$(Text1.Text, k, 1)
c=String(1, Asc(c) + n)
If c>"z" Or c>"Z" And c<"a" Then
c=String(i, Asc(c)-26)
End If
a=a+c
Next k
Text2.Text=a
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。

多项选择题
单项选择题