(1)在名称为Forml的窗体上绘制两个名称分别为Labell和Label2的标签,标题分别为“项数”和“新添”;绘制两个名称分别为Textl和Text2的文本框,没有初始内容;绘制一个名称为Combo1的下拉式组合框,并通过属性窗口输入若干项目(不少于5

admin2010-07-13  33

问题 (1)在名称为Forml的窗体上绘制两个名称分别为Labell和Label2的标签,标题分别为“项数”和“新添”;绘制两个名称分别为Textl和Text2的文本框,没有初始内容;绘制一个名称为Combo1的下拉式组合框,并通过属性窗口输入若干项目(不少于5个,内容任意);再绘制两个命令按钮,名称分别为Commandl和Command2、标题分别为“添加”和“项数”,运行界面如图38—3所示。在运行时,向Textl中输入字符,单击“添加”按钮后,则Textl中的内容作为一个列表项被添加到组合框的列表中;单击“项数”按钮,则在窗体上显示组合框中列表项的个数。请编写两个命令按钮的Click事件过程。
    注意:程序中不得使用变量,也不能使用循环。存盘时必须存放在考生文件夹下,工程文件名为sj3.vbp,窗体文件名为sj3.frm。
    (2)在考生文件夹下有1个工程文件sj4.vbp,该程序用来对在上面文本框中输入的英文字母串(称为“明文”)加密,加密结果(称为“密文”)显示在下面的文本框中。加密的方法是:选中1个单选按钮,单击“加密”按钮后,根据选中的单选按钮后面的数字n,把明文中的每个字母改为它前面的第n个字母(“a”前面的字母认为是“z”,“Z”后面的字母认为是“A”),如图38—4所示。

    注意:窗体中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符“’”,把程序中的“?”改为正确的内容。不能修改程序中的其他部分和控件的属性。最后把修改后的文件按原文件名存盘。

选项

答案(1)根据题意,新建“标准EXE”工程,将两个文本框控件、两个命令按钮、两个标签和一个ComboBox控件添加到窗体中,文本框的名称分别为Textl和Text2、Text属性都为空,命令按钮的名称分别为Commandl和Command2、Caption属性分别为“添加”和“项数”,标签的Caption属性分别为“项数”和“新添”,ComboBox的名称为Comb01,Style设为2。AddItem方法用来向组合框中添加一个表项,其格式为:组合框.AddItem列表项[索引]。ListCount属性返回组合框中列表项的个数。 双击Commandl,进入代码编写窗口,具体代码如下: Private Sub Commandl Click()’单击添加 Comb01.AddItem Text2.Text’向Comb01中添加Text2的文本 End Sub Private Sub Command2_Click() ’单击项数 Textl.Text=Comb01.ListCount’将Comb01的项数赋给Textl End Sub 单击[*]按钮运行程序,并按要求保存。 (2)本题首先要确定移动的位数,移动的位数是由单选按钮的Caption属性确定的,然后要确定循环的次数,循环的次数是由输入字母的个数来确定的。对于字符串,需要对字符进行逐个处理。使用Asc()函数来获得字符的ASCII码,Chr()函数将ASCII码转换成字符,先获得移位后的ASCII码值,保证符合条件,然后再转换成字符。Mid函数的格式为:Mid(字符串,P,n),表示从第P个字符开始,向后截取n个字符,P和n都是算术表达式。Mid函数的第三个变量可以省略,这样将从第P个字符开始向后截取到字符串的结尾。 双击Commandl进入代码编写窗口,具体代码如下: Private Sub Commandl_Click() Dim str As String Dim tmp As String Dim i As Integer Dim ind As Integer If Optionl.Value=True Then ind=1 ’当选中Optionl时,则移1位 ElseIf Option2.Value=True Then ind=2’当选中Option2时,则移2位 Else ind=3’当选中Option3时,则移3位 End If str="" For i=1 To Len(Textl.Text) tmp=Mid(Textl.Text,i,1)’一个一个读人字符 If Asc(tmp)<=Asc("z")And Asc(tmp)>=Asc("A")Then’当输人为字母时加密 If Asc(trap)<=Asc("z")And Asc(tmp)>=Asc("a") Then tmp=Chr((Asc(tmp)-ind-Asc("a")+26)Mod 26+Asc("a")) ’右移ind位,以26为循环周期 Else’当输入为大写字母时 tmp=Chr((Asc(tmp)-ind-Asc("A")+26)Mod 26+Asc("A")) ’右移ind位,以26为循环周期 End If End If str=str+tmp’将字符串连起来 Next i Text2.Text=str’在Textl中显示加密后的字符串 End Sub 单击[*]按钮运行程序,并按要求保存。

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

最新回复(0)