VB6.0的LOF问题

高手们帮我说下,VB6.0的LOF问题?

Private type student
sno as integer
sname as string*10
Ssex as string *2
sage as integer
end type
dim stu as student
private sub command1_click()
stu.sno=val(text1.text)
stu.sname=text2.text
stu.ssex=text3.text
stu.sage=val(text4.text)
open "e:/student.dat" for random as 1 len=len(stu)
recordno=lof(1)/len(stu)+1
put#1,recordno,stu
close#1
end sub
其中的recordno=lof(1)/len(stu)+1怎么理解
最新回答
软耳兔兔

2024-11-04 10:30:51

LOF 函数

返回一个 Long,表示用 Open 语句打开的文件的大小,该大小以字节为单位。

语法

LOF(filenumber)

必要的 filenumber 参数是一个 Integer,包含一个有效的文件号。

注意 对于尚未打开的文件,使用 FileLen 函数将得到其长度。

LOF 函数示例
本示例使用 LOF 函数来得知已打开文件的大小。本示例假设 TESTFILE 文件内含文本数据。

Dim FileLength
Open "TESTFILE" For Input As #1 ' 打开文件。
FileLength = LOF(1) ' 取得文件长度。
Close #1 ' 关闭文件。
浮华沧桑

2024-11-04 06:14:51

lof(1) 就是保存前的文件长度, len(stu)单条记录的长度,
lof(1)/len(stu) 就是原来保存在文件中的记录条数。
recordno=lof(1)/len(stu)+1 , 就代表新的需要保存记录的顺序号