Типизированные файлы. Найти ошибку

Ответить
didman
Сообщения: 1
Зарегистрирован: 18 мар 2009, 09:35

Люди скажите что не так

Код: Выделить всё

uses crt;
type
stfio=string[20];
stnam=string[20];
stizdat=string[20];
stgod=string[20];
ststran=string[20];
recbook=record
fio:stfio;
name:stnam;
izdat:stizdat;
god:stgod;
stran:ststran;
end;
var
bookfile:file of recbook;
work:recbook;
vid:byte;
end_menu:boolean;
name1:string[12];
procedure name1_file;
begin
write ('ўўҐ¤ЁвҐ Ё¬п д ©«  ¤ **ле, enter');
readln(name1);
end;
procedure addrec;
var
fio,name,izdat,god,stran:string;
begin
writeln('ўў®¤ § ЇЁбЁ *®¬Ґа',filepos(bookfile)+1);
with work do
write ('ўўҐ¤ЁвҐ ”€Ћ');
readln(fio);
write ('ўўҐ¤ЁвҐ * §ў *ЁҐ Є*ЁЈЁ');
readln(name);
writeln('ўўҐ¤ЁвҐ Ё§¤ ⥫мбвў®');
readln(izdat);
writeln('ўўҐ¤ЁвҐ Ј®¤ Ё§¤ *Ёп');
readln(god);
writeln('ўўҐ¤ЁвҐ Є®«ЁзҐбвў® бва *Ёж');
readln(stran);
write (bookfile,work);
end;

procedure create_book_bibl;
var
ind,count:integer;
begin
name1_file;
assign(bookfile,name1);
rewrite(bookfile);
writeln('б®§¤ *ЁҐ § ЇЁбЁ д ©« ',name1);
write ('ўўҐ¤ЁвҐ зЁб«® § ЇЁбҐ©');
readln(count);
for ind:=1 to count do
addrec;
writeln('б®§¤ *ЁҐ д ©«  ¤ **ле § ўҐаиҐ*®');
close (bookfile);
end;
procedure outputrec;
begin
read(bookfile,work);
with work do
begin
write ('§ ЇЁбм *®¬Ґа',filepos(bookfile),':');
writeln('дЁ®:',fio,'* §ў *ЁҐ Є*ЁЈЁ:',name,'* §ў *ЁҐ Ё§¤ ⥫мбвў :',izdat,'Ј®¤ Ё§¤ *Ёп:',god,'Є®««ЁзҐбвў® бва *Ёж:',stran);
end;
end;
procedure uutourec;
begin
name1_file;
assign (bookfile,name1);
reset(bookfile);
if ioresult=0 then begin
seek (bookfile,0);
writeln('ўлў®¤ бЇа ў®з*ЁЄ  Ё§ д ©« ',name1);
while (not eof(bookfile)) do
outputrec;
end
else
writeln('д ©« б Ё¬Ґ*Ґ¬ ',name1,'*  ¤ЁбЄҐ *Ґв');
end;
procedure updaterec;
var
namrec:longint;
begin
name1_file;
assign(bookfile,name1);
reset(bookfile);
if ioresult=0 then
begin
write('гЄ ¦ЁвҐ *®¬Ґа Ё§¬Ґ*塞®© § ЇЁбЁ');
readln(namrec);
seek(bookfile,namrec-1);
outputrec;
seek(bookfile,namrec-1);
writeln('§ ¤ Ґ¬ *®ў®Ґ §* зҐ*ЁҐ',namrec,'§ ЇЁбЁ');
addrec;
close(bookfile);
end
else
writeln('д ©«  б Ё¬Ґ*Ґ¬',name1,'*  ¤ЁбЄҐ *Ґв');
end;
procedure addrectoend;
begin
name1_file;
assign (bookfile,name1);
reset(bookfile);
if ioresult=0 then
begin
seek(bookfile,filesize(bookfile));
addrec;
writeln('Ё§¬Ґ*Ґ*ЁҐ д ©«  ¤ **ле Ё¬ҐҐв',filesize(bookfile),'§ ЇЁбЁ,');
close (bookfile);
end
else
writeln('д ©«  б Ё¬Ґ*Ґ¬',name1,'*  ¤ЁбЄҐ *Ґв');
end;
procedure faindfio;
var
bookfile:file of recbook;
work:recbook;
maska:stfio;
rez_find:boolean;
res_file:boolean;
countrec:integer;
begin
name1_file;
assign(bookfile,name1);
reset(bookfile);
if ioresult=0 then
begin
write('ўўҐ¤ЁвҐ дЁ® ¤«п Ї®ЁбЄ ');
readln(maska);
res_file:=false;
countrec:=0;
while(not eof(bookfile)) do
begin
read(bookfile,work);
with work do
if pos(maska,fio)<>0 then
begin
rez_find:=true;
inc(countrec);
writeln('д ¬Ё«Ёп:',fio,'* §ў *ЁҐ Є*ЁЈЁ:',name,'* §ў *ЁҐ Ё§¤ ⥫мбвў :',izdat,'Ј®¤ Ё§¤ *Ёп:',god,'Є®««ЁзҐбвў® бва *Ёж:',stran);
end;
if rez_find then
else
close(bookfile);
end
end;
begin
end_menu:=false;
repeat
writeln(' аеЁў ЎЁЎ«Ё®вҐЄЁ');
writeln('ўлЎЁаЁвҐ ўЁ¤ а Ў®вл');
writeln('1-б®§¤ *ЁҐ д ©« ');
writeln('2-Їа®б¬®ва');
writeln('3-Ё§¬Ґ*Ґ*ЁҐ');
writeln('4-¤®Ў®ў«Ґ*ЁҐ');
writeln('5-Ї®ЁбЄ');
writeln('0-§ ўҐаиҐ*ЁҐ а Ў®вл');
write('ў и ўлЎ®а');
readln(vid);
case vid of
1:create_book_bibl;
2 :o utputrec;
3:updaterec;
4:addrectoend;
5:faindfio;
0:end_menu:=true;
end;
begin
writeln('¤«п Їа®¤®«¦Ґ*Ёп *¦¬ЁвҐ enter');
readln;
clrscr;
until end_menu;
end.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Если Вы хотите, чтобы кто-то поковырялся в вашем исходном коде, то хотя бы оформите его как полагается - с отступами и сообщите что именно у Вас не получается: если не компилируется, то с какой ошибкой и на какой строке и т.д.

А иначе вряд ли Вам кто-то поможет.
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Чтобы не было такой абракадабры во writeln'ах, можно открыть файл *.pas с помощью Word, затем выбрать "Сохранить как..." и сохранить его с расширением *.doc. Потом из этого документа копировать и вставлять в сообщение.
Нет религии выше истины
Ответить