在名称为Forml的窗体上有一个Label控件和两个命令按钮,数据文件personl.dat存放员工的编号、姓名、工资。自定义一个数据类型person,字符型数据定长为12;按“开始”按钮后,从考生文件夹下的personl.dat中读出所有数据并写人考生文

admin2010-07-13  34

问题 在名称为Forml的窗体上有一个Label控件和两个命令按钮,数据文件personl.dat存放员工的编号、姓名、工资。自定义一个数据类型person,字符型数据定长为12;按“开始”按钮后,从考生文件夹下的personl.dat中读出所有数据并写人考生文件夹下的person.dat文件中;执行完毕,“开始”按钮变成“完成”,且无效(变灰),如图39—6所示。

    注意:去掉程序中的注释符“’”,把程序中的“?”改为正确的内容。考生的工程文件以文件名sj5.vbp
存盘,窗体文件以文件名sj5.frm存盘。

选项

答案本题要利用EOF()函数判断是否到文件末尾。根据题意,将一个标签控件和两个命令按钮添加到窗体中,标签控件的Caption属性为“从源文件./personl.dat中读人数据,保存到目标文件./person.dat中”,命令按钮的名称分别为Commandl和Command2,Caption分别为“开始”和“保存”,设置完成后双击Cornmandl进入代码编写窗口,具体代码如下: Private Type person’结构体声明 n As Integer nam As String*12 "ham为12个字符 salary As Integer End Type Dim per()As person Dim hum As Integer Private Sub Commandl_Click() Dim trap As person Dim i num=0 Open"App.Pathg&/personl.dat"For Input As#1 ’打开文件准备读人 While EOF(1)=False’EOF判断是否读到最后 Input#1,trap.n,trap.nam,tmp.salary’读取结构体的各个元素 num=num+l ’计数加1 Wend Close#1 ReDim per(num)As person’重新声明结构体 Open"App.Path&/personl.dat”For Input As#1 ’打开文件准备读入 For i=1To num’循环读取 Input#1,per(i).n,per(i).nam,per(i).salary’向数组中读取数据 Next i Close#1 Commandl.Enabled=False’Commandl不可用 Commandl.Caption="完成" ’Commandl标示改为完成 End Sub Private Sub Command2_Click() Dim i As Integer Open”App.Pathg&/person.dat"For Append As#1 ’打开文件准备写入 For i=1 To num’循环写入 Print#l,per(i).n,per(i).nam,per(i).salary’写入数据 Next i Close#1 End Sub 单击[*]按钮运行程序,并按要求保存。

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

最新回复(0)