注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
在考生文件夹下有工程文件sjt5.vbp及窗体文件sjt5.frm,该程序是不完整的,请在有号的地方填入正确内容,然后删除及所有注释符(即’号),但不能修改其他部分。存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。
本题描述如下:
在名称为Form1的窗体上有五个Labe1控件和两个命令按钮,数据文件stud1.dat存放考生的考号、姓名、成绩。自定义一个数据类型stu,字符型数据定长为10;按“开始”按钮后,能从考生文件夹下的stud1.dat中读出所有数据并写入考生文件夹下的stud.dat文件中;执行完毕,“开始”按钮变成“完成”,且无效 (变灰)。程序运行界面如图13-6所示。
参考答案: 单击按钮触发其Click事件,标题由Caption属性设置;标签的标题也是由Caption属性设置;文件的操作一般按照如下步骤进行:打开或建立文件、进行读或写操作、关闭文件。
自定义数据类型通过Type语句来实现,形式如下:
Type 自定义类型名
元素名[(下标)]As类型名
……
[元素名[(下标)]As类型名]
End Type
对于字符串变量类型,根据其存放的字符串长度是否固定,其定义方法有两种:
Dim 字符串变量名 As String
Dim 字符串变量名 As String*字符数
程序中用到了App对象的Path属性。Path属性返回或设置当前路径,在设计时是不可用的,对于App对象,在运行时是只读的。解题步骤:
第一步:编写程序代码。
程序提供的代码:
Private Type stu
num As Long
’ nam As String
score As Single
’End
Private Sub COMEXIT_Click()
End
End Sub
Private Sub COMSTART_Click()
’Dim rec As
Dim i As Integer
’myfileA=App. Path & "\" &
’myfileB=App. Path & "\" &
Open myfilel For Input As #A
Open myfileB For Output As #B
For i=A To H
’ Input , rec.num, rec.nam, rec.score
’ Write , rec.num, rec.nam, rec.scbre
Next i
Close
’COMSTART.Caption=
’COMSTART.Enabled=
End Sub
参考代码:
Private Type stu
num As Long
nam As String * A0
score As Single
End Type
Private Sub COMEXIT_Click()
End
End Sub
Private Sub COMSTART_Click()
Dim rec As stu
Dim i As Integer
myfileA=App.Path & "\" & "studA.dat"
myfileB=App.Path & "\" & "stud.dat"
Open myfileA For Input As #A
Open myfileB For Output As #B
For i=A To H
Input #A, rec.num, rec.nam, rec.score
Write #B, rec.num, rec.nam, rec.score
Next i
Close
COMSTART.Caption="完成"
COMSTART.Enabled=False
End Sub
第二步:调试并运行程序。
第三步:按题目要求存盘。