program TOY; uses crt; const Norm=$17; sel=$70; N=3; var menu:array [1..N] of string[20]; punkt,x,y:integer; ch:char; f:text; obr,fam,naz,god:string; got,obr1:integer; l,m,k:integer; procedure punkt1; begin ClrScr; assign(f,'c:\toy.txt'); {$I-} append(f); {$I+} if IoResult<>0 then Rewrite(f); writeln('Skoliko ugrushek dobavliem'); readln(l); for m:=1 to l do begin writeln('Stoumosti v rublih- '); readln(fam); writeln(f,fam); write('Nazvanue ugrushku- '); readln(naz); write('Vozrast detei dli kotorih ona prednaznachena- '); readln(god); writeln(f,naz); writeln(f,god); end; close(f); writeln('Информация добавлена в файл c:\toy.txt'); begin assign(f,'c:\toy.txt'); reset(f); repeat write('Nazvanue ugrushku- '); readln(obr); if length(obr)<>0 then begin reset(f); k:=0; while not EOF(f) do begin readln(f,fam); readln(f,naz); readln(f,god); if naz=obr then begin writeln(naz,' ',fam,' ',god); k:=k+1; end; end; if k=0 then writeln('Сведений о' ,obr, 'НЕТ'); end; until length(obr)=0; close(f); writeln(''); readln; end; end; procedure punkt2; begin ClrScr; assign(f,'c:\toy.txt'); {$I-} append(f); {$I+} if IoResult<>0 then Rewrite(f); writeln('Skoliko ugrushek dobavliem'); readln(l); for m:=1 to l do begin writeln('Stoumosti ugrushku v ryblih- '); readln(fam); write('Nazvanue ugrushku- '); readln(naz); write('Vozrast detei dli kotorih ona prednaznachena- '); readln(god); writeln(f,fam); writeln(f,naz); writeln(f,god); end; close(f); writeln('Информация добавлена в файл c:\toy.txt'); begin assign(f,'c:\toy.txt'); reset(f); repeat write('Vozrast detei dli kotorih ona prednaznachena- '); readln(obr1); if length(obr)<>0 then begin reset(f); k:=0; while not EOF(f) do begin readln(f,fam); readln(f,naz); readln(f,got); if got>obr1 then begin writeln(got,' ',fam,' ',naz); k:=k+1; end; end; if k=0 then writeln('Сведений о' ,obr1, 'НЕТ'); end; until length(obr)=0; writeln('+++++++++++++'); readln; end; end; procedure MenuToScr; var i:integer; begin ClrScr; for i:=1 to N do begin GotoXY(x,y+i-1); writeln(menu[i]); end; TextAttr:=sel; GotoXY(x,y+punkt-1); write(menu[punkt]); TextAttr:=Norm; end; begin menu[1]:='Поиск по названию'; menu[2]:='Изданные позже'; menu[3]:='ВЫХОД'; x:=5; y:=5; TextAttr:=Norm; MenuToScr; repeat ch:=ReadKey;{чтение кода клавиши} if ch=chr(0) then begin ch:=readkey; case ch of Chr(80): {строка вниз} if punkt1 then begin GotoXY(x,y+punkt-1); punkt:=punkt-1; textAttr:=sel; GotoXY(x,y+punkt-1); write(menu[punkt]); textAttr:=Norm; end; end; end else if ch=chr(13) then begin case punkt of 1:punkt1; 2:punkt2; 3:ch:=chr(27); end; MenuToScr; end; until ch=chr(27); {27-код Esc} end.