请教:随机文件里有10条记录,如何删除最后一条记录?急,在线等

解决方案 »

  1.   

    在随机文件中删除一个记录时,并不是真正删除记录,而是把下一个记录重写到要删除的记录上,其后的所有记录依次前移。例如前面建立的文件有4个记录(为便于操作,简单的输入):    张三    办公室    35    850
        李四    财务处    32    780
        王五    供销科    36    810
        徐六    人事科    42    890假定要删除第二个记录“李四    财务处    32    780”。其方法是:将第三个记录写到第二个记录上,第四个记录写到第三个记录上,其内容变为:    张三    办公室    35    850
        王五    供销科    36    810
        徐六    人事科    42    890
        徐六    人事科    42    890文件中仍有4个记录,原来的第二个没有了,最后两个记录相同。也就是说,最后一个记录是多余的。为了解决这个问题,可以把原来的记录个数减1,由4个变为3个。这样,当再向文件中增加记录时,多余的记录即被覆盖!根据上面分析,编写删除记录的通用过程如下:Sub Deleterec(position As Integer)  '参数position是要删除的记录的记录号
        repeat:
            Get #1, position + 1, Recordvar
            If Loc(1) > RecordNumber Then GoTo finish
            Put #1, position, Recordvar
            position = position + 1
        GoTo repeat
        finish:
        RecordNumber = RecordNumber - 1
    End Sub以上为我收藏的一段操作说明,希望能对楼主有用!