问答题 完成下列问题:

问答题 在名称为Form1的窗体上画一个名称为Label1、标题为“添加项目:”的标签;画一个名称为Text1的文本框,其中没有初始内容;画一个名称为Combo1的下拉列表框,并通过属性窗口输入若干项目(不少于3个,内容任意);再画两个命令按钮,名称分别为Command1、Command2,标题分别为“添加”、“统计”。运行时,向Text1中输入字符,单击“添加”按钮后,则Text1中的内容作为一个列表项被添加到组合框的列表中;单击“统计”按钮,则在窗体上显示组合框中列表项的个数,如图3所示。请编写两个命令按钮的Click事件过程。
[*]
注意:程序中不得使用变量,也不能使用循环。存盘时必须存放在考生文件夹下,工程文件名为sjt3.vbp,窗体文件名为sjt3.frm。
【正确答案】[操作步骤]
第1步:新建一个标准EXE工程。
第2步:在窗体上画一个标签控件,设置其Caption属性为“添加项目:”。
第3步:在窗体上画一个文本框控件,清空其Text属性中的内容。
第4步:在窗体上画一个组合框,单击List属性后向下的箭头,输入3个以上选项(输完一个项目后,可以按Ctrl+Enter键继续输入后续内容)。
第5步:在窗体上画一个命令按钮,设置其Caption属性为“添加”;再画另一个命令按钮,设置其Caption属性为“统计”。
第6步:编写代码。
Private Sub Command1_Click( )
Combo1.AddItem Text1.Text
End Sub
Private Sub Command2_Click()
Print Combo1.ListCount
End Sub
第7步:调试、运行并保存程序。
【答案解析】[解析] 本题主要考查组合框控件的使用。与列表框一样,组合框的选项也由List属性控制;向组合框添加选项的方法是AddItem;可从组合框的ListCount属性获取当前组合框中选项的个数。
问答题 在考生文件夹下有一个工程文件sjt4.vbp,其窗体如图4所示。该程序用来对在上面的文本框中输入的项字母串(称为“明文”)加密,加密结果(称为“密文”)显示在下面的文本框中。加密的方法是:选中一个单选按钮,单击“加密”按钮后,根据选中的单选按钮后面的数字n,把明文中的每个字母改为它后面的第n个字母(“z”后面的字母认为是“a”,“Z”后面的字母认为是“A”),如图4所示。窗体中已经给出了所有控件和程序,但程序不完整,请在程序中的横线处填写正确的内容。
[*]
注意:不能修改程序中的其他部分和控件属性,最后把修改后的文件按原文件名存盘。
[题目提供的源程序]
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). (1)
End If
Next k
m=Len(Text1.Text)
a=""
For k=1 To (2)
c=Mid $ (Text1.Text, (3) ,1)
c=String (1,Asc(c)+n)
If c>"z" Or c>"Z" And c<"a" Then
c=String(1,Asc(c)-26)
End If
(4) =a+c
Next k
Text2.Text=a
End Sub
【正确答案】[操作步骤]
第1步:打开工程文件sjt4.vbp
第2步:分析并修改源程序。
第3步:调试、运行并保存程序。
[1]Caption [2]m [3]k [4]a
【答案解析】[解析] 根据题意,首先要确定移动的位数,移动的位数由被选择的单选按钮决定,移动的值由单选按钮的Caption属性值决定;然后再确定循环加密的次数,循环的次数是由输入字符的个数Len(Text1.Text)决定的。实现加密方法:使用Mid()函数将字符串中的字符一一取出,利用Asc()函数转换成字符的ASCII码,将ASCII码加上移动的位数后,再利用String()函数将字符ASCII码转换成字符。
Mid()函数的格式为Mid(字符串,p,n)。表示从字符串的第p个字符开始,向后截取n个字符,p和n都是算术表达式。Mid()函数的第三个变量可以省略,这样将从第p个字符开始向后截取到字符串的结尾。
String()函数用于重复指定字符串中的字符,返回新的字符串。
Asc()函数用于返回一个Integer,代表字符串中首字母的字符ASCII码。