(1)考生文件夹下的工程文件sjl3.vbp中有一个菜单、两个标签和两个文本框。程序运行时,用鼠标右键单击窗体会弹出一个弹出式菜单(如图1-213所示)。当选中“计算100以内自然数之和”菜单项时,将计算100以内自然数之和并放入Textl中;当选中“计算

admin2010-09-02  21

问题 (1)考生文件夹下的工程文件sjl3.vbp中有一个菜单、两个标签和两个文本框。程序运行时,用鼠标右键单击窗体会弹出一个弹出式菜单(如图1-213所示)。当选中“计算100以内自然数之和”菜单项时,将计算100以内自然数之和并放入Textl中;当选中“计算7!”菜单项时,将计算7!并放入Text2中。在给出的窗体文件中已经有了全部控件,但程序不完整。请将事件过程中的注释符去掉,把?改为正确的内容,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。

(2)考生文件夹下的工程文件sjt4.vbp中有如图1-214所示的控件。程序功能如下:程序运行时,在Textl中输入一个商品名称,在Text7.中输入一个数量,单击“计算”按钮,则会在列表框中找到该商品的单价,乘以数量后显示在Text3中(如图1-214所示);若输入的商品名称是错误的,则在Text3中显示“无此商品”(为方便编程,列表框中的每个单价均为4位(含小数点))。请将事件过程中的注释符去掉,把?改为正确的内容,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。

选项

答案 第1小题 【操作步骤】 步骤1:打开考生文件中的本题工程文件sjt3.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: If Button=2 Then PopupMenu mypopmenu For k=n TO 1 Step-l Text2=fact(7) 步骤2:按要求将文件保存至考生文件夹中。 第2小题 【操作步骤】 步骤1:打开考生文件夹下的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: For k=l To Listl.ListCount-1 name=Left(List1.List(k),n-1) price=Val(Right(Listl.List(k),4)) Text3="无此商品" 步骤2:按要求将文件保存至考生文件夹中。

解析  第1小题
    ①鼠标事件分点击事件和状态事件。点击事件有单击事件(Click)和双击事件(DblClick),不区分左右键;状态事件有按下事件(MouseDown)、移动事件(MouseMove)和弹起事件(MouseUp)。
    状态事件涉及Button、Shift两个参数:BuRon参数是一个整数,值可能为l(左键)、2(右键)或4(中间键);Shift参数也是一个整数,用来代表用户是否按下键(值为1)、键(值为2)、键(值为4)或这些键的组合。
    ②弹出式菜单是显示于窗体之上,独立于菜单栏的浮动式菜单。PopupMenu方法可在对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单。
   要创建本题的弹出式菜单需先用菜单编辑器来建立菜单,并将其主菜单项的可见(即Visible)属性值设置为False,然后在窗体的MouseDown(或MouseUp)事件过程中,判断该事件的Button参数值是否为2,若是则执行窗体的PopupMenu方法来显示菜单。
    在相应菜单项的Click事件过程中,可以调用fact函数来计算71,fact函数是一个求阶乘的函数,通过For循环依次累乘实现。
    第2小题
    本题程序运行时,在文本框中输入商品名称,当单击命令按钮的时候,首先判断该商品是否在列表框中存在。由于列表框中的每一项都是商品名称十空格+单价的组合,因此在循环判断列表框的每一项时,首先找到列表项里面空格的位置,然后取出空格之前的字符就是商品名称,和文本框中输入的数据进行对比,如果一致则说明有此商品,那么取出列表项的后4个字符即商品单价进行操作,并且在退出循环的同时令旗帜变量flag变为Tme。当循环结束后,如果flag变量的值为True则证明有此商品,将单价*数量的值显示在文本框中,否则在文本框中显示“无此商品”。
转载请注明原文地址:https://kaotiyun.com/show/rFmp777K
0

最新回复(0)