gin
rozd: = '0 '; {Відкриває розділ}
razdel: = 0; {Показує що відкрито розділ}
end;
podRazdel; {Процедура створення підрозділів}
end;
procedure Poisk;
var punkt: integer; {Мінлива введення обраного критерію пошуку}
NSP: string; {Мінлива умови пошуку}
fol: integer; {Мінлива лічильник}
begin
clrscr;
fol: = 0; {Лічильник вказує кількість знайдених позицій}
GoToXY (10,2); Textcolor (10); Writeln ('Виберете критерії пошуку');
{GoToXY (10,3); Writeln ('і натисніть Enter');}
Textcolor (11); GoToXY (12,6); Writeln ('1: Назва ');
GoToXY (12,8); Writeln ('2: Серія ');
GoToXY (12,10); Writeln ('3: Виробник ');
GoToXY (12,12); Writeln ('4: Скасування ');
repeat
ch: = readkey;
if (ord (ch) = 49) or (ord (ch) = 50) or (ord (ch) = 51) then
begin
{GoToXY (12,14); readln (punkt);}
GoToXY (12,14); writeln ('Введіть умова і натисніть Enter');
GoToXY (12,16); readln (nsp);
assign (f, 'e: prog bd.dat');
reset (f);
while (not Eof (f)) do {Зчитує черговий товар}
begin
readln (f, Baza.FKod);
readln (f, Baza.FRazdel);
readln (f, Baza.FPodRazdel);
readln (f, Baza.FName);
readln (f, Baza.FSeria),
readln (f, Baza.FProizvod);
readln (f, Baza.FOpisan);
readln (f, Baza.FMany),
readln (f, Baza.FSim);
If (Baza.FName = NSP) or (Baza.FSeria = Nsp) or (Baza.FProizvod = Nsp) then
begin
clrscr;
Tablo;
f1: = 7; f2: = 7; f3: = 7; f4: = 7; f8: = 7; pu: = 7; pd: = 11; f10: = 7; {Кольори нижніх кнопок} p>
Text1: = "Рухайтеся кнопкою ';
Text2: = 'PageDown'; {Підказка}
Text3: = 'Для виходу натисніть';
Text4: = 'ESC';
Shapka;
fol: = fol +1;
repeat
ch: = readkey;
until (ord (ch) = 81) or (ord (ch) = 27);
f1: = 11; f2: = 7; f3: = 11; f4: = 7; f8: = 7; pu: = 7; pd: = 11; f10: = 11; {Кольори нижніх кнопок} p>
if ord (ch) = 27 then break;
end;
end;
close (f);
clrscr;
GoToXY (15,12); Textcolor (4);
if fol> 0 then writeln ('Більше збігів немає, для продовження роботи натисніть введення ')
else writeln ('Cовпаденій немає, для продовження роботи натисніть введення ');
readln;
break;
end;
until ord (ch) = 52;
clrscr;
Text1: = 'Рухайтеся курсором';
Text2: = 'до потрібного розділу'; {Підказка}
Text3: = 'і натисніть ВВЕДЕННЯ';
Text4: = 'Для повернення <-';
Shapka;
podRazdel;
end;
procedure help;
var k: string;
n: integer;
begin
clrscr;
n: = 0;
assign (f, 'e: prog help.dat');
reset (f);
while not Eof (f) do {Зчитує черговий товар}
begin
if (n = 24) or (n = 48) or (n = 72) or (n = 96) or (n = 120) or (n = 120) then readln; {ch: = readkey;}
readln (f, k);
writeln (k);
n: = n +1;
end;
readln;
close (f);
clrscr;
Shapka;
podRazdel;
end;
procedure perem; {Процедура переміщує елементи меню}
begin
{Масив квітів. Перший білий решта зелені}
men [1]: = 15; men [2]: = 2; men [3]: = 2; men [4]: ​​= 2; men [5]: = 2; men [6]: = 2; men [7]: = 2; p>
men [8]: = 2; men [9]: = 2; men [10]: = 2; men [11]: = 2; men [12]: = 2; men [13]: = 2 ; men [14]: = 2; men [15]: = 2;
repeat
podRazdel; {Процедура виведення підрозділів}
strok: = 1; {Поточний рядок}
GoToXY (79,1),
ch: = readkey; {Просить ввести курсором напрямку руху}
if (ord (ch) = 80) then {Якщо униз тоді поточний стає білим,
а нижній стає зеленим}
begin
for i: = 1 to nabor do
begin
if (men [i] = 15) and (strok <> nabor) then
begin
men [strok]: = 2;
men [strok +1]: = 15;
end
else strok: = strok +1;
end;
end;
if ord (ch) = 72 then {Якщо вгору, то поточний білим, а верхній зеленим}
begin
for i: = 1 to nabor do
begin
if (men [i] = 15) and (strok <> 1) then
begin
men [strok]: = 2;
men [strok-1]: = 15;
end
else strok: = strok +1;
end;
end;
if ord (ch) = 59 then Help; {Якщо натиснута клавіша F1}
if ord (ch) = 61 then Poisk; {Якщо натиснута клавіша F3}
{До ...