Baza.FProizvod);
readln (f, Baza.FOpisan);
readln (f, Baza.FMany);
readln (f, Baza.FSim);
If ((Baza.FRazdel = MRazdel) and (Baza.FPodRazdel = Podrazd)) then
begin {Якщо черговий товар у бд відповідає розділу і
підрозділу тоді перевіряється чи є черговий код товару
в списку, якщо є то шукає в бд наступний товар, якщо
ні то додає до списку}
zed: = 0;
Good: = false;
d: = nil;
tek: = nach;
while (tek <> NIL) or (Good = false) do
begin
if tek ^. nomer = Baza.FKod then Good: = true;
d: = tek;
tek: = tek ^. next;
zed: = zed +1;
if zed = kolvo then break;
end;
if Good <> true then
begin
nal: = true;
break;
end;
end;
end;
close (f);
end;
procedure schet; {Процедура виводить кількість позицій у вибраному розділі
та підрозділі}
{var f: text; {}
begin
ScetRP: = 0;
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.FRazdel = MRazdel) and (Baza.FPodRazdel = Podrazd) then
ScetRP: = ScetRP +1;
end;
close (f);
end;
Procedure Del; {Процедура видалення товару}
var FDel: text; {Тимчасовий файл для не видалених товарів}
begin
GoToXY (27,21); Textcolor (21);
writeln ('Ви дійсно хочете видалити файл Y/N');
ch: = readkey;
if (ord (ch) = 121) or (ord (ch) = 173) then
begin
assign (f, 'e: prog bd.dat');
assign (fDel, 'e: prog bdvr.dat');
reset (f);
rewrite (fdel);
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.FKod <> tek ^. nomer then {Якщо поточна позиція в списку не
одно поточним кодом товару то всі позиції товару переносяться
в тимчасовий файл bddvr}
begin
writeln (fdel, Baza.FKod);
writeln (fdel, Baza.FRazdel);
writeln (fdel, Baza.FPodrazdel);
writeln (fdel, Baza.FName);
writeln (fdel, Baza.FSeria);
writeln (fdel, Baza.FProizvod),
writeln (fdel, Baza.FOpisan),
writeln (fdel, Baza.FMany);
writeln (fdel, Baza.FSim);
end
end;
close (f);
close (fDel);
reset (fDel);
rewrite (f);
while not Eof (fDel) do {Після перенесення в тимчасовий файл, але вже без
віддаленого елемента відбувається перезапис файлу бд із тимчасового}
begin
readln (fDel, Baza.FKod); writeln (f, Baza.FKod);
readln (fDel, Baza.FRazdel); writeln (f, Baza.FRazdel);
readln (fDel, Baza.FPodRazdel); writeln (f, Baza.FPodrazdel);
readln (fDel, Baza.FName); writeln (f, Baza.FName);
readln (fDel, Baza.FSeria); writeln (f, Baza.FSeria);
readln (fDel, Baza.FProizvod); writeln (f, Baza.FProizvod),
readln (fDel, Baza.FOpisan); writeln (f, Baza.FOpisan);
readln (fDel, Baza.FMany); writeln (f, Baza.FMany);
readln (fDel, Baza.FSim), writeln (f, Baza.FSim),
end;
close (fdel);
close (f);
GoToXY (27,21); Textcolor (21); writeln ('Запис видалено для продовження роботи натисніть ESC ');
end;
if ord (ch) = 110 then begin
GoToXY (27,21); Textcolor (21); writeln ('Вилучення скасовано для продовження роботи натисніть ESC ');
end;
end;
Procedure PrintF; {Процедура Друк у файл}
var fname1, fname2, fname3: string; {Змінні вказують шлях до файлу}
fotchet: text; {мінлива файлу звіту}
begin
clrscr;
GoToXY (10,10); Textcolor (11); writeln ('Для друку всіх позицій поточного підрозділу натисніть F3 ');
GoToXY (10,12); writeln ('Для друку поточної позицій натисніть F5');
GoToXY (+10,14); writeln ('Для виходу натисніть Backspace');
repeat
ch: = readkey;
if (ord (ch) = 61) or (ord (ch) = 63) then {Вводиться ім'я майбутнього
файлу і створюється шапка у файлі звіту} ...