8.3 随机文件
存取记录时,只要说明所需记录的编号,系统就以此算出记录所在位置
(1) 使用 Type…End Type 语句定义一个记录类型,该类型包括多个数据项,并与文件中记录应包括的域一致。
(2) 指定 Random 类型打开文件,记录定长,打开文件后,就可以存或取任一个记录。
(3) 分别通过 Get 和 Put 语句,并指定记录号进行读一个记录或存一个记录
格式:
Get # 文件号 , [ 记录号 ], 变量
Put # 文件号 , [ 记录号 ], 变量
例 8.9 建立职工工资随机文件

建立一个职工工资信息的随机文件,其中包括职工的职工号 ( 从 001 开始 ) 、姓名及工资三种数据。采用职工号为记录号。设计步骤如下:
(1) 创建应用程序的用户界面
(2) 在标准模块 Module1 中用 Type 语句定义一个职工工资记录类型
Type Salary ' 定义一个记录类型
Name As String* 8 ' 姓名,定长字符串类型
Salary As Long ' 工资数
End Type
Public sal As salary ' 定义 sal 为记录类型变量
不必把职工号作为记录的一个数据项存入文件
(3) 利用事件过程 Form_Load 来进行文件处理
private Sub Form_Load()
Open "data2.dat" For Random As #1 Len = Len(sal)
End Sub
Private Sub Command1_Click() '" 添加 " 按钮的 click 事件过程
Dim recno As Integer
recno = Val(Text1.Text) ' 记录号
sal.name=Text2.Text ' 姓名
sal.salary = Val(Text3.Text) ' 工资数
Put #1,recno,sal ' 存入记录
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus ' 设置焦点
End Sub
Private Sub Command2_Click() '" 结束 " 按钮的 click 事件过程
Close #1
Unload Me
End Sub |