我自定义了一个type
type
Name as string
Id as integer
Class as string
end type 想把它写到一个文件中去,文件名自己定
比如,今天写了3,4个rec进去了。明天想删除其中一个,或者想增加两个.
后天想查询.
就是说想实现文件象数据库那样的操作,可以吗? 不想用数据库。...因为数据量不是很大,而且很容易出问题.就想用文件来解决
type
Name as string
Id as integer
Class as string
end type 想把它写到一个文件中去,文件名自己定
比如,今天写了3,4个rec进去了。明天想删除其中一个,或者想增加两个.
后天想查询.
就是说想实现文件象数据库那样的操作,可以吗? 不想用数据库。...因为数据量不是很大,而且很容易出问题.就想用文件来解决
type
Delete as boolean'删除标记,只有优化文件的时候才真正删除数据
Name as string
Id as integer
Class as string
end type
Open "C:\a.txt" For Random As #1 Len=Len(Typename)对于写入:
Put #文件号,[记录号],变量名
Put #1,,Record1
上面一句省略记录号,则表示在当前记录后插入一条记录,常用于连续写入时。对于读取操作:
Get #文件号,[记录号],变量名
Get #1,1,FirstRec
读取文件1的第一个记录到FirstRec中去
如果省略记录号,则表示读出当前记录后的一条记录,也用于连续读取。对于查询操作:
一般来说,有两种方法,一种是查询法,一种是直接取得。
查询法很简单就是用一个循环比较ID:
Count= Lof(1)/Len(Record)
For i=1 to Count
Get #1,i,TmpRec
if TmpRec=ID Then Exit For
Next
if i = Count + 1 then
Msgbox "NULL"
else
QueryRec = TmpRec
end if还有一种是直接取得法,更快捷,是利用记录大小和记录ID来直接求得记录起始地址。
Get #1,QueryRec.ID,QueryRec
当然,前提是有一个递增的ID,就像ACCESS中的自动增长字段类型一样。
比方说我要覆盖文件的第一个字节,put #1,1,255
下一期的课程!