考生文件夹下有工程文件sjt5.vbp和数据文件in5.txt。in5.txt中有多条记录,每条记录占一行,含4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。程序运行时,会把in5.txt中的所有记录读入数组a中(每个数组元素是一条记录

admin2018-12-20  36

问题 考生文件夹下有工程文件sjt5.vbp和数据文件in5.txt。in5.txt中有多条记录,每条记录占一行,含4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。程序运行时,会把in5.txt中的所有记录读入数组a中(每个数组元素是一条记录),并在窗体上显示第1条记录(如图所示)。单击“首记录”“下一记录”“上一记录”“尾记录”等按钮,可显示相应记录,并且当显示第1条记录时,“首记录”“上一记录"按钮不可用,如图3.5所示;当显示最后1条记录时,“尾记录”“下一记录”按钮不可用;其他情况,所有按钮均可用。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。

    注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。

选项

答案步骤1:打开考生文件夹中的工程文件sjt5.vbp,在代码编辑窗口中,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: num=k-1 n=n-1 Private Sub putdata(k As Integer) SetEnabled k Command4.Enabled=IIf(m=num,False, True) 步骤2:按键运行程序,单击各个按钮测试验证。 步骤3:按要求将文件保存至考生文件夹中。

解析 分析题目可知,在窗体的Load事件处理过程中,调用了readdata过程把in5.txt文件里面的内容读出放到数组a里面。putdata过程将某条记录信息显示在节目上,四个按钮控件的事件响应过程中首先给变量n赋值,然后调用“putdata n”来显示记录。
    第一个“?”处是给变量num赋值,由于程序在显示第一条记录的时候“上一个”按钮不可用,因此需要知道总的记录条数,根据“尾记录”按钮的事件响应过程代码“n=num”可知,num变量用于记录总的记录条数。在Do While循环结束之后,k的值为记录条数+1,因此第一个“?”处是k.1;第二个“?”处的Sub过程是显示上一个记录,因此n应该减1;第三个“?”处是补充Sub过程的入参,根据Sub过程内部代码可知,如参数为k;第四个“?”处是补充调用SetEnabled过程的参数,SetEnabled过程根据当前是第几条记录来控制按钮是否可用,在putdata过程中,当前记录数为k,因此第四个“?”处为k:最后一个“?"是设置Command4按钮是否可用,如果当前记录m是最后一条,则Command4按钮不可用,否则可用,如果当前记录m和总的记录数num相等则表示当前是最后一条。
转载请注明原文地址:https://kaotiyun.com/show/aVFp777K
0

最新回复(0)