注意:下面出现的“考生文件夹”均为C:\wexam\25160002。 (1) 在名称为Form1的窗体上画一个名称为Label1,标题为“添加项目:”的标签;画一个名称为 Text1的文本框,没有初始内容;画一个名称为Combo1的下拉式组合框,并

admin2009-02-25  25

问题 注意:下面出现的“考生文件夹”均为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。 [*] 第二步:编写程序代码。 参考代码: 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 第三步:调试并运行程序。 第四步:按题目要求存盘。

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

最新回复(0)