[19]; {Коментарі}
f: text; {Файлова змінна}
f1, f2, f3, f4, f8, pd, pu, f10: integer; {Кольори пунктів внизу екрана}
Prin: boolean; {логічна змінна для друк поточної позиції}
Baza: record {Змінні для роботи з файлами}
Fsim: string; {Символ-роздільник}
FKod: integer; {Код товару}
FRazdel: integer; {Розділ}
FPodRazdel: integer; {Підрозділ}
FName: String; {Назва}
FSeria: string; {Серія}
FProizvod: string; {Виробник}
FOpisan: string; {Опис товару}
FMany: string; {Ціна}
end;
procedure shapka; {Виводить розмітку на екран, а саме горизонтальні і
вертикальні лінії і кнопки управління внизу екрану,
а так же заголовок розділу і підрозділу}
var MainName: string; {Назва підрозділу}
begin
GoToXY (30,1), Textcolor (14),
GoToXY (1,2); Textcolor (11); For i: = 1 to 80 do write ('-');
for i: = 3 to 21 do
begin
GoToXY (20, i); Textcolor (11); writeln ('|');
end;
GoToXY (1,22); For i: = 1 to 80 do write ('-');
GoToXY (1,23); Textcolor (F1); writeln ('Допомога F1 |');
GoToXY (11,23); Textcolor (F2); writeln ('Новий F2 |');
GoToXY (20,23); Textcolor (f3); writeln ('Пошук F3 |');
GoToXY (29,23); Textcolor (f4); writeln ('Звіт F4 |');
GoToXY (38,23); Textcolor (f8); writeln ('Видалити F8 |');
GoToXY (49,23); Textcolor (pu); writeln ('Назад PUp |');
GoToXY (59,23); Textcolor (pd); writeln ('Далі PDown |');
GoToXY (71,23); Textcolor (f10); writeln ('Вихід F10');
GoToXY (1,24); For i: = 1 to 80 do write ('-');
GoToXY (1,17); Textcolor (11); writeln ('-------------------');
if rozd = '0 'Then MainName: =' парфумерних магазинів ';
if rozd = '1 'Then MainName: =' ДОГЛЯД ЗА ОБЛИЧЧЯМ ';
if rozd = '2 'Then MainName: =' ДОГЛЯД ЗА ШКІРОЮ ';
if rozd = '3 'Then MainName: =' ДИТЯЧІ ТОВАРИ ';
if rozd = '4 'Then MainName: =' МАНІКЮР ';
if rozd = '5 'Then MainName: =' ПАРФУМИ ';
if rozd = '6 'Then MainName: =' ДОГЛЯД ЗА ТІЛОМ ';
if rozd = '7 'Then MainName: =' ТОВАРИ ДЛЯ ЧОЛОВІКІВ ';
if rozd = '8 'Then MainName: =' ДОГЛЯД ЗА ВОЛОССЯМ ';
if rozd = '9 'Then MainName: =' ІНШІ ТОВАРИ ';
GoToXY (30,1); Textcolor (13); writeln (MainName);
GoToXY (1,18); Textcolor (12); writeln (Text1);
GoToXY (1,19); Textcolor (12); writeln (Text2);
GoToXY (1,20), Textcolor (12); writeln (Text3),
GoToXY (1,21); Textcolor (12); writeln (Text4);
end;
procedure podRazdel; {Зчитує з файлу розділи і підрозділи в
залежності від обраного і виводить на екран}
var PodRaz: array [1 .. 16] of string; {Масив розділів і під розділів}
z: integer; {Рядок з якої починається висновок пунктів меню}
f: text; {Файлова змінна}
d: string; {Мінлива якої привласнюється чергове лічену значення з файлу}
begin
assign (f, 'e: prog razdel.dat'); {Файл який містить розділи і підрозділи}
reset (f);
nabor: = 0;
while not Eof (f) do
{До тих пір поки не кінець файлу робити
якщо чергова рядок файлу відповідає вибраному розділу то
записати її в масив}
begin
Readln (f, d);
if d = rozd then
begin
nabor: = nabor +1;
Readln (f, d);
PodRaz [nabor]: = d;
end
else Readln (f, d),
end;
close (f);
{Виведення на екран пунктів і підпунктів меню з масиву, зафарбованих квітами
з масиву квітів}
z: = 3;
for i: = 1 to nabor do
begin
Textcolor (men [i]);
GoToXY (2, z);
writeln (PodRaz [i]);
z: = z +1
end;
end;
procedure ADDSpisok; {Додає в динамічний список код товару, для
подальшого переміщення}
begin
new (tek); {створюємо новий елемент}
tek ^. nomer: = Baza.FKod; {записуємо дане}
tek ^. next: = nach; {встановлюємо покажчики}
nach: = tek; {для підтримки цілісності списку}
kolvo: = kolvo +1; {Збільшуємо кількість доданих елементів}
end;
procedure Tablo;
{Процедура виводить позиції товарів на екран}
var opis1, opis2, opis3: string; {Розбиває рядок на три частини т.к. НЕ влазить}
begin
GoToXY (22,3); Textcolor (10); writeln ('Kод товару');
GoToXY (33,3); Textcolor (11); writeln (Baza.FKo...