考生文件夹下有工程文件sjt5.vbp和数据文件in5.txt。in5.txt中有多条记录,每条记录占一行,含4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。程序运行时,会把in5...
程序运行时,会把in5.txt中的所有记录读入数组a中(每个数组元素是一条记录),并在窗体上显示第1条记录(如图所示)。单击“首记录”、“下一记录”、“上一记录”、“尾记录”等按钮,可显示相应记录,并且当显示第1条记录时,“首记录”、“上一记录”按钮不可用(如图所示);当显示最后1条记录时,“尾记录”、“下一记录”按钮不可用;其他情况,所有按钮均可用。
请将事件过程中的注释符去掉,把?改为正确的内容,以实现上述程序功能。
注意:
考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。
参考解析: 【考点分析】本题考点有:用户自定义数据类型,自定义过程及调用,IIf()函数以及文件操作相关语句Open、Close、Input等。
【解题思路】Sub putdata过程用来显示记录,Sub SetEnabled过程用来控制命令按钮可用或不可用。
【操作步骤】
步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。
参考答案(阴影部分是需要考生填入的内容)
Private Type rec '自定义数据类型
name As String * 3
Math As Integer
Chinese As Integer
English As Integer
End Type
Dim a(20) As rec, num As Integer, n As Integer
Private Sub readdata()
Open App.Path & "\in5.txt" For Input As #1 '打开文件
k = 1
Do While Not EOF(1) 'eof()函数为判断是否到文件尾函数
Input #1, a(k).name, a(k).Math, a(k).Chinese, a(k).English '文件记录读入数组a()
k = k + 1
Loop
Close #1 '关闭文件
num = 20 '记录条数
End Sub
Private Sub Command1_Click()
n = 1
putdata n '调用putdata过程
End Sub
Private Sub Command2_Click()
n = n + 1
putdata n '调用putdata过程
End Sub
Private Sub Command3_Click()
n = n - 1
putdata n '调用putdata过程
End Sub
Private Sub Command4_Click()
n = num
putdata n '调用putdata过程
End Sub
Private Sub Form_Load()
readdata
Command1_Click
End Sub
Private Sub putdata(k As Integer)
Label1.Caption = "第" & k & "条记录"
Text1 = a(k).name
Text2 = a(k).Math
Text3 = a(k).Chinese
Text4 = a(k).English
Text5 = a(k).Math + a(k).Chinese + a(k).English
SetEnabled (k)
End Sub
Private Sub SetEnabled(m As Integer)
Command1.Enabled = IIf(m = 1, False, True)
Command2.Enabled = IIf(m = num, False, True)
Command3.Enabled = IIf(m = 1, False, True)
Command4.Enabled = IIf(m = num, False, True)
End Sub
步骤3:调试并运行程序,关闭程序后按题目要求存盘。