диницю і додає новий код
в файл кодів}
begin
clrscr;
assign (f2, 'e: prog kod.dat');
reset (f2);
while not Eof (f2) do readln (f2, Kod);
close (f2);
Baza.FKod: = Kod +1;
append (f2);
write (f2,'');
writeln (f2, Baza.FKod);
close (f2);
assign (f3, 'e: prog bd.dat');
{Записує в БД інформацію про новий товар}
append (f3);
writeln (f3, Baza.FKod);
writeln (f3, Baza.FRazdel);
writeln (f3, Baza.FPodRazdel);
writeln (f3, Baza.FName);
writeln (f3, Baza.FSeria);
writeln (f3, Baza.FProizvod);
writeln (f3, Baza.FOpisan),
writeln (f3, Baza.FMany);
writeln (f3, '*');
close (f3),
GoToXY (18,12); writeln ('Запис збережено для продовження натисніть введення ');
readln;
end;
clrscr;
shapka;
podRazdel;
GoToXY (27,21); Textcolor (21); writeln ('Для продовження роботи натисніть ESC ');
end;
procedure vivod; {Основна процедура виведення}
{Загальний принцип: На екрані з'являється перший елемент обраного розділу і підрозділу
Далі користувач за допомогою кнопок PageUp PageDown переміщається по всім товарам}
var hod: integer; {Лічильник ходв}
begin
schet; {Вважати загальна кількість позицій}
f1: = 7; f2: = 11; f3: = 7; f4: = 11; f8: = 11; pu: = 11; pd: = 11; f10: = 7; {Змінні кольору нижніх кнопок}
Text1: = 'Рухайтеся кнопками';
Text2: = 'PageDown, PageUp'; {Підказки}
Text3: = 'Для виходу натисніть';
Text4: = 'ESC';
RP; {Виводиться перший товар}
hod: = 1; {Зроблено перший хід}
writeSpisok; {Вивести на екран товар відповідний коду товару з списку}
repeat
ch: = readkey;
if (ord (ch) = 81) and (ScetRP <> 0) then {Якщо натиснута PageDown}
begin
if ScetRP <> hod then
begin
hod: = hod +1;
PoiskFPR; {Зчитується весь файл і перевіряється відповідність кожного товару
розділу та підрозділу і перевіряє чи входить код товару до списку
якщо входить то шукає далі якщо ні то ...}
addspisok; {Якщо ні то додає до списку}
writeSpisok; {Виводить товар відповідний коду товару з списку}
end;
end;
if (ord (ch) = 73) and (ScetRP <> 0) then {Якщо натиснута PageUp}
begin
if hod <> 1 then
begin
hod: = hod-1;
DelSpisok; {Видаляє останній елемент списку}
writeSpisok; {Виводить вже інший останній елемент}
end;
end;
if ord (ch) = 60 then NewTovar; {Якщо натиснута F2 то до цього розділу і підрозділ ввести новий товар}
if (ord (ch) = 66) and (ScetRP <> 0) then Del; {Якщо натиснута клавіша F8, то процедура видалення товару}
if (ord (ch) = 62) and (ScetRP <> 0) then PrintF; {Якщо натиснута клавіша F4, то процедура створення звіту}
until ord (ch) = 27;
end;
procedure Vhod; {Процедура обробки події після натискання клавіші введення}
begin
Lom: = 1;
if ord (ch) = 13 then {Якщо натиснуто введення}
begin
for i: = 1 to nabor do
begin
if (men [i] = 15) then {Якщо поточний колір білий то ... } p> begin
if razdel = 1 then {Якщо відкритий підрозділ ...}
begin
podrazd: = Lom; {Присвоїти підрозділу його порядковий номер}
vivod; {Виведення на екран}
kolvo: = 0;
end;
if (Lom = 1) and (razdel = 0) then
begin
rozd: = '1 '; {Номер розділу}
MRazdel: = 1; {Номер підрозділу}
razdel: = 1; {Показує що відкрито підрозділ, а не розділ}
end; {Далі аналогічно}
if (Lom = 2) and (razdel = 0) then begin rozd: = '2 '; MRazdel: = 2; razdel: = 1; end;
if (Lom = 3) and (razdel = 0) then begin rozd: = '3 '; MRazdel: = 3; razdel: = 1; end;
if (Lom = 4) and (razdel = 0) then begin rozd: = '4 '; MRazdel: = 4; razdel: = 1; end;
if (Lom = 5) and (razdel = 0) then begin rozd: = '5 '; MRazdel: = 5; razdel: = 1; end;
if (Lom = 6) and (razdel = 0) then begin rozd: = '6 '; MRazdel: = 6, razdel: = +1; end;
if (Lom = 7) and (razdel = 0) then begin rozd: = '7 '; MRazdel: = 7; razdel: = +1; end;
if (Lom = 8) and (razdel = 0) then begin rozd: = '8 '; MRazdel: = 8; razdel: = 1; end;
if (Lom = 9) and (razdel = 0) then begin rozd: = '9 '; MRazdel: = 9; razdel: = 1; end;
end;
Lom: = Lom +1;
end;
end;
if ord (ch) = 8 then {Якщо натиснута <- то повернуться назад}
be...