用tfilestream进行文件的写操作时如何换行?(20分)

  • 主题发起人 主题发起人 noall
  • 开始时间 开始时间
N

noall

Unregistered / Unconfirmed
GUEST, unregistred user!
如果可以换行的那读取时又该怎么办呢?
 
通常用tfilestream进行读写的文件都是二进制文件,换行没有什么意义。如果需要换行,
通常是用textfile。实在需要用tfilestream写入换行,则写入#13#10即可。读取时没有
特别的要求。
 
我现在有这样的一个问题:
我把数据库的记录用tfilestream写到文件a中,然后再用tfilestream读写到数据库中。
但数据库的结构会发生了变化(按顺序从后面的字段开始增加一个或几个字段没有删除字段的),
这样我在改变结构前写到文件a中的数据,在数据库结构改变后读取,
就不 能写到相对应的字段中,所以,我想写完一条记录后换行,
这样子我就能保证前面几个字段的值就会正确写入。

请问我应该如何做到呢?谢谢
 
再说一遍你的要求,我看不懂。
 
是这样的:
我定义了一个记录结构,里面有三个属性,
Type
pmyrecord=^myrecord
myrecord=record
a:string[15];
b:Integer;
c:string[10];
next:pmyrecord;
prior:pMyRecord;
end;
现有 OneHead:pMyRecord一个指针链表头,我用f:tfilestream将这个指针链表写入文件. 读取时有用三个read。
这是一个版本了。
接着因为需要我要改变上面结构,如增加了一个属性 d:string[255];同样的指针链表里的记录值也用tfilestream写入文件。
这样在改变后我的用四个read去读取文件里的值。

这就产生了一个问题:我用改变后读取文件的方法去读取改变前所写入文件的内容。从第二条记录开始,会将
属性a的值读到d中去。记录就不会一一对应了。

文笔不好,不知能否明白我的意思。QQ:931486


 
有何良策解决呢?各位老大!
 
接受答案了.
 
后退
顶部