Правильная ли процедура?

посмотрите плиз верно ли я написала процедуру удаления текущей записи из файла??? работа с типизированным файлом
procedure Udalenie(var z:knigi); var i:integer; f:text; ff:file of knigi; begin Seek(f,i); Read(f,z); Reset(f); Seek(f,ff); Rewrite(ff); writeln('Номер текущей записи:', Filepos(f)+1); if FilePos(f)=FileSize(f) then Writeln('обнаружен конец файла'); Read(f,z.janr);
Read(f,z.avtor);
Read(f,z.nazvanie);
Read(f,z.izdatelstvo);
Read(f,z.god_izdaniya);
write(f,z.Janr);
write(f,z.Nazvanie);
write(f,z.Izdatelstvo);
write(f,z.God_izdaniya);
Close(f);
Erase(f);
Close(ff);
Rename(f,ff);
end;
2 ответа

А вы сами её проверяли?! И как? Работает?...нет, неверно. 1) для чего используется текстовый файл, если удалить нужно из типизированного файла? 2) вот такое даже не откомпилируется: Seek(f,ff);вообще, идея правильная - это проще делать через дополнительный файл. но реализация у Вас - просто кошмар... p.s. нужно в цикле переписать все записи из одно файла в другой за исключением той записи, которую удаляем.


помогите пожалуйста исправить, сделанные мной, ошибки))