Z zj_cat Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-14 #1 一个记录型文件,对中间任一记录能否任意进行贮存更新而不需要临时文件?或者有无其它类型文件或方法可以实现该功能?
C cch_b Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-14 #3 可以的,对于这种文件,你用RESET后,想怎么样都可以,读、写、定位, 什么都可以。 其实文本文件也可以的,先定义一个TSTRINGS类型的变量,然后用LOADFROM FILE方法从文本文件中读入,至于对TSTRINGS类型的变量的处理就可以很灵活了 最后用SAVETOFILE写回去就行了
可以的,对于这种文件,你用RESET后,想怎么样都可以,读、写、定位, 什么都可以。 其实文本文件也可以的,先定义一个TSTRINGS类型的变量,然后用LOADFROM FILE方法从文本文件中读入,至于对TSTRINGS类型的变量的处理就可以很灵活了 最后用SAVETOFILE写回去就行了
K Kang Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-16 #8 reset(f); seek(f,4); write(f,...); 第五条还是第五条,其他都不影响
小 小刚 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-16 #9 你写入时是第几条就是第几条。读取时先用seek(f,RecNo)定位, 再用write(...)读取
王 王亮 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-17 #10 1)定长记录 通常记录型文件最适合于定长记录。 每次增加实际上就是对文件追加, 删除一个记录,通常是把文件最后一个记录移动到要删除的记录。 修改就是覆盖写。 2)不定长记录 这种处理比较麻烦,好一些的办法就是把不定长的部分放在单独的文件, 十条记录十个不定长文件(类似于DBF数据库的MEMORY字段),在主文件里记 录不定长部分所在文件的文件名(因此主文件就变为定长)。如果没有内容, 则文件名字段为空。删除时就是把那个单独文件删除,其它处理于定长相同。 还有一种处理就更麻烦,就是全写在一个文件中,不定长部分的开始要记 录不定长的SIZE(长度),通常以追加方式增加记录,删除时采用对记录首加 标志的方法(带来日后需定期维护的麻烦)。没有实际意义的修改,而是删除 后在追加。
1)定长记录 通常记录型文件最适合于定长记录。 每次增加实际上就是对文件追加, 删除一个记录,通常是把文件最后一个记录移动到要删除的记录。 修改就是覆盖写。 2)不定长记录 这种处理比较麻烦,好一些的办法就是把不定长的部分放在单独的文件, 十条记录十个不定长文件(类似于DBF数据库的MEMORY字段),在主文件里记 录不定长部分所在文件的文件名(因此主文件就变为定长)。如果没有内容, 则文件名字段为空。删除时就是把那个单独文件删除,其它处理于定长相同。 还有一种处理就更麻烦,就是全写在一个文件中,不定长部分的开始要记 录不定长的SIZE(长度),通常以追加方式增加记录,删除时采用对记录首加 标志的方法(带来日后需定期维护的麻烦)。没有实际意义的修改,而是删除 后在追加。