Как сделать удаление записи из файла в паскале? помогите с кодом)

0 голосов
14 просмотров

Как сделать удаление записи из файла в паскале? помогите с кодом)


Информатика (20 баллов) | 14 просмотров
Дан 1 ответ
0 голосов

Procedure Del_N(var f:fail);
var n,i:integer;
    c:char;
    x:stud;
begin
write('Удалить запись № ');
readln(n);
reset(f);
if (filesize(f) begin
  writeln('В файле нет такой записи');
  close(f);
  write('Press Enter...');
  readln;
  exit;
 end;
if n=filesize(f)then
 begin
  seek(f,filesize(f)-1);
  truncate(f);
  close(f);
  write('Press Enter...');
  readln;
  exit;
 end;
seek(f,n-1);
for i:=n-1 to filesize(f)-2 do
 begin
  seek(f,i+1);
  read(f,x);
  seek(f,i);
  write(f,x);
 end;
seek(f,filesize(f)-1);
truncate(f);
close(f);
write('Press Enter...');
readln
end;

(83 баллов)