Всем привет!
Столкнулся с проблемой. Пишу телефонную книжку.Вроди, как ввод и вывод нормально работают, а вот со стираньем записи из файла беда.
Подсказали,что можно сделать, так как в этом примере, но у меня не работает.
В программе создаётся тип свой переменной:
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.
Подскажите, как можно легче и правильнее создать удаление записи по номеру телефона.(т.е. абонимента)
Спасибо!