这个问题太难了,没有人能。。。。(100分)

  • 主题发起人 主题发起人 dxm
  • 开始时间 开始时间
D

dxm

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何删除一个记录文件中指定的记录
如:
Tmyrecord=record
name:string[20];
pass:stirng[2];
number:integer;
end;
一个文件如my.dat全是这样的记录,添加可以,插入可以,但删除我试了很多方法都不行,请问谁
能解决这个问题?
2。记录问题
Tmsg=record
msg:cardinal;
case integer of
0:(......);
1:(......);
end;
请问这个integer是根据msg取值吗?还是别的什么的?
 
2。记录问题
这个类同于C里面的: STRUCT TUNIONSTRUCT
{
CHAR *STRFIELD;
UNION
{
DOUBLE D;
INT I;
}
}
即内存覆盖。这里的INTEGER没实际意义。。。。。
 
写入空值,然后做一个删除标志。以后需要的时候再进行“压缩”操作,生成一个新的文
件。删除记录自然就不再写入了就像foxbase一样。
 
1。提供一点思路:
把要删除的记录的后部分记录前移一个记录位置,最后的一个记录位置清空(填空格)!
2。记录问题
这个类同于C里面的: STRUCT TUNIONSTRUCT
{
CHAR *STRFIELD;
UNION
{
DOUBLE D;
INT I;
}
}
即内存覆盖。这里的INTEGER使用时没实际意义。。。。。
 
删除我提供给你一个思路;
把所有记录读到一个记录数组里,然后从数组里删除
你要删除的记录(这很好做),接着把你的记录文件
清空,重新写如记录,不就行了
 
后退
顶部