Показать сообщение отдельно
Старый 25.05.2006, 12:46     # 1
Yurij
Member
 
Аватар для Yurij
 
Регистрация: 30.05.2003
Адрес: Литва
Пол: Male
Сообщения: 329

Yurij Луч света в тёмном царствеYurij Луч света в тёмном царствеYurij Луч света в тёмном царствеYurij Луч света в тёмном царствеYurij Луч света в тёмном царствеYurij Луч света в тёмном царстве
Pascal:удаление записи из файла.

Всем привет!
Столкнулся с проблемой. Пишу телефонную книжку.Вроди, как ввод и вывод нормально работают, а вот со стираньем записи из файла беда.
Подсказали,что можно сделать, так как в этом примере, но у меня не работает.
В программе создаётся тип свой переменной:
type
zapis=record
imia:string[20];
fam:string[20];
god_r:string[20];
ulica:string[20];
kvartira:string[20];
tel:string[20];
end;
..... var p:zapis; duom : file of zapis;

Вся инфорамция записывается в эти переменные, нормально выводится. Вот сама проблематичная проблема стирания:
Код:
unit d_tr;
interface
      uses crt,d_iv;
procedure tel_tr;
implementation
type
    zapis=record
     imia:string[20];
     fam:string[20];
     god_r:string[20];
     ulica:string[20];
     kvartira:string[20];
     tel:string[20];
     end;
      var i:integer;
procedure tel_tr;
begin
clrscr;
vybor;
assign(duom, 'c:\duomenys.txt');
reset(duom);
if filesize(duom)=0  then begin
writeln;
write('Telefonnaja kniga pusta');
end else begin
write('Kakoj telefon budem stirat ?');
readln(i);
if i>filesize(duom)-1
then begin
writeln;
write('Takogo telefona v knige net!!!');
writeln('Vyberite menu');
end
else begin
reset(duom);
seek(duom,filesize(duom)-1);
read(duom,p);
seek(duom,i);
write(duom,p);
seek(duom,filesize(duom)-1);
truncate(duom);
write('Telefon stert!');
end;
end;
end;
end.
Подскажите, как можно легче и правильнее создать удаление записи по номеру телефона.(т.е. абонимента)
Спасибо!
Yurij вне форума